Understanding Azure Cloud Service Model And Azure Compute Services

Introduction

 
In this article we will understand the Azure cloud service Model and various compute services offered by the Azure Platform.
 
We will also take a deep dive to understand the differences between these services in terms of cost, maintenance and scalability.
 
This will help us to select the right Azure service as per our business need.
 
Before starting with Azure Cloud service model let's try to understand why we would need a cloud service when we already have on premise set up in our organization 
 

Why do we need Cloud Services?

 
Microsoft Azure platform provides all or many of the below features by default or out of the box.
 
Scalablity 
  • Ablity of system to scale by adding or removing resources.
  • Resources could be like any reosuces inculding VM, database storage and more.
Elasticity
  •  Elastcity is the ablity of a system to scale dynamically.
Agility
  • The ablity to react quickly and allocate and dellocate resources in a very short time.
  • In the on premise world requesting resource and allocation might take weeks to months of time depending upon the resource.
  • In the cloud,  resource spin up would happen in minutes and at maxium it would take a few hours for heavy resources.
 Fault Tolerance
  •  Ablity of system to remain up and running during component and service failures 
  •  Major Azure cloud services have built in fault tolerance. 
Disaster recovery
  • Disaster recovery is the ability of a system to recover from an event that has taken down the service
  • Disaster recovery can be easily set by setting replication in differnet regions.
High Availability 
  • Availability is a measure of system uptime . 

Consumption based pricing model in Azure

 
A cloud platform allows for a consumption-based pricing model.
 
Below are the key benefits of this model. 
  • There is no upfront cost.
  • Allocate resources as per your need. 
  • You will start paying only when you would start using the resources.
  • There is no wastage of resources.
  • Resources can be easily dellocated when we dont need them.
  •  Multiple pricing componenets per service based on compute power, networking and storage.
  •  Very granular usage measurement.
 Cost Management service provides easy access to see a consumption based pricing model
 
 
 
Now that we have understood some of the benefits of using a cloud platfrom and how consumption based pricing model works we will now focus on Azure Service Models.
 

Azure offers 3 service Models

  • Iaas (Infrastruture as a service)
  • PaaS (Platform as a service)
  • SaaS (Software as a service)
 
Infrastruture
  • All layers related to hardware and virtualization.
Platform 
  • Operating system, middleware and runtime
  • system and configuration required to run the software.
Software layer 
  • Application and data 
Iaas (Infrastruture as a service)
  • Cloud provider manages infrastruture and client manages platform and software. 
Use Case
  • Migration of work loads from on premise to cloud.
  • Lift and shift model 
  • VM Services 
PaaS (Platform as a service)
  • Cloud provider manages infrastruture and platform while client manages only application and data.
 Use Case
  •  This model is used for bulding cloud ready applications
  •  App service, Azure SQL function apps.
SaaS (Software as a service)
  • Cloud provider manages everthing. 
Use Case
 
Outlook, Skype, One Drive 
 
Now that we have understood Azure Service Model let's take a deep dive into different Compute service offerings by Azure 
 

Azure Compute service

 
Let's first understand what a compute service is.
 
Compute services are services that allow you to build and deploy your application in the Cloud.
 
VM (Virtual machines windows and Linux) 
  • Virtualization in Azure cloud is done through Azure VM.
  • VM is the part of Iaas model . 
  • Microsoft has prepared VM Images in Azure market palace. 
  • We can use predined images or build new VM based on our custom image
  • This is part of IaaS offering by Azure 
Refer to my article on creating and deploying .NET apps to azure VMs for more details
 
Advantages
  • Total control on operating system and platform 
  • Best suited for lift and shift migration on premise to cloud without redesign.
Limitations
  • High Maintenance 
  • No auto scaling
VM scale set
  •  Custom image or Image from azure store is automatically scaled across multiple VMs
  •  The load balancer redirects traffic to the virtual machines.
  •  The amount of VM can be scaled automatically depending on application demand
  •  This is part of IaaS offering by Azure
Advantages
  • Built with auto scaling 
Limitations
  • High maintenance 
Aure container instances
 
Bundle application to create container image and host in container instance.
 
Azure container repository is simple storage where we host our own images
 
Simplest and quickest way to run containers in Azure.
 
PaaS offering by Azure.
 
Advantages
  • Less maintenance than VM
  • Lighter weight thanVM
  • Small and simple web applications
Limitations
 
No auto scalablity
 
4) Azure Kubernetes service 
 
Kubernetes in is an open source conatiner orchestration platform
 
PaaS offering by Azure 
 
Highly scalable and highly customizable.
 
Container deployment on multiple nodes.
 
 
Advantages
  • High scalablity
  • Auto scaling 
  • Lighter than VM 
  • Highly sophisticated
Limitations
  • Most complex to implement
App services
 
Designed as enterpise grade web application service.
 
PaaS offering by Azure
 
 
Advantages 
  • Less maintanance 
  • Medium scalablity
  • Auto scalablity

Summary

 
In this article, we have learned about the need for cloud platforms and various offerings by Azure Cloud and different service models.
 
Thanks a lot for reading. I hope you liked this article. Please share your valuable suggestions and feedback. Write in the comment box in case you have any questions. Have a good day!