Microsoft Azure Platform and Services Primer

Organizations today need to be agile and have a fast way to differentiate themselves from the competition. Many organizations that only relied on software to fulfill their support needs are now embracing it to drive their core competency. Satya Nadella, CEO Microsoft, quoted this phenomenon in his speech at the Convergence Conference:

Every business will be a software business
                       – Satya Nadella, March 2015, Convergence Conference, USA

With the advent of software to the core business of organizations, the organizations have started demanding more agility and features out of the application hosting platforms. Organizations today have strict requirements of agility, availability, and DevOps. Since such requirements do not get sufficiently met by monolithic architecture and traditional means of deployment and management, organizations are moving to reliable and scalable cloud applications.

Developer time is a scarce resource for any organization. Every organization strives to reduce the development overheads, such as provisioning of resources and maintenance of infrastructure, by implementing DevOps practices. High agility and low turnaround time can be achieved by using as many platform services as possible in a solution. Modern developers compose solutions by integrating robust services rather than solving harder problems such as scale, failover, and upgrades to deliver solutions in short period of time, which otherwise would've taken a lot of time and resources to build.

There are considerations that need to be made while opting for the right cloud services model for building your applications, namely Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). They both vary with respect to the level of flexibility that you will have and amount of responsibility that you would need to fulfill. Microsoft Azure fills the sweet spot between the two models through Microsoft Azure Service Fabric and Microsoft Azure Cloud Services which enable the developers to deliver highly flexible services without worrying about the underlying infrastructure.

Microsoft Azure offers cloud services as a PaaS offering to support cloud services that are scalable and reliable. Using cloud services, you can host your applications on virtual machines, albeit with higher degree of control than App Services. For example, you can install your own software on a cloud services VM and remote into the machines. However, cloud services are on the verge of becoming obsolete and it is recommended that you use App Services to build your applications. Therefore, we will not cover in detail or recommend using cloud services for your Microservices development.

Following is the image for Microsoft hosting service stack:

Microsoft hosting service stack

A typical Microservices-based system encounters challenges related to loose coupling, separation of concerns, and inter-service communication, and therefore adding the burden of infrastructure would make it very hard to implement. Applications that require Microservices architecture should choose a Platform as a Service (PaaS) model of development, to really reap the benefits of the architecture.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset