Cloud Computing with Azure

Use of Cloud Computing, different types of cloud services and all about Azure cloud.

Cloud Computing

Hosting your web application on your own system is very handy but brings overhead in cases like, scaling the server, handling large traffic, security of the server, constant speed across all regions, disaster recovery. For this we need Cloud Computing. It's nothing but hosting your application on other's system or group of system who manages all your extra needs for computation, and you just have to pay for it. They provide backup for your data, global availability, large computing infrastructure, these helps a lot in production environment. You will be authorized to access their resources and manage, view, create resources as of your need. Resources like Virtual Machine, Permanent IP, Storage services, Database services, Load Balancers, Virtual Network, Serverless Functions, Machine Learning services, Container Technologies and over 200 resources are provided by the popular cloud Services. To work with Cloud Technologies here are some concepts of Cloud.

Basic Concepts of Cloud

Type of Cloud Models

Based on Deployment cloud is of 3 main types.

  1. Private Cloud

A group of people or an organization wants use cloud services for themselves only, no other people from outside cannot access or use their infrastructure, so this means they provide service for a single tenant. This type of cloud is known as private cloud. Cisco, Oracle, VMware are popular private cloud providers.

  1. Public Cloud

When the cloud infrastructure is managed by a cloud service provider company and they provide the access to resources every authorized people as they need, is called Public Cloud. Like Azure, AWS, GCP they provide services to multiple tenants at the same time.

  1. Hybrid Cloud

Hybrid Cloud is the mix of these two models. This provides services like Private Cloud and when the client needs to scale their application on a Public Cloud it provides that also. Netflix, Airbnb, Adobe uses the Hybrid Cloud model.

Shared Responsibility Model

Shared Responsibility Models describes the responsibility of cloud resources between Cloud Owner and Cloud User. It describes which sections of the cloud resources will be managed by the cloud provider and which one have to take care by the user, and it does that with 3 following types of delivery models.

  1. Software as a Service (SaaS)

In this type of Model, a Software is given to the client for use, the underlying components will not be accessible to them. Like an Online Code Editor is only accessible to write the codes and to execute them but the underlying resources like CPU, Storage, Memory, Software source code is hidden from them. It is mostly provided to the End-Users.

  1. Platform as a Service (PaaS)

Platform as a Service will provide the resources to host the application, like Azure App Services, or Google App Engine, will let you host your application on them. Mostly Developers use Paas, it will also let you access the codes to modify your application.

  1. Infrastructure as a Service (IaaS)

To scale your application, you need to modify the resources and IaaS does that exactly, it will allow you to access the Memory, CPU, Storage and you can modify them as of your need. AWS's EC2, Azure VM are the example of IaaS. System Admins uses the IaaS model.

This Image explains the allowed resource access on these models.

Diagram

Service Level Agreement

Service Level Agreement will be signed between cloud provider and client before using the cloud. It is a contract between them on how much resources will be provided by them, all the details of resources managed by the provider and what a client will expect from them.

Azure

Now it is time to know about some services provided by the cloud service provider. Here I am taking Azure as the example to explain the basic resources provided by every cloud service provider. The names will be varying provider to provider, but the resources or services will remain same.

Types of Azure Services

A Cloud Service Providers has multiple number of services, In Azure I am dividing them in three main categories. Management services will manage all the other resources that will be created, Security services are responsible to provide Security on cloud, at last the Computing services, they are the actual services to create your cloud resources.

1. Management Services

To manage your cloud resources, you need a top-level service to do that seamlessly. Here are 3 basic Management services in Azure.

  1. Resource Group

Resource Group is also a resource which is a group of other resources. All the resources must belong to a Resource Group. You cannot create a Resource Group inside a Resource Group.

  1. Subscription Group

Resource Groups belong to Subscription group. As users register to Azure, Azure let the users to create resources to a particular limit of subscription. How much the tenant is eligible to create they can create only that type of resources. Multiple resource groups belong to a Subscription Group.

  1. Management Group

