In this chapter, we will be covering the Microsoft Azure Platform. Microsoft Azure is Microsoft’s cloud platform technology, which is in itself a very powerful technology. It is not just a place to deploy your code, but it is a whole set of services exists that you as a developer can use in your SharePoint solution development.
To understand Microsoft Azure, you must first know a bit about the cloud. Cloud computing is all about leveraging the Web as a set of resources for the development and deployment of your solutions. Traditionally, cloud computing has been defined as categories of services. They are −
Each one of these categories is different in the context of development. For instance, you might think −
IAAS as hosted virtual machines (VMs) you manage remotely.
PAAS as where you deploy code, data, binary large objects (BLOBs), web apps, and other application artifacts to a cloud-based environment (such as Windows Server 2012 R2 and IIS).
SAAS as subscription-based services that you can sign up to use, for example, Office 365.
Although these three categories of services dominate the way in which the cloud is characterized, the cloud has four generally accepted pillars −
Pool resources with other cloud users.
Manage your own services and apps through the management portal.
Apps and services can grow and contract with your business needs.
Pay for only what you use in regards to the cloud.
The Microsoft Azure platform is composed of many different services. You can leverage them in your application design, deployment, and management such as Data, Service, and Integration, which is the Client layer in any application that consumes the services within Microsoft Azure.
In Data layer there are number of different types of data storage mechanisms or features that map directly to data storage which contains both non-relational and relational.
The non-relational storage features enable you −
To store assets such as virtual machine images or images or videos in Blobs
Create non-relational tables
Manage message queues along a service bus, and manage data caching in your distributed applications
The relational data features are as follows −
The core Azure SQL Database, which is the cloud version for the on-premises SQL Server
Reporting services (SQL Reporting)
The ability to stream near real-time data streams from data transactions (Stream Insight)
The Services layer contains a number of default services that you can use when building your solutions, ranging from Media Services to core Cloud Services such as −
Worker role classes
Leveraging Hadoop on Microsoft Azure to process Big Data requests
For many of these services, you can use baked-in functionality and a set of APIs within your application. For example, if you want to build a multimedia learning solution, you could leverage the Media Services −
To upload WMVs
Transcode them to MP4s
Save them to BLOB storage
Create a public URL for access and then stream them from Microsoft Azure
The Integration layer contains some fundamental services such as −
Geo-replicated content delivery network (CDN)
Virtual Private Network, which enables you to connect a virtual machine to your on-premises system
Workflow and business process and integration services
All of these capabilities enable you to integrate systems or secure them.
Microsoft Azure is not just about services. Azure is an ever-evolving cloud platform that has a set of tools and SDKs that enable you to get started with the developing of cloud applications quickly.
To start with Microsoft Azure you need the following −
Step 1 − Let us have a look at a simple example in which we will deploy our web application to Microsoft Azure by creating a new ASP.NET MVC application.
Step 2 − Click Ok and you will see the following dialog box. Select MVC template, check Host in the Cloud checkbox and then click OK.
Step 3 − When the Configure Microsoft Azure Web App Settings dialog appears, make sure that you are signed in to Azure. If you are not signed in, then first sign in.
You can see the default name, but you can change the Web App name.
Step 4 − Enter the desired information as shown below. Select Create new server from the Database server dropdown list.
Step 5 − You will see the additional field. Enter the Database server, username and password and click Ok.
Once the project is created, run you application and you will see that it is running on localhost.
Step 6 − To deploy these applications to Azure, right-click on the project in solution explorer and select Publish.
Step 7 − You will see the following dialog box. Click the Microsoft Azure Web Apps.
Step 8 − Select your application name from the Existing Web Apps and click OK.
Step 9 − Click the Validate Connection button to check for the connection on Azure.
Step 10 − Click Next to continue.
Now you will see that the connection string is generated for you already, by default.
Step 11 − Click Next to continue.
Step 12 − To check all the files and dlls, which we will be publishing to Azure, click Start Preview.
Step 13 − Click Publish to publish your application.
Once the application is successfully published to Azure, you will see the message in output window.
You will also see that your application is now running from the cloud.
Now let us go to the Azure portal again and you will see the app here as well.
SharePoint and Microsoft Azure are two sizeable platforms unto themselves. SharePoint is one of Microsoft’s leading server productivity platforms or the collaborative platform for the enterprise and the Web.
Microsoft Azure is Microsoft’s operating system in the cloud. Separately, they have their own strengths, market viability, and developer following.
Together, they provide many powerful benefits. They are −
They help expand how and where you deploy your code and data.
They increase opportunities to take advantage of the Microsoft Azure while at the same time reducing the storage and failover costs of on-premises applications.
They provide you with new business models and offerings that you can take to your customers to increase your own solution offerings.
In SharePoint 2010, Azure and SharePoint were two distinct platforms and technologies, which could be integrated easily enough, but they were not part of the same system. However, in SharePoint 2013 this has changed.
SharePoint 2013 introduces different types of cloud applications. In fact, you can build two types of Azure integrated applications.
The first type of application is Autohosted, and the second is Provider-hosted (sometimes referred to as self-hosted).
The major difference between the two is −
Autohosted applications natively support a set of Azure features such as Web Sites and SQL Database with the SharePoint development and deployment experience.
Provider-hosted applications are meant to integrate with a broader set of web technologies and standards than Autohosted applications, one of which is Microsoft Azure.
Thus, you can take advantage of the entire Microsoft Azure stack when building Providerhosted apps that use Azure.