SharePoint - Azure Platform


Advertisements

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.

Cloud Computing

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 −

  • Infrastructure as a Service (IAAS)
  • Platform as a Service (PAAS)
  • Software as a Service (SAAS)

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.

Azure Platform Overview

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.

Data Layer

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.

Non-relational Feature

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

Relational Feature

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)

Services Layer

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 −

  • Creating websites

  • 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

Integration Layer

The Integration layer contains some fundamental services such as −

  • Geo-replicated content delivery network (CDN)

  • Traffic Manager

  • 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.

Azure Apps

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 −

  • Visual Studio latest
  • Microsoft Azure subscription
  • Microsoft Azure subscription

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.

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.

Host in Cloud

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.

Web App name

Step 4 − Enter the desired information as shown below. Select Create new server from the Database server dropdown list.

Create New Server

Step 5 − You will see the additional field. Enter the Database server, username and password and click Ok.

Database Server

Once the project is created, run you application and you will see that it is running on localhost.

Running on Localhost

Step 6 − To deploy these applications to Azure, right-click on the project in solution explorer and select Publish.

Select Publish

Step 7 − You will see the following dialog box. Click the Microsoft Azure Web Apps.

Microsoft Azure Web Apps

Step 8 − Select your application name from the Existing Web Apps and click OK.

Existing Web Apps

Step 9 − Click the Validate Connection button to check for the connection on Azure.

Validate Connection

Step 10 − Click Next to continue.

Click Next

Now you will see that the connection string is generated for you already, by default.

Connection String

Step 11 − Click Next to continue.

Publish Web

Step 12 − To check all the files and dlls, which we will be publishing to Azure, click Start Preview.

Start Preview

Step 13 − Click Publish to publish your application.

Publish

Once the application is successfully published to Azure, you will see the message in output window.

Message

You will also see that your application is now running from the cloud.

Application Running from Cloud

Now let us go to the Azure portal again and you will see the app here as well.

Azure Portal

SharePoint Apps and Microsoft Azure

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.

Advertisements