SOFTWARE BUILDING
Microsoft Azure is an ever-expanding set of cloud services to help your organisation meet your business challenges. It is the freedom to build, manage and deploy applications on a massive, global network using your favorite tools and frameworks.
A hybrid cloud is a computing environment which combines a public cloud and a private cloud by allowing data and applications to be shared between them. When computing and processing demand fluctuates, hybrid cloud computing gives businesses the ability to seamlessly scale their on-premises infrastructure up to the public cloud to handle any overflow – without giving third-party datacenters access to the entirety of their data. Organisations gain the flexibility and computing power of the public cloud for basic and non-sensitive computing tasks, while keeping business-critical applications and data on-premises, safely behind a company firewall.
Using a hybrid cloud not only allows companies to scale computing resources, it also eliminates the need to make massive capital expenditures to handle short-term spikes in demand as well as when the business needs to free up local resources for more sensitive data or applications. Companies will pay only for resources they temporarily use instead of having to purchase, programme and maintain additional resources and equipment which could remain idle over long periods of time. Hybrid cloud computing is a “best of all possible worlds” platform, delivering all the benefits of cloud computing – flexibility, scalability and cost efficiencies – with the lowest possible risk of data exposure.
Architecture of Cloud Computing
The architecture of cloud computing comprises of the following components −
-
Front-end device
-
Back-end platform
-
Cloud-based delivery
-
Network
Front-end Devices − These are basically the devices that are used by clients to access the data or program using the browser or special applications.
Back-end Platform − There are various computers, servers, virtual machines, etc. that combine to become a back-end platform.
Types of Cloud
The storage options on cloud is in 3 forms −
Public Cloud − A service provider makes the clouds available to the general public which is termed as a public cloud. These clouds are accessed through internet by users. These are open to public and their infrastructure is owned and operated by service providers as in case of Google and Microsoft.
Private Cloud − These clouds are dedicated to a particular organization. That particular organization can use the cloud for storing the company’s data, hosting business application, etc. The data stored on private cloud can’t be shared with other organizations. The cloud is managed either by the organization itself or by the third party.
Hybrid Cloud − When two or more clouds are bound together to offer the advantage of both public and private clouds, they are termed as Hybrid Cloud. Organizations can use private clouds for sensitive application, while public clouds for non-sensitive applications. The hybrid clouds provide flexible, scalable and cost-effective solutions to the organizations.
Benefits of Cloud
There are many benefits of clouds. Some of them are listed below.
-
Cloud service offers scalability. Allocation and de-allocation of resources is dynamically as per demand.
-
It saves on cost by reducing capital infrastructure.
-
It allows the user to access the application independent of their location and hardware configuration.
-
It simplifies the network and lets the client access the application without buying license for individual machine.
-
Storing data on clouds is more reliable as it is not lost easily.
Microsoft Azure – Windows
There are many cloud computing platforms offered by different organizations. Windows Azure is one of them, which is provided by Microsoft. Azure can be described as the managed data centers that are used to build, deploy, manage the applications and provide services through a global network. The services provided by Microsoft Azure are PaaS and IaaS. Many programming languages and frameworks are supported by it.
Azure as PaaS (Platform as a Service)
As the name suggests, a platform is provided to clients to develop and deploy software. The clients can focus on the application development rather than having to worry about hardware and infrastructure. It also takes care of most of the operating systems, servers and networking issues.
Pros
-
The overall cost is low as the resources are allocated on demand and servers are automatically updated.
-
It is less vulnerable as servers are automatically updated and being checked for all known security issues. The whole process is not visible to developer and thus does not pose a risk of data breach.
-
Since new versions of development tools are tested by the Azure team, it becomes easy for developers to move on to new tools. This also helps the developers to meet the customer’s demand by quickly adapting to new versions.
Cons
-
There are portability issues with using PaaS. There can be a different environment at Azure, thus the application might have to be adapted accordingly.
Microsoft Azure – Components
Categorizing the services would help you understand Azure better. These categories are termed as ‘Components’ in this tutorial. The Individual components are explained with detailed pictures in subsequent chapters.
Compute / Execution Models
This is the interface for executing the application, which is one of the basic functions of Azure.
As seen in the above image, there are different models such as Web App, Virtual Machine, Mobile Service, Cloud Service, and Batch Service. These models can be used either separately or in combination as per the requirement.
Data Management
Data management can be done by using SQL server Database component or the simple data storage module offered by Windows Azure. SQL server database can be used for relational database. The storage module can store unrelated tables (without foreign key or any relation) and blobs. Blobs include binary data in the form of images, audio, video, and text files.
Networking
Azure traffic manager routes the requests of a user intelligently to an available datacenter. The process involves finding the nearest datacenter to the user who makes the request for web application, and if the nearest datacenter is not available due to various reasons, the traffic manager deviates the request to another datacenter. However, rules are set by the owner of the application as to how a traffic manager should behave.
The virtual network is another feature that is part of networking in services offered by Windows Azure. The virtual network allows a network between local machines at your premise and virtual machine in Azure Datacenter. IPs to virtual machines can be assigned in a way that makes them appear to be residing in your own premise. The virtual network is set up using a Virtual Private Network (VPN) device.
Big Data and Big Compute
The large amount of data can be stored and managed using Windows Azure. Azure offers HDInsight which is Hadoop-based service. Organizations often need to manage large amount of data which is necessarily not relational database management. Hadoop is a prominent technology used these days. Thus, Azure offers Hadoop service on their platform for clients.
The term ‘Big Compute’ refers to high performing computations. This is achieved by executing code on many machines at the same time.
Messaging
Windows Azure offers two options for handling the interactions between two apps. One falls under storage component of the service and is called ‘Message Queues’. The other one comes under the app service and is called ‘Service Bus’. The messages can be sent to initiate communication among different components of an application or among different applications using these two options.
Caching
Microsoft Azure offers two kinds of caching which are in-memory Caching and Content Delivery Network (CDN) for caching frequently accessed data and improves the application performance. CDN is used to cache the blob data that will be accessed faster by users around the world.
Identity and Access
This component is about management of users, authentication and authorization. Active directory stores the information of users accessing the application and also the organization’s information. It can synchronize with the related information on local machines residing on premises. Multifactor Access (MFA) service is built to address the security concerns such as only the right user can access the application.