Now to there can multiple Subscription Groups also and to manage them Management Groups are Created. This is the top-level Service to manage all other Services and resource in Azure.

2. Security Services

Azure has multiple number of Security Services Here are 5 most used ones.

  1. Azure Key Vault

Key Vaults are used to store all type of credentials and secrets. Like UserID, password, access tokens these type of objects needs a special Resource to be stored. Key vaults are for them.

  1. Microsoft Defender for Cloud

Microsoft Defender always searches for any malicious events, any risks of attack and suspicious activities in cloud.

  1. Azure role-based access control

Azure RBAC is used control the access to the resources as per the user’s role. A cloud user might be a Developer, Administrator or a Contributor, RBAC just allows them to access the resources as per their set of work. So, a Developer can't access the Administrator’s components, which is a much-needed security for cloud.

  1. Microsoft Entra ID

Entra ID is the Identity and access management service of Azure. Identity of the user is verified with UserID and Password, then a EntraID is reserved for that user, with that the user is verified to use the resources in all over the Cloud.

  1. Network Security Groups

Network Security Group provides security to the Resources in Azure from outside the virtual network in cloud. It sets the protocols, ports, firewall rules for the incoming traffic.

3. Computing Services

A huge number of Computing services is there in Azure. Here are top 10 Computing Resources which are provided by Azure.

  1. Virtual Machines

Just Like a local virtual machine, Azure Provides VMs. Lots of OS images are also there to create the VMs. CPU, Memory, Disk space and other configuration options to passed and your desired VM will be launched in few minutes.

  1. Databases

Azure has services to create SQL and NoSQL Databases. You can create MySQL database or Azure have its own Database to offer. Same for No SQL. Azure Have its NoSQL named Cosmos DB.

  1. Virtual Network

Now you need a virtual network to communicate between your resources. Azure allows you to create VNet named resource to create a virtual network. During creation of every resource there is a option to create that resource on a virtual network. You have specified your VNet where your resources will be connected.

  1. IP

As VNet gives you a local ip just like your routers internal Ip, you cannot access your VM from outside that VNet unless the VM is assigned with public IP. Azure lets you bind a Public IP with your Resources like VM.

  1. Load balancer

Now suppose you have created a group of VMs to run your application, now a huge number of traffic is accessing your application on that case you need a Load balancer to direct your traffic to avoid crashing of the server. Azure lets you create Load balancer type resource for that.

  1. Azure Functions

Serverless Computing is a much-needed service. It does not need large computation to process something. A piece of code will be executed on a particular event which will process a work. Azure Functions provides this serverless computing Service.

  1. Storage Services

Storage is one of the most important things in cloud. Azure has Blob storage to store the text or binary data, Files to store file type of data, Tables for structured data, Managed Disks for Volumes, like used in VMs, Queues for messaging and Container Storage for container volumes.

  1. Azure App Services

App Service is used for quickly host your application on cloud. Setting up VMs, installing server software’s in it takes time, App Services does these things for you so that small apps can be deployed easily.

  1. Azure Kubernetes Services

AKS provides managed Kubernetes Clusters to use. Setting Kubernetes is involved with multiple number of steps, Creation of Master Nodes and Workers Nodes connecting them is overwhelming. AKS creates is your cluster in just few minutes.

  1. AI and Machine Learning Services

Azure has its AI and Machine Learning services like Computer Vision to work with image filtering, Synapse Analytics for big data analytics and few others to use the AI features in Cloud.

Conclusion

Azure and other Clouds comes with 200+ Services, here are just the most used ones and the basic overview of them. You can learn more about them during use, like you cannot create Nested Resource Groups, VNet is free to create type resources, these types of insights and creation process of these resources can be found on Azures official documentation. Here the basic overview is discussed, Azure has already written these steps very detailed. You can always find that out on https://learn.microsoft.com/en-us/azure/?product=popular.

For AWS https://docs.aws.amazon.com/.

For GCP https://cloud.google.com/docs/.