Introduction to Microsoft Azure

Introduction

 
This article describes cloud computing in the context of Microsoft Azure and explains its various services and types of solutions that this platform makes possible. We've drafted this article especially for those laymen readers not yet familiar with cloud computing and its operating system Windows Azure. This article explores the following content in particular:
 
Contents
  • Cloud Computing
  • Cloud Computing Architecture
  • Microsoft Azure
  • Threats
    • Compute
    • Storage
    • Fabric Controller
    • CDN
    • Connect
  • Azure SQL
    • Database
    • Reporting
    • Synchronization
  • Azure AppFabric
    • Service Bus
    • Access Control
    • Caching
  • Marketplace
    • App Market
    • Data Market
  • Azure Development Life Cycle 

Abstract

 
The software industry is relentlessly moving towards centralized computing. Due to this trend, software and data are being taken away from conventional computers and positioned in public or private clouds instead.  Azure is a Microsoft cloud computing platform where developers leverage its scalable, powerful, and fault-tolerant infrastructure to shape successful applications. This article provides an organized walkthrough of the Azure platform and its related technologies. The content discusses released components and theory with simple but effective procedures. You can use this article to jump-start your learning about the Azure platform and as a basis for your own explorations. The sole intention of this article is to shed light on the architecture of cloud computing, especially in the context of Microsoft's Azure platform. Additionally, it examines how the Azure platform works in the cloud milieu and explores the hidden benefits of the Azure platform.
 

Cloud Computing

 
Accessing remote computer resources via TCP/IP over the public internet is called “cloud computing”, where resources are provided “as a service” over the network to users. Cloud computing is a prolific and emerging technology in which the data services and architecture are located somewhere in a “cloud” and the user doesn't care about whether he has a computer, laptop, tablet, or mobile phone to access specific services. In fact, in simple terms, a common browser is sufficient to enter into the cloud world. Moreover, cloud services can interoperate with other programming platforms such as Java. The cloud services can be deployed by electing a predefined model that allows a service provider to leverage a common shared infrastructure across a number of enterprises. The cloud deployment models that are typically organized as a Public Cloud, Private Cloud, Hybrid Cloud, and Community Cloud. The following section briefly examines the advantages of cloud computing:
  • Cloud applications can quickly provision to scale in or out as the need arises because every resource, storage, and networking components are pooled over the cloud internet.
  • Cloud computing assists in an increase in the presence of your applications on a global scale around the world.
  • Cloud-based applications can be faster to deploy overproduction environment rather than a typical enterprise environment, where developers test their applications in a partially simulated environment before final deployment.
  • By provisioning storage resources from a cloud hosting provider instead, enterprises can significantly reduce their storage acquisition and maintenance costs.
  • Finally, any kind of resource stored in a cloud can be accessed from a simple device anytime, even a portable that has an internet connection and a browser.

Cloud Computing Architecture

 
Cloud computing is a natural evolution of the widespread adoption of service-oriented architecture, virtualization, and utility computing. There are three pillars of cloud computing on which its architecture is described. The Cloud computing service models can be further divided into the categories: Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS).
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/Cloud%20Computing%20Architecture.jpg
 

SaaS

 
Software as a Service (SaaS) vendors assists in making custom applications that are hosted in the cloud and can be consumed by the end-users. In other words, we can lease a service offered by the vendor and then configure the service using the interface provided by the vendor, without having to know what infrastructure the vendor uses to provide that service. SaaS vendors include Microsoft Dynamics CRM Online, Salesforce.com and Exchange Server.
 

IaaS

 
Infrastructure as a Service (IaaS) vendors provide virtualized computing and storage resources in the cloud as a service. In this approach, we lease the hardware such as servers, firewalls, balancers, and cables. Moving forward, configure these devices remotely and install your solutions on them. Here, we can scale up or down at any time by reconfiguring the infrastructure that we rented from the provider. IaaS vendor category includes Amazon, VMware, and Citrix.
 

PaaS

 
Platform as a Service (PaaS) vendors offers an end-to-end cloud computing platform for application design, development, testing, deployment, and hosting. In this approach, we lease a platform on which we deploy our software without configuring the infrastructure and without the limitations of the SaaS approach. PaaS vendor's category includes Microsoft Azure and Google.
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/PaaS.jpg
 
Although cloud computing is composed of certain other components applicable in specific conditions, in fact, these are the sub-parts of proceeding to defined components as indicated in the previous figure. However, cloud architecture usually comprises three distinct elements.
 

