Part 1
Azure Devops
This module introduces you to cloud computing. It covers things such as cloud concepts, deployment models, and understanding shared responsibility in the cloud.
Traditional IT infrastructure comprises physical hardware and software components, including data centers, servers, networking hardware, and enterprise applications. Maintaining such an infrastructure involves significant costs and challenges:
Cloud computing is the delivery of computing services over the internet, enabling users to access and store data, applications, and resources on remote servers. It provides flexibility, scalability, and cost-efficiency, allowing businesses and individuals to leverage resources without the need for on-premises infrastructure.
On-Demand Self-Service
Users can provision resources automatically as needed without requiring human interaction from the service provider.
Broad Network Access
Cloud services are available over the network and can be accessed through standard mechanisms (e.g., mobile phones, tablets, laptops).
Resource Pooling
The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned according to demand.
Rapid Elasticity
Resources can be elastically provisioned and released to scale rapidly outward and inward commensurate with demand.
Measured Service
Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service.
Security and Compliance
Cloud providers implement robust security measures to protect data and comply with industry standards and regulations.
Cost Efficiency
With a pay-as-you-go model, businesses can save on upfront capital costs and reduce the overall cost of IT infrastructure.
High Availability
Cloud computing services are designed for high availability and reliability, ensuring minimal downtime for users.
Lower IT Costs:
The cloud allows organizations to offload many costs associated with maintaining on-premises infrastructure, including purchasing, installing, configuring, and managing hardware. This shift can lead to substantial savings, as businesses only pay for what they use, reducing capital expenditures and ongoing operational costs
Improved Agility and Time-to-Value:
With cloud computing, organizations can deploy enterprise applications almost instantly, significantly reducing the time needed to respond to IT requests. Instead of waiting weeks or months for hardware and software setup, users—particularly developers and data scientists—can provision resources on demand, enhancing productivity and innovation
Scalability and Cost-Effectiveness:
The elasticity of cloud services enables businesses to scale their resources up or down based on current demand, effectively managing traffic spikes and dips without investing in excess capacity that may sit idle. This flexibility not only optimizes resource use but also ensures that organizations can adapt to changing business needs in real time
Cloud computing offers flexible, scalable, and cost-effective solutions, enabling organizations to innovate faster and focus on core business activities rather than managing infrastructure.
Cloud computing is categorized into three primary service models, each serving different business needs and technical requirements:
IaaS provides virtualized computing resources over the internet. It offers the fundamental building blocks of computing, including:
Key Features:
Example Providers: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP).
PaaS offers a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the underlying infrastructure.
Key Features:
Example Providers: Google App Engine, Microsoft Azure App Service, Heroku.
SaaS delivers software applications over the internet, on a subscription basis. Users access the software via a web browser, eliminating the need for installation and maintenance.
Key Features:
Example Providers: Salesforce, Google Workspace, Microsoft 365.
Feature | IaaS (Infrastructure as a Service) | PaaS (Platform as a Service) | SaaS (Software as a Service) |
---|---|---|---|
Definition | Virtualized computing resources over the internet. | Cloud-based platform allowing developers to build, deploy, and manage applications. | Software delivered over the internet on a subscription basis. |
Management Responsibility | User manages the OS, applications, and data. | Provider manages the infrastructure and platform; user manages applications and data. | Provider manages everything; user simply uses the software. |
Scalability | Highly scalable; users can adjust resources as needed. | Scalable; resources can be adjusted for application needs. | Limited scalability; depends on the service plan. |
Examples | Amazon EC2,Azure Virtual Machine, Google Compute Engine | Google App Engine, Microsoft Azure | Google Workspace, Salesforce |
Use Case | Hosting websites, storage, and backups. | Developing and deploying applications without worrying about underlying infrastructure. | Accessing software applications like email or CRM systems. |
Customization | High level of customization for OS and applications. | Moderate customization; focuses on app development. | Low customization; pre-built software solutions. |
Cost Structure | Pay-as-you-go for usage and storage. | Subscription-based, usually with tiered pricing. | Subscription-based, often with different pricing tiers. |
Ideal For | IT administrators, system architects. | Developers, software engineers. | End-users, businesses. |
Understanding these cloud service models helps businesses choose the right solution based on their operational needs and technical requirements.
Cloud deployment models define how cloud services are provided and utilized. The main types of cloud deployment models are:
In a public cloud deployment, the services and infrastructure are provided off-site over the internet and shared across multiple organizations. The cloud provider manages everything, and users pay for the resources they consume.
Key Features:
Example Providers: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP).
A private cloud is dedicated to a single organization and can be hosted either on-premises or off-site. It offers more control over data security and privacy but requires a higher capital investment.
Key Features:
Example Use Cases: Enterprises with strict regulatory requirements or sensitive data management.
The hybrid cloud model combines both public and private clouds, allowing data and applications to be shared between them. This offers greater flexibility and more deployment options.
Key Features:
Example Use Cases: Organizations that need to handle varying workloads and want to maintain control over sensitive data while leveraging public resources for other applications.
A community cloud is shared among several organizations with similar requirements, often within the same industry. It can be managed internally or by a third-party provider.
Key Features:
Example Use Cases: Government agencies or educational institutions sharing resources for collaborative projects.
Understanding the different cloud deployment models allows organizations to choose the right mix of solutions based on their business needs, security requirements, and budget constraints.
The Well-Architected Framework (WAF) is a set of best practices created by Amazon Web Services (AWS) to assist cloud architects in building secure, high-performing, resilient, and efficient infrastructure for their applications. The framework is divided into five key pillars:
By following the Well-Architected Framework, organizations can enhance their cloud architectures’ resilience, efficiency, and security. AWS provides a Well-Architected Tool that helps review workloads against these best practices, offering insights and recommendations to improve architecture.
For further details, check the official AWS Well-Architected Framework documentation.
The pillars of cloud computing refer to essential principles that guide the design, deployment, and management of cloud services. Below are the primary pillars:
Understanding these pillars is essential for organizations looking to leverage cloud computing effectively. They serve as a foundation for building cloud strategies that optimize resources and improve overall operations
Azure is a cloud computing platform by Microsoft, offering a wide range of services such as virtual machines, storage, networking, and databases. It enables businesses to build, deploy, and manage applications in a scalable, secure, and global environment.
Azure offers services under three primary models:
An Azure cloud account is a user account that provides access to Microsoft Azure’s cloud services, allowing users to create, manage, and scale resources such as virtual machines, databases, and applications over the internet.
An Azure subscription is an agreement that allows users to access and use Microsoft Azure cloud services. It defines the resources available to the user, billing details, and usage limits. Each subscription can contain multiple resources and services, and users can choose from various pricing plans, including free, pay-as-you-go, and enterprise options.
A Resource Group is a logical container used to organize and manage Azure resources (like virtual machines, databases, and storage accounts). All the resources inside a resource group share the same lifecycle—meaning you can deploy, update, or delete them together.
Here’s how you can create a resource group:
az group create --name myResourceGroup --location eastus
Regions: Azure has data centers around the globe. A region is a specific geographical location where Azure resources are hosted. When you deploy resources, you must choose a region to locate them.
Availability Zones: These are isolated locations within a region. They provide redundancy and protect resources from data center failures.
Click here to create Azure Cloud Free Account
az login
az account list
az group create --name <ResourceGroupName> --location <Location>
az group list
az vm create --resource-group <ResourceGroupName> --name <VMName> --image <ImageName>
az vm list --output table
az vm start --resource-group <ResourceGroupName> --name <VMName>
az vm stop --resource-group <ResourceGroupName> --name <VMName>
az group delete --name <ResourceGroupName> --yes --no-wait
az <command> --help
Follow these steps to create a Service Principal using the Azure Portal UI.
MyServicePrincipal
).MySecret
) and set an expiration time (e.g., 6 months, 1 year).You will need the following details to log in with the service principal via Azure CLI or use it in scripts:
Alternatively, if you want to create a service principal using Azure CLI, you can run the following command:
az ad sp create-for-rbac --name "<your-app-name>" --role contributor --scopes /subscriptions/<subscription-id>
az login --service-principal \
--username <AppId> \
--password <Password> \
--tenant <TenantId>
ssh-keygen -f ubuntu
Managed Identity is a feature of Azure Active Directory (Azure AD) that provides an automatically managed identity for applications. With Managed Identity, applications can authenticate to Azure services without storing credentials, making it a secure and streamlined method for handling access to resources.
System-assigned Managed Identity:
User-assigned Managed Identity:
az login --identity
az login --identity --username <client-id>
Create an Azure App Service:
Deploy Your Application:
Follow This for Terraform based Azure Devops