Start here! Get your feet wet with the Microsoft cloud and begin your journey to earning your Microsoft Certified: Azure Fundamentals certification!
Infrastructure as a Service (IaaS) provides virtualized computing resources over the internet. You rent virtual machines, storage, and networking on demand and pay only for what you use, which reduces upfront hardware costs and lets you scale quickly. In Azure, the three main component categories are virtual machines, storage, and networking.
Virtual machines (VMs) are the core compute resource in IaaS. They run applications and services inside a virtualized environment that behaves like a physical computer. You create and manage VMs through the Azure portal, where you select the operating system, size, and region.
Storage options include Azure Blob Storage for unstructured data like images or logs, Azure File Storage for shared file shares across multiple VMs, and disk storage that attaches directly to a VM for its operating system and application data. Storage resources are durable because data is replicated across multiple locations, and you can choose tiers (hot, cool, archive) to balance performance and cost.
Networking resources include Azure Virtual Networks for creating isolated networks for your VMs, Azure DNS for domain name resolution, and Network Security Groups (NSGs) and Azure Firewall to control inbound and outbound traffic. You can link virtual networks to your on-premises network for a hybrid setup, and services like Azure Traffic Manager distribute incoming traffic across multiple regions.
IaaS is a strong fit for several common scenarios. Legacy application hosting and data center extension allows a “lift-and-shift” migration where you move existing virtual machines and storage into Azure without changing the code. This same approach works for extending an on-premises data center into the cloud to handle traffic bursts or support global users without building more physical facilities.
Disaster recovery helps protect against outages by replicating servers and data to a secondary Azure region. When the primary site fails, you can quickly spin up virtual machines in the backup region and restore operations. This method avoids the cost of maintaining a separate on-premises disaster recovery site and helps meet your recovery time objectives (RTOs).
Development and testing environments allow teams to provision isolated environments that mirror production in just minutes. They test new features on virtual machines, networks, and storage, then decommission everything when done. Because you only pay for the resources while they run, this practice lowers costs and supports continuous integration and continuous deployment (CI/CD) pipelines.
High-performance computing and batch processing workloads such as scientific simulations, financial risk analyses, or large-scale batch jobs need powerful CPUs and GPUs temporarily. IaaS lets you create virtual clusters with specialized hardware, run the job, and then release the resources, avoiding a permanent investment in supercomputing hardware.
IaaS shifts the responsibility of physical hardware maintenance to the cloud provider, so your team can focus on applications and data. Scalability means IaaS resources grow or shrink automatically with workload demand. For example, Virtual Machine Scale Sets (VMSS) add or remove VM instances based on CPU utilization or other signals, ensuring your application keeps performing during traffic spikes and does not waste money on idle resources during lulls.
Flexibility and control give you full administrative access to the virtual machines, operating systems, network settings, and security configurations. You can choose from a wide range of VM sizes, hardware options, and OS images, making IaaS ideal for migrating on-premises applications without rewriting them and for running complex enterprise systems.
Cost-efficiency comes from a pay-as-you-go pricing model where you pay only for the compute time, storage, and networking you actually consume. Additional savings come from Azure Reservations (discounted rates for one- or three-year commitments), Spot VMs (using unused Azure capacity at lower prices), and automatic scaling that reduces resource usage during off-peak periods.
High availability and global reach come from Azure’s global regions and availability zones that let you spread VMs across physically separate data centers. This setup protects against localized failures and supports disaster recovery, and IaaS also handles high-performance computing and big data workloads by letting you provision large clusters of specialized VMs on demand.
IaaS is one of three main cloud service models, and the key difference is who manages each layer of the technology stack. In an IaaS environment, the cloud provider manages the physical hardware (servers, storage, networking). You are responsible for everything above that: installing and updating the operating system, configuring middleware and runtime environments, deploying applications, managing your data, and securing the environment. This gives you the most control and is best when you need to customize the software stack or move existing systems with minimal changes.
Platform as a Service (PaaS) abstracts the underlying infrastructure and operating system away from you. The provider handles the runtime, middleware, OS, and hardware, and you only manage your applications and data. PaaS is great for developers who want to build and deploy code quickly without worrying about server maintenance.
Software as a Service (SaaS) delivers a fully managed application over the internet. The provider takes care of infrastructure, platform, application updates, security, and maintenance. You simply use the software. Common examples include email, customer relationship management (CRM), and office productivity tools. SaaS is ideal when you need a ready-to-use solution with no management overhead.
When using IaaS in Azure, security and compliance are shared responsibilities. Azure provides the underlying protections, but you must configure your own resources appropriately. Data protection includes encryption for data at rest (stored on disks) and data in transit (moving across networks). Azure Active Directory (Azure AD) manages user identities and controls who can access your virtual machines and storage. For network security, you use Network Security Groups (NSGs) to filter traffic between VMs and subnets, and Azure Firewall to block threats from the internet.
Compliance requirements are met because Azure meets a broad set of regulatory standards, including GDPR, HIPAA, and ISO 27001. This means the platform itself is certified to handle sensitive data, but you still need to configure your IaaS resources to follow the rules. Azure provides audit and monitoring tools like Azure Policy and Azure Monitor that help you track compliance and generate reports for regulators.
Shared responsibility in practice means because you manage the operating system and applications in IaaS, you are responsible for security configurations that PaaS and SaaS users never see. For instance, you must install OS updates, restrict administrative access, and set up backup policies. The provider handles physical security of data centers and the hypervisor.
Platform as a Service (PaaS) is a cloud computing model that provides a complete platform for developing, running, and managing applications. The key characteristic of PaaS is that it provides a managed environment, which means the cloud provider handles the underlying infrastructure like servers, networking, and operating systems. This allows developers to focus solely on writing and deploying their application code, without worrying about tasks like patching or backups.
PaaS sits between other cloud models. It offers more than IaaS, which only provides raw compute resources, because PaaS includes development tools and software components. It offers less than SaaS, which delivers a finished application, because PaaS provides the environment to build that application. The main benefits are increased developer productivity and built-in scalability to handle growing user demand.
PaaS is commonly used to host web applications that require high availability and frequent updates. Services like Azure App Service support many programming languages and frameworks, providing features like built-in load balancing so developers can deploy websites or APIs quickly without managing servers. This is ideal for content management systems, business portals, or single-page applications.
Another major use case is API management. PaaS solutions provide dedicated services to publish, secure, and monitor APIs, including capabilities like version control, rate limiting, and developer portals. These are essential for businesses that need to expose their backend services to partners or build a microservices architecture.
PaaS also supports modern application styles like microservices and event-driven computing. Container-based services allow teams to build small, independent application components that scale automatically. Serverless options run code only in response to specific events, which is perfect for processing data streams, automating business workflows, or building scalable backend services.
A primary benefit of PaaS is reduced management overhead. Developers are freed from infrastructure tasks like server provisioning, patching, and hardware maintenance. This abstraction lowers complexity and allows teams to concentrate on application logic and business value, accelerating the overall development process.
PaaS offers significant advantages in scalability and cost-efficiency. Applications can be designed to scale out automatically based on metrics like CPU usage or incoming requests. This means you only pay for the compute resources you use during periods of high demand, and you can scale down during quiet periods, optimizing costs without needing to redesign the application.
PaaS also enables a faster time-to-market. Integrated tools for continuous integration and deployment (CI/CD), infrastructure-as-code templates, and built-in monitoring streamline the entire development lifecycle. Teams can automate deployments from testing to production, quickly troubleshoot issues, and iterate on features, which directly supports business goals of rapid innovation and reduced operational cost.
Azure provides several core PaaS services that form the foundation for building applications. Azure App Service is used for hosting web apps and APIs. Azure Functions allows for serverless, event-driven code execution. Azure SQL Database offers a fully managed relational database. These services handle their own updates, security, and scaling, which simplifies development.
For managing application configuration and secrets, developers use App Service configuration during initial development. For production, best practice is to store sensitive data like connection strings in Azure Key Vault. This centralizes secret management, provides encryption, and logs every access for audit purposes, improving both security and governance.
Monitoring and deployment are also key components. Enabling diagnostic logging and sending logs to a service like Azure Log Analytics provides visibility into application health. Implementing CI/CD pipelines and using ARM templates automates and versions deployments, ensuring applications are reliable, performant, and can be updated efficiently.
Security in PaaS operates on a shared responsibility model. Microsoft secures the underlying infrastructure, network, and physical data centers. However, you remain responsible for securing your applications, your data, and managing user access and identities. Understanding this division is critical for implementing proper security controls.
A key security task is protecting sensitive configuration data. While App Service configuration can be used for encrypted settings, production environments should use Azure Key Vault for storing secrets. This provides centralized governance, detailed audit logs, and the ability to reference secrets directly from your application code without exposing them.
To secure network traffic, Azure Private Link allows you to create a private endpoint for PaaS services within your virtual network. This means traffic flows over the private Microsoft network backbone instead of the public internet, protecting against data leakage and providing private access from on-premises networks. This is vital for meeting many compliance requirements.
Finally, continuous monitoring is essential for compliance and threat detection. Enabling diagnostic logging and using services like Application Insights to collect application telemetry allows you to monitor performance, audit user actions, and quickly respond to security incidents.
Software as a Service (SaaS) is a cloud service model where applications are hosted by a provider and made available to customers over the internet. This approach removes the need for organizations to install and manage software on individual devices, eliminating infrastructure burdens. Users access applications via web browsers, which streamlines deployment and standardizes experiences across devices.
SaaS applications are designed to be multi-tenant, meaning multiple users or organizations share the same application infrastructure while maintaining data isolation. This architecture allows for efficient resource utilization and cost savings. Users can access SaaS applications from various devices, ensuring flexibility and mobility, and the provider handles maintenance and updates, ensuring applications are always up-to-date without user intervention.
One of the primary advantages of SaaS is cost savings. Organizations shift from large upfront capital expenditures to smaller ongoing operational expenses. By paying only for what they use, businesses avoid over-provisioning resources and reduce wasted spend. The subscription model allows companies to scale licenses up or down based on actual demand, improving budget control.
Another key benefit is scalability and agility. SaaS platforms automatically allocate more resources when usage spikes and release them when demand drops, ensuring consistent performance. This elasticity enables rapid response to changing business needs without manual intervention, and teams can launch new services faster and handle growth seamlessly.
SaaS also offers automatic updates and maintenance, freeing IT teams from routine patching and version upgrades. The service provider handles all backend tasks, ensuring users always access the latest features and security enhancements. This continuous delivery model reduces downtime and minimizes compatibility issues, so businesses can focus on innovation rather than maintenance.
Finally, SaaS enables ease of access and collaboration across distributed teams. Users can access applications from any device with an internet connection, and centralized data storage enables real-time collaboration. Integrated security and compliance controls improve productivity and enable seamless teamwork.
Customer Relationship Management (CRM) systems are one of the most common SaaS use cases. Companies use solutions like Dynamics 365 or Salesforce to track leads, manage contacts, and automate sales workflows. Users can access data from any internet-connected device, and CRM tools often integrate with email, calendars, and marketing platforms.
Email services delivered as SaaS simplify communication and administration. Services such as Microsoft Exchange Online or Gmail for Business handle email hosting, spam filtering, and security updates automatically. This approach reduces the burden on IT teams since email servers are maintained by the provider and updates roll out seamlessly.
Collaboration tools enable teams to work together in real time. Popular offerings include Microsoft Teams, Slack, and Zoom, which provide chat, video conferencing, and file sharing. Instant messaging and calls keep teams connected, and files can be co-edited in the cloud. These tools work on web, desktop, and mobile devices.
Business intelligence and reporting are also delivered via SaaS. Services like Power BI and Tableau Online let users create interactive dashboards without setting up servers or databases. These solutions update automatically, provide secure sharing options, and enable data-driven decision-making across the enterprise.
SaaS applications run on shared infrastructure managed by Azure, so security and compliance are built into the platform. Customers access these applications over the internet without needing to manage servers or operating systems. Azure operates as a multitenant cloud platform, meaning multiple customers share the same physical hardware while data remains logically isolated. To prevent unauthorized access, Azure uses user access controls with authentication and identity separation, compute isolation through hypervisor and container technologies, and networking isolation with data encryption in transit.
Protecting data is a core part of SaaS security. Azure offers encryption at multiple layers, including server-side encryption using service-managed keys, customer-managed keys in Azure, or keys in on-premises hardware. Client-side encryption allows you to control and store keys off-site, and Azure supports bring your own key (BYOK) via Azure Key Vault.
Azure meets external compliance standards through FIPS 140 validated cryptography. Microsoft uses algorithms approved by the US National Institute of Standards and Technology (NIST) and validates modules under the FIPS 140 program. You can store secrets and encryption keys in FIPS-validated hardware security modules with Azure Key Vault, ensuring strong regulatory compliance for SaaS applications.
SaaS is a cloud model where applications run directly over the internet. The service provider handles everything from infrastructure to security, and users simply access applications via a web browser. No local installation or ongoing maintenance is required, making SaaS ideal for standard business needs like email, customer relationship management, and collaboration tools. Key characteristics include subscription-based pricing, rapid deployment, and automatic updates.
In contrast, IaaS and PaaS offer different levels of control and management responsibilities. IaaS gives users virtualized hardware resources like servers, storage, and networking while customers manage the operating system, middleware, and applications. PaaS abstracts the underlying infrastructure and operating system, allowing developers to focus on application code while the provider manages the runtime and middleware. SaaS takes this a step further by offloading all management tasks—users only configure settings and data.
Common use cases highlight the distinct benefits of each model. SaaS is perfect for organizations that need ready-to-use software without managing updates, such as Office 365 for productivity or Salesforce for CRM. PaaS is well-suited for custom application development using services like Azure App Service or Azure Functions. IaaS supports scenarios requiring full control over the environment, including high-performance computing and custom legacy applications running on Azure Virtual Machines.
Choosing the right cloud service model requires balancing administrative control with ease of use. With IaaS, you maintain full control over the operating system, middleware, and runtime, which gives you maximum customization capabilities. In contrast, PaaS shifts control of the operating system and middleware to Azure, leaving you in charge of your applications and data. SaaS provides the least technical control because the vendor manages everything, but it offers the fastest access to working software.
The division of daily tasks shifts clearly from the user to the provider as you move from IaaS to SaaS. Under IaaS, you must manage the operating system, middleware, runtime, data, and applications. Under PaaS, you manage only your applications and data, while Azure takes care of the host environment. Finally, in a SaaS model, you only need to configure application settings and manage user access permissions, while the vendor handles all updates and infrastructure.
When selecting a service model, your team must evaluate cost, development speed, and available resource management. While IaaS might offer lower base resource costs, it demands significant time and expertise for maintenance, patching, and security. PaaS speeds up deployment with built-in administration and auto-scaling, but it can be less flexible for highly customized software tasks. SaaS delivers predictable subscription pricing and near-instant setup, making it ideal for standard business functions where custom programming is not required.
Evaluating SQL database options in Azure clearly demonstrates how business needs dictate the choice between IaaS and PaaS. If you choose SQL Server on Azure Virtual Machines, you are using an IaaS model that grants full control over the operating system and database engine. This is ideal for migrating existing applications that require custom configurations, but your team must handle all database updates, backups, and maintenance. Alternatively, choosing Azure SQL Database provides a fully managed PaaS option that is perfect for modern applications that need rapid deployment and minimal administrative effort.
For organizations that want the benefits of PaaS but have existing on-premises SQL databases, Azure offers specialized deployment models. You can deploy a single database with dedicated resources, or use an elastic pool to share resources among multiple databases, which is ideal for multi-tenant SaaS applications. Additionally, Azure SQL Managed Instance is a PaaS option that mimics an on-premises SQL Server instance, supports almost all SQL Server features, and integrates directly into virtual networks for enhanced security and compliance.
When deciding between these service models for real-world workloads, you should weigh several critical business factors. These factors include how much you want to spend, how much management effort your team can handle, and what uptime guarantees your application requires. PaaS includes built-in administrative features in its price, whereas IaaS might require additional manual labor and management tools. PaaS minimizes routine database administration work, while IaaS gives your team the freedom to run custom scripts. PaaS offers higher availability guarantees, typically providing a 99.99% SLA, whereas IaaS guarantees a 99.95% SLA for the underlying VM infrastructure. IaaS allows for a straightforward lift-and-shift with zero code changes, while moving to PaaS might require minor adjustments to your applications.
Gauge your current knowledge

Gauge your current knowledge

Platform as a Service (PaaS) is a cloud computing model that provides a complete platform for developing, running, and managing applications. The key characteristic of PaaS is that it provides a *…
Understand the Core Characteristics of IaaS
Software as a Service (SaaS) is a cloud service model where applications are hosted by a provider and made available to customers over the internet. This approach removes the need for organization…
Infrastructure as a Service (IaaS) gives you virtualized compute, storage, and networking over the internet. You rent these resources on demand and pay only for what you use, which reduces upfront…