Chapter 2. 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...
Microservices need to be updated, scaled, and managed, both individually and as a cohesive unit. The PaaS environment that supports Microservices development should have the following features.
Abstract infrastructure challenges
A Microservices development platform should not allow Quality of Service (QoS) challenges such as network latency, messaging formats, scalability, availability, and reliability to propagate to the application.
Scaling is a key enabler of the cloud platform. Scaling can be performed either by migrating the application to a host with higher compute capacity, also known as scaling up, or by adding more hosts with the same compute capacity to the pool of resources that the application gets deployed on, also known as scaling out. Although scaling up is limited to the maximum size of the available virtual machines, scaling out is virtually unlimited on cloud.
To scale out an application, the workload can either be distributed evenly among all instances...
Microsoft Azure – the choice of a hosting platform
Microsoft Azure is an Internet-scale cloud platform hosted in data centers, managed and supported by Microsoft. It has been available for public consumption since early 2010. Having grown very rapidly, Azure today provides services on all cloud stacks such as IaaS, PaaS, and SaaS, covering a wide range of offerings around computing, storage, networking, mobile, analytics, and many more.
Choosing a hosting service for your application is an important task. The choice is usually based on factors such as the hardware and software requirements of the application, the required control over the hosting environment, operational cost, options to scale, and supported deployment methods. The hosting services offered by Azure range from fully controllable virtual machines to the capability to host serverless code.
The support for popular enterprise-ready platforms and applications such as Windows Server, Linux, SQL Server, Oracle, IBM, and SAP, makes...
In this chapter, we discussed the challenges that an ideal platform for hosting Microservices should address. We then briefly discussed Microservices application lifecycle management and ways to simplify development of Microservices.
In the last section, we compared different Microsoft Azure cloud stacks capable of hosting Microservices.
In the next chapter, we will dive deeper into Microsoft Azure Service Fabric as a platform for hosting enterprise-grade Microservices.