FaaS

 
File as a Service (FaaS), often referred to as Daas (Data storage as a service) allows a user to store their data over the cloud and retrieve them over the internet as various MIME types. The FaaS category includes Dropbox, Google Drive, Microsoft live SkyDrive, and so on.
 

CaaS

 
Communication as a Service (CaaS) is a part of IaaS and performs entire essential communication-related activities, for example, data communication encryption, network monitoring, guarantee message delivery, path reliability, and configuration.
 

MaaS

 
Monitoring as a Service (MaaS) contains certain network auditing capabilities to accurately monitor the traffic activity. It notifies the user of a cloud about slowdowns and glitches in the network.
 

Microsoft Azure

 
Microsoft Azure is a cloud platform or operating system that enables the running of your business applications, services, and workloads in the cloud. It has the same function as a traditional operating system on any hardware platform and allows applications to run in a virtual environment by providing them indispensable physical hardware components and a set of services. Microsoft designed Azure to enable .NET professionals to empower their capability to develop ASP.NET websites, XML, and WCF web services.
 
Microsoft Azure offers a distributed operating system where we can build, test, and deploy applications without caring about the classic front-end interface. For instance, we don't need to rely on the typical IIS console to configure sites, virtual directories, or application pools. Moreover, you are neither concerned about the choice of hardware, disk server, location of disk space rental, nor the computer names. With PaaS, you can forget about storage area, disks, and load balancer configurations while storing data in the cloud. The standard protocols such as REST and HTTP are associated with the interactions with this kind of storage. The so-called operating system “Azure” endorses web standards and protocols including HTTP, SOAP, and XML. Microsoft Azure is rapidly expanding the collection of data centers, and in fact, competes directly with the Google apps engine and Amazon Web Services and offers several benefits such as: 
  • The Azure platform offers a reduction of the cost of IT management, efforts, and risk of building on-premises resources.
  • Users can develop, alter, test, and deploy applications over the web with a minimum of available resources.
  • Also, users can create, debug, test, and distribute web services swiftly.
  • Azure carries out expensive services off-premises including large data processing, high volume computation, and batch processing.
  • In Azure, there is no need to purchase or configure a security solution and is redundant to install and configure a database cluster.
Note: The Microsoft Azure platform best fits the PaaS vendor category, because it doesn't stipulate access to the operating system or underlying virtualization environment specifications.
 

Microsoft Azure Platform

 
The Microsoft Azure Platform lays the foundation for running applications and keeping data on the cloud. It contains computer services, storage services, and fabric. Microsoft Azure affords a wide range of capabilities in the form of computing services to run applications, storage services, and creating a framework that supports several applications, as well as host services and manage them centrally. This platform readily stipulates an internet infrastructure for deploying distributed applications and services since we can develop a cloud service in Visual Studio .NET and deploy it into the Azure cloud right from on-premise tools. An Azure platform is a group of three cloud technologies, as shown in the following:
 

Microsoft Azure

 
Microsoft Azure provides a kind virtual Windows runtime for executing applications and storing data on computers in Microsoft data centers that include computational services, basic storage, queues, web servers, management services, and load-balancers. Moreover, it also offers a local development fabric for building and testing services before they are deployed to Microsoft Azure in the cloud. Applications written for Microsoft Azure can scale better, be more reliable, and require less administration than those written using the traditional Windows programming model. In fact, running applications and storing data in the cloud can have distinct benefits. Developers can be freed from the hassle of purchasing, installing, configuring, and operating their own systems. Moreover, users just pay for the computing and storage they are consuming, instead of maintaining an enormous set of servers.
 

AppFabric (.NET Services)

 
AppFabric is the backbone of the Microsoft Azure platform, it is Cloud-based infrastructure services for applications running in the cloud, and allows for the creation of combined access control and distributed messaging across clouds and enterprises. The goal of the Fabric is to put together the massive distributed processing power in a unified manner. Developers can build WCF-like services in Visual Studio .NET and publish endpoints to the cloud from within the Visual Studio .NET design environment. AppFabric is the middleware component that consists of services like Access Control, workflow service, and Service-Bus. The following figure illustrates the two core services of AppFabric.
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/AppFabric.jpg
 

Azure SQL

 
Azure SQL offers the core RDBMS competencies as a service in the cloud environment. Developers can access Azure SQL  using a tabular data stream that is the typical way to access on-premise SQL Server instances using SQL clients like ADO.NET, ADO.NET Entity Framework, LINQ, ODBC, or JDBC. Developers can create tables, indexes, and views, use Stored Procedures, and define triggers alike with SQL Server. Application software can access Azure SQL  data using Entity Framework, ADO.NET, and other Windows data access interfaces. Moreover, the significant benefits for Azure SQL is that the management requirements are significantly reduced because they need not worry about other operations, such as monitoring disk usage and servicing log files. Now, an Azure SQL customer can focus on their data instead of redundant administrative mechanics.
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/SQL%20Azure.jpg
 

Cloud computing threats

 
Microsoft Azure offers developers on-demand computing and storage to the host, scales, and manages web applications on the cloud using Microsoft datacenters. Everything is managed so easily in the cloud; we don't need any hardware, software, and configuration at all. However, the sole concern is data or resource security that is a non-negotiable obligation for a cloud service. Business or sensitive data stored in the cloud needs to be encrypted not only during storage but also in transport. Hence, it is mandatory to implement proper access control mechanisms to prohibit unauthorized access to the data and applications because critical data is one step away from getting in malicious hands. Secure channels across application domains in the cloud should be constructed into the cloud service infrastructure. If the environment and applications are not properly secured then any cloud platform could be compromised. However, IT architects are repeatedly concerned about the risks of cloud computing.  
 

Threats

 
Microsoft has been in the virtual cloud scene since 2008 by introducing its consumer cloud services like Hotmail, MSN, and Xbox Live. Further, Microsoft has also announced a suite of cloud-based business productivity and collaboration applications called Microsoft Online services that include applications like SharePoint Online, Exchange Hosted Services, CRM, and Conferencing Services. 
 
Microsoft Azure is the operating the system in the cloud and forms the core platform for all the other Azure Services. In simple terms, it is a compendium of building blocks for cloud services and consists of several geographically detached data centers for delivering geo-located services and is recommended in the platform enterprise services, middleware, and consumer services groups to create an end-to-end cloud service.
 
 

Microsoft Azure System Components

 
The Microsoft Azure operating system offers an identical involvement since it enables developers and users to use prevailing Microsoft technologies such as .NET, SQL Server, WCF, and many more to develop applications in the cloud ambiance. In fact, manufacturing applications using the Microsoft Azure platform is not very complex since developers can write familiar .NET code using Visual Studio to build applications that have the capability to run in the cloud.
 

Azure Compute

 
The Azure Compute segment is a Virtual Machine instance created by the platform that offers a runtime the execution environment for managed code (.NET compiled) to host and run scalable solutions in the cloud. The virtual machine instance runs an Azure agent to connect and interact with the Microsoft Azure fabric. Every virtual machine has a local file system that can be utilized by the web/worker role instance during the entire process. Further, Microsoft Azure will also enable support of multiple languages and frameworks, such as Ruby on Rails, Python, and provisions to other applications running on the .NET framework, PHP, Java, Apache Tomcat, and MySQL with native code execution. Microsoft Azure typically endorses the following three kinds of virtual machine roles: 
  • Web Role: It enables the functionality of constructing an ASP.NET web application including MVC with Internet Information Server (IIS).
  • Worker Role: It performs the background process for the web role.
  • VM Role: It runs an image of a Windows Server OS in the virtual machine. Users can, therefore, set up, configure and maintain the OS and use corresponding Windows Services and scheduled tasks in the VM role.
There are four models, Web Sites, Virtual Machines, Cloud Services, and Mobile Services that comprise the computing services portion of the Microsoft Azure platform that is used either separately or in combination to build more complex solutions to meet specific business requirements.
 

Azure Storage

 
Microsoft Azure data storage enables users to store, access, analyze, and protect their data while making it available from anywhere and at any time. Microsoft Azure provides various services from storing data in SQL databases in the cloud to analysis and reporting, to meet the needs of your business. Microsoft Azure ensures data security with a high throughput of application data in the cloud. Microsoft Azure typically offers three types of storage in the cloud atmosphere. 
  • BLOB: BLOBs offer a mechanism for storing large amounts of text or binary data such as images, audio, or visual files. It can scale up to 200 terabytes and can be accessed using REST APIs. We can move BLOB data as a single volume between private and public clouds using Microsoft Azure Drive.
  • Table: Tables represent storage location across machines for data that exist in the form of entities and properties on the cloud. Tables store large amounts of unstructured data that can be accessed either using REST APIs from within a service running in Microsoft Azure or directly over the Internet using HTTP/HTTPS.
  • Queue: A queue's sole objective is to enable communication between Web and Worker Role instances and aids in the storing of messages to be accessed by a client. Web Role instances can initiate user requests that need to be processed in the background. On the other side, a Worker Role monitors the queue to process the request and responds back via a queue to the Web Role instance. 

Fabric Controller

 
The fabric controller manages and controls the Microsoft Azure Fabric and is responsible for automating the load balancing to ensure the required scalability is achieved. The cloud architectures are profoundly centered on the formation of large data centers with a management fabric. In simple terms, it consists of a bank of server hardware and massive storage for storing fully functional operating system images. It also consists of some fixed hardware assets, including switches, routers, load balancers, and DNS servers that manage the workload distribution across multiple service instances.
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/azure3.jpg
 
The management fabric automates the deployment of virtualized operating system images on server hardware and regulates the life cycle of the deployment by allocating and withdrawing hardware and operating system image resources as necessary. Besides, the management fabric provisions the hardware servers deploy an operating system image on those servers and deploy your service to those servers when service deployment to the cloud that is consumed later once deployed on the servers.
 

CDN

 
A Content Delivery Network (CDN) avoids user latency problems by reducing the number of hops the request must make. This service provides a convenient way to minimize latency because it caches data in various geographic locations across the globe. At a site, the Content Delivery Network (CDN) stores replicas of a BLOB that is closer to the clients that use it. BLOBs typically store information such as videos that will be accessed from many locations. Hence, this mechanism speeds up the delivery of repetitively accessed content and improves performance.
 

Azure SQL  

 
Data is the significant attributes of any application within the enterprise. Azure SQL is a technology solution employed in the cloud atmosphere to address the growing size and scale of the data that can address the primary data challenges associated with scalability, availability, security, and manageability, moreover handles other subtle areas of concern in terms of database administration functions including disaster recovery, replication, and backup.
 
Azure SQL is the cloud-based technology solution to deal with relational and other types of data as part of the Microsoft Azure platform. It contains the three primary segments Azure Database, Reporting, and Azure Data Sync services. Broadly, Azure SQL provides the following activities and key benefits: 
  • Azure SQL offers “Server Management studio” that is an integrated environment to configure and access the databases on the cloud.
  • Azure SQL provides similar authentication and authorization framework as that of SQL Server databases in on-premise systems and using firewall security that can be configured using Azure Management Portal.
  • Azure SQL supports overall development, deployment, and provisioning of databases on the cloud.
  • Azure SQL performs basic operations including creating tables, indexes, views, roles, Stored Procedures, triggers and functions, Constraints, and Temp tables.
  • Azure SQL executes complex queries and joins across multiple tables, as well as performs transactions with basic aggregation functions.
  • Azure SQL performs logging and monitoring: Administration capabilities to monitor and track the potential issues associated with the data.
  • Azure SQL has programming capability using the WCF Data Services, ODBC, and PHP data connectivity channels. 

Database

 
As the name implies, an Azure SQL Database provides the core database functions of SQL Server as a cloud service. An application using an Azure SQL Database typically accesses data via a protocol called Tabular Data Stream (TDS) that is also used to access a local SQL Server database. So, an Azure SQL Database application can use any existing SQL Server client including ADO.NET, ODBC, Entity Framework, PHP, and others.
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/azure5.jpg
 

Reporting

 
Azure SQL Reporting is based on SQL Server Reporting Services used to meet the demands of reporting stored data in an Azure SQL Database. Such created reports can be published to an Azure SQL Reporting portal and accessible to a user via a URL. Reports used with Azure SQL Reporting is created on-premises and designed to correlate with data stored in an Azure SQL Database.
 

Synchronization

 
The key feature Azure SQL is to offer anytime and anywhere access to data by means of SOAP and REST interfaces. Furthermore, you can use Azure SQL by creating a storage account in the Microsoft Azure platform account. Hence, Azure Data Sync enables equilibrium between Azure SQL and an on-premise SQL Server that attempts to provide bidirectional data synchronization functionality based on the Microsoft Sync Framework and allows linking an on-premise database to an Azure SQL Database. Each Microsoft Azure platform account can host several Azure SQL storage servers that can include multiple databases that use the Master database by default.
 

Azure AppFabric

 
Azure AppFabric (PaaS) caters to a wide-ranging cloud middleware platform for developing, deploying, and managing applications on the Microsoft Azure Platform. It also enables linking our existing applications to the cloud using secure connectivity across network and geographic boundaries. Developers practice Microsoft Azure AppFabric to connect application pieces together, manage identity and access control, cache remote resources, and create composite applications. Finally, it makes development more productive and simplifies the management and maintenance of the application since it takes advantage of advances in the underlying hardware and software infrastructure.
 

Service Bus

 
Via HTTP and REST protocol, the Service Bus service allows secure connectivity and messaging experiences through which distributed applications can talk together. The Service Bus is, of course, hosted in the cloud atmosphere, so any application can access it that has an Internet connection. You create a new service namespace using the portal itself to start exchanging messages via the Service Bus from any application and platform. The messages that are transmitted by the service bus contain XML, graphics, binary data, text, and streaming data contents, moreover expose classes to various programming environments using REST and HTTP to interact with the Service Bus nodes.
 

Access Control

 
The Access Control mechanism in the cloud is employed to identify and access control to web applications and service resources using REST and the Web Resources Access Protocol (WRAP), when integrating with standards-based identity providers, including enterprise directories such as Active Directory (AD) and other web identities including Windows Live ID and Google. The client sends the request or claims to the public Access Control URL to access a specific remote application resource. Further, the Access Control service checks the input claims against the defined rules produce the output claims and send these claims in a secure token that the client application then sends to the remote application.
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/azure6.jpg
 

Caching

 
Caching is the most effective way to improve performance to frequently accessed data in ASP.NET websites. Some applications repeatedly access the same information, caching, therefore, making this information more readily accessible can make the application faster. In final words, caching provisions in-memory, distributed and highly available application cache service for Microsoft Azure applications.
 
 

Azure Marketplace

 
The Microsoft Azure marketplace contains data and various other application market segments including data and web services from leading commercial data providers and authoritative public data sources. Customers will have access to datasets such as demographic, environmental, financial, retail, weather, and sports. In simple terms, the Azure Marketplace is an online hub for searching, purchasing and exchanging building block components (such as developer tools, administrative tools, components and plugins and service templates that are incorporated by other developers into their Microsoft Azure platform applications), training, service templates, and applications necessary to craft the Azure platform. The Microsoft Azure Marketplace further unfolds in the following two categories: 
  • App Market: It exposes the created applications or service by developers to potential customers so that they can easily choose them to suit their needs.
  • Data Market: Today, many organizations express their readiness to sell many kinds of data, including demographic information, financial information, legal information, and much more. Hence, Data Market offers a chance to expose their offerings to more customers using Microsoft's cloud platform. In simple words, Data Market provides a single place to find, buy, and access a variety of commercial datasets.
A user can enlist or purchase the available data services and application by employing the “Service Explorer” of Microsoft Azure-based application and later, can access that data using REST services requests. The datasets made available by the Data Market can be stored on the Microsoft Azure platform itself using Microsoft Azure Storage or Azure SQL Database.
 
https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/azure8.jpg
 

Azure Development Life Cycle

 
The initial moment for Azure application development to the cloud is the Microsoft Azure Development portal (https://manage.windowsazure.com) which requires a Windows Live ID to be accessed using a remote login utility such as Putty or RDP (mstsc.exe). The typical developer workflow involves the following procedure for creating or deploying an application in the Microsoft Azure Platform. 
  1. Create a Microsoft Azure account and Login using Microsoft Live ID.
  2. Prepare the development fabric to create an application in the local cloud platform.
  3. Test the application in the development fabric.
  4. Package the application for cloud deployment.
  5. Test the application on Microsoft Azure in the cloud.
  6. Deploy the application on the production farm.

https://www.c-sharpcorner.com/UploadFile/ajyadav123/introduction-to-microsoft-azure-part-1/Images/azure9.jpg

 

Conclusion

 
Cloud computing is the next generation of emerging technology, where everything will be located on the cloud. Simply a native device like a Tablet, PC, or mobile phones equipped with an internet connection and a simple browser are sufficient to get a taste of cloud computing. Executing applications in the cloud offers many advantages over the traditional way of running programs, such as faster service deployment and massive savings upfront and easily manage business growth by scaling up or down the computing power and storage. Fortunately, cloud computing makes it possible to eliminate the hassle of maintaining hardware and purchasing costly software, they can now easily undertake Windows apps development over a cloud by accessing essential software like Visual Studio and SQL Server. Hence, this article provides an introduction to cloud computing, starting with the basic idea and moving on to a brief introduction to Microsoft's cloud strategy as implemented by Azure. Moreover, this article has explained the various layers of cloud computing such as SaaS, Iaas and PaaS are the building blocks of cloud architecture. Despite the convenience of accessing resources via the public internet, the security of data over a public cloud is the main point of concern, since leakage of sensitive authentication information such as user name or password could cause mayhem.
 
The objective of this article was to give us a high-level overview of the Microsoft Azure operating system for developing cloud applications. We learned about the various services, including computing, storage, and management in detail, offered by the Microsoft Azure platform and the capabilities of each service. Moreover, we experienced a real-time overview of the Microsoft Azure developer portal for managing Microsoft Azure, Azure SQL, and AppFabric projects
 
 

References