Learn Describe cloud concepts (AZ-900) with Interactive Flashcards

Master key concepts in Describe cloud concepts through our interactive flashcard system. Click on each card to reveal detailed explanations and enhance your understanding.

Cloud Computing Definition

Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user. Instead of owning and maintaining physical hardware and infrastructure, users rent or lease these resources from a third-party provider (the cloud provider). This allows businesses and individuals to access computing resources as needed, paying only for what they use. Key characteristics include:

* **On-demand self-service:** Users can provision computing resources without requiring human interaction with the provider.
* **Broad network access:** Services are accessible over a network, typically the internet, from various devices.
* **Resource pooling:** Provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with resources dynamically assigned and reassigned.
* **Rapid elasticity:** Resources can be rapidly and elastically provisioned, scaling up or down quickly based on demand, often automatically.
* **Measured service:** Resource usage is monitored and controlled, providing transparency for both the provider and consumer. This allows for pay-as-you-go pricing models, enhancing cost efficiency. Cloud computing enables flexibility, scalability, cost-effectiveness, and accessibility, making it a compelling solution for diverse computing needs.

Shared Responsibility Model

The Shared Responsibility Model in cloud computing, particularly within Azure, clarifies the division of security and management responsibilities between the cloud provider (Microsoft) and the customer. Microsoft is responsible for the security *of* the cloud, covering the physical infrastructure, network, and virtualization layers. This includes protecting the datacenters, hardware, and core services. Microsoft ensures the cloud infrastructure is secure and available.

The customer is responsible for security *in* the cloud. This means managing and securing their data, applications, operating systems, network configurations, and identities. The specific responsibilities vary based on the cloud service model used:

* **IaaS (Infrastructure as a Service):** Customer has the most responsibility, managing operating systems, virtual networks, and applications.
* **PaaS (Platform as a Service):** Customer manages applications and data. Microsoft handles operating systems and infrastructure.
* **SaaS (Software as a Service):** Customer has the least responsibility, primarily managing data and user access. Microsoft manages the entire infrastructure and application stack.

Understanding the Shared Responsibility Model is crucial for cloud security. Customers must actively manage their responsibilities to maintain a secure cloud environment. Failure to do so can lead to data breaches and other security incidents. Shared Responsibility exists to provide clear guidelines for the responsibilities of each party.

Public Cloud

The public cloud is a type of cloud computing where resources (servers, storage, networks, software, etc.) are owned and operated by a third-party cloud provider. These resources are made available to the general public over the internet. Azure, AWS, and Google Cloud are prime examples of public cloud providers.

Key characteristics of the public cloud include: Shared infrastructure, where multiple customers share the same physical hardware, Logically isolated from each other. Pay-as-you-go pricing, meaning customers only pay for the resources they consume. Scalability and elasticity allowing resources to be easily scaled up or down based on demand. High availability and resilience through geographically distributed data centers.

Benefits of using a public cloud include: Reduced capital expenditure (CAPEX) since there's no need to invest in hardware. Lower operational expenditure (OPEX) since the provider handles maintenance and administration. Increased agility and speed due to on-demand resource provisioning. Global reach with datacenters located worldwide. Furthermore, access to a wide range of services, like AI/ML, Databases, Serverless Computing, which are readily available from these providers.

However, security, compliance and control can exist as challenges. Data security, regulations such as GDPR, and potential reliance on external providers require careful consideration.

Private Cloud

A Private Cloud is a cloud computing model where resources are used exclusively by a single organization. It offers many of the benefits of cloud computing, such as scalability, elasticity, and self-service, but within a controlled environment fully dedicated to that specific business. This model provides enhanced security and control over data and infrastructure, as the organization retains direct management and governance. Private clouds can be hosted on-premises (within the organization's own datacenter) or by a third-party provider.

Key characteristics of a private cloud include:

* **Single Tenancy:** Resources are not shared with other organizations.
* **Dedicated Infrastructure:** The organization owns or leases the hardware and software.
* **Enhanced Security:** Greater control over security measures and data protection.
* **Compliance:** Easier to meet specific industry or regulatory compliance requirements.
* **Customization:** The cloud environment can be tailored to meet specific business needs.

While it offers these advantages, private clouds typically involve higher upfront costs and ongoing management overhead compared to public cloud solutions. Organizations choose private clouds when they require strict control over their data and infrastructure, or when public cloud solutions don't meet their specific security or compliance requirements.

Hybrid Cloud

Hybrid cloud combines on-premises infrastructure (private cloud) with third-party public cloud services, allowing organizations to orchestrate workloads and data between these environments. This model offers flexibility, scalability, and cost optimization by leveraging the strengths of both private and public clouds.

On-premises environments offer greater control over data security and compliance, addressing specific regulatory requirements or data residency concerns. Public clouds provide on-demand scalability, cost-effectiveness for fluctuating workloads, and access to a wide range of services like AI, machine learning, and serverless computing.

Hybrid cloud allows organizations to run sensitive or latency-critical applications on-premises while utilizing the public cloud for less critical workloads, backups, or disaster recovery. It enables gradual migration to the cloud without a complete overhaul of existing infrastructure. A well-designed hybrid cloud architecture facilitates workload portability, enabling applications to move seamlessly between environments based on changing business needs and resource availability. Key considerations include network connectivity, security management, and consistent management tools across both environments to ensure smooth operation.

Consumption-based Model

The consumption-based model, also known as pay-as-you-go, is a cloud computing pricing strategy where you only pay for the resources you actively use. This contrasts with traditional IT infrastructure where you often purchase and maintain hardware regardless of its utilization. With consumption-based pricing, resources like compute time, storage, and network bandwidth are metered, and you are billed based on actual consumption.

Key benefits include cost optimization, as you avoid upfront capital expenditure and only incur operational expenses for what you need. Scalability is also enhanced since you can easily scale resources up or down based on demand without being constrained by fixed infrastructure. This promotes efficient resource allocation and reduces waste. For example, if you provision a virtual machine but it remains idle, you only pay a minimal fee (or nothing, depending on the specific service) instead of the total cost of running the hardware. Similarly, if you increase storage capacity only during peak seasons, you only pay for the additional storage for that period.

This model provides greater flexibility and cost transparency, allowing organizations to align IT spending more closely with business needs. It empowers businesses to experiment with new services and technologies without significant financial risk.

Cloud Pricing Models

Cloud pricing models are diverse, but generally revolve around pay-as-you-go principles, offering cost efficiency compared to traditional on-premises infrastructure. Key models include:

**1. Pay-as-you-go (PAYG):** This is the most common. You're billed only for the resources you consume, such as compute time, storage used, and data transfer. This offers maximum flexibility and cost savings when resource utilization is variable. Services are metered, and charges accrue based on actual usage. For example, virtual machines are billed per hour or even per second when stopped, and storage is charged per GB used.

**2. Reserved Instances/Capacity:** Committing to a certain amount of resources for a specified period (e.g., 1 or 3 years) grants significant discounts compared to PAYG. This model suits predictable, long-term workloads like production databases or application servers. You pay a fixed price upfront, guaranteeing resource availability at a reduced rate.

**3. Spot Pricing/Instances:** This model leverages unused cloud capacity, offering substantial discounts (often up to 90% off PAYG). However, instances can be terminated with short notice if the spot price exceeds your maximum bid. This is suitable for fault-tolerant, non-critical workloads that can withstand interruptions, such as batch processing or testing environments.

Factors influencing pricing include region (data center location), instance type (size and configuration), operating system, and software licenses. Cloud providers also offer tools to monitor spending, forecast costs, and optimize resource utilization to minimize expenses.

Serverless Computing

Serverless computing enables developers to build and run applications and services without managing servers. Instead of provisioning and maintaining infrastructure, you focus solely on writing and deploying code. The cloud provider automatically handles the underlying infrastructure, scaling, and maintenance. This abstraction allows for increased developer productivity, faster time to market, and reduced operational costs.

Key characteristics include automatic scaling, where resources are dynamically allocated based on demand. Pay-as-you-go pricing means you only pay for the actual compute time used, not for idle server capacity. Event-driven architecture triggers code execution in response to specific events, such as data changes, HTTP requests, or scheduled timers.

Serverless significantly reduces operational overhead, allowing organizations to focus on innovation and delivering business value. Common use cases include web applications, mobile backends, data processing, chatbots, and IoT solutions. Popular Azure serverless offerings include Azure Functions and Azure Logic Apps.

High Availability

High Availability (HA) refers to a system's ability to remain operational for an extended period with minimal downtime. In cloud computing, including Azure, achieving HA involves designing systems and applications that automatically recover from failures, ensuring continuous service availability to users. This is crucial for businesses relying on uninterrupted access to their data and applications. Several strategies contribute to HA on Azure. Redundancy is key, achieved by deploying multiple instances of virtual machines, databases, or other services across different availability zones (physically separate locations within an Azure region) or regions. This ensures that if one instance fails, others can seamlessly take over. Load balancing distributes traffic across these healthy instances, preventing any single instance from becoming overloaded and potentially failing. Monitoring is also critical, constantly evaluating system health and automatically triggering failover mechanisms when issues arise. Azure SLAs (Service Level Agreements) define availability guarantees for specific services, reflecting Microsoft's commitment to HA. Proper planning and architecture focusing on redundancy, automated failover and scaling are essential to implement highly available systems within the Azure cloud.

Scalability

Scalability in cloud computing refers to the ability of a system to handle increasing workloads, typically measured by user traffic, data volume, or transaction rates. Azure, like other cloud platforms, offers two primary types of scalability: vertical and horizontal.

*Vertical Scaling (Scaling Up/Down)* involves increasing or decreasing the resources of a single instance, such as a virtual machine (VM). This might mean adding more CPU, RAM, or storage to an existing VM. It's relatively straightforward to implement but has limitations as you eventually reach the maximum capacity of a single server.

*Horizontal Scaling (Scaling Out/In)* involves adding or removing instances of a service or application. For example, if a web application is experiencing high traffic, you can automatically spin up additional VMs to handle the load. As demand decreases, VMs can be removed, optimizing costs. Horizontal scaling is generally preferred for handling large and unpredictable workloads as it offers greater flexibility and resilience, and doesn't have the inherent limit of a single machine.

Elasticity is closely related to scalability and represents the speed at which a system can adapt to changing demands. Cloud environments are inherently elastic, allowing for both rapid scaling and cost optimization by consuming resources only when needed.

Reliability

Reliability, in the context of cloud computing and Azure, refers to a system's ability to consistently and correctly perform its intended function under specified conditions and for a defined period. It's a crucial aspect of cloud services, assuring users their applications and data remain accessible and functional when needed.

Key elements contributing to reliability include: fault tolerance (the ability to withstand failures with minimal disruption), recoverability (the speed and ease of restoring service after a failure), stability (consistent performance without unexpected outages), and redundancy (having duplicate resources to take over in case of a failure). Azure offers various mechanisms to enhance reliability, such as availability zones, paired regions, and robust data replication options. Properly designing for reliability involves considering potential failure points, implementing appropriate redundancy and monitoring, and establishing clear recovery procedures. A reliable cloud service minimizes disruptions, maintains data integrity, and provides a predictable user experience, ultimately leading to increased trust and satisfaction.

Predictability

Predictability in cloud computing, particularly within the context of Azure, refers to the ability to forecast performance, costs, and resource availability with a high degree of accuracy. This is crucial for effective planning, budgeting, and service level agreement (SLA) management. Predictable performance means minimized latency and consistent throughput for applications. Azure offers tools and services that enable performance monitoring, allowing you to proactively identify and address potential bottlenecks. Predictable costs are vital for financial planning. Azure provides cost management tools, usage analytics, and pricing calculators to estimate and track spending, preventing budget overruns. You can leverage reserved instances or Azure Hybrid Benefit to further enhance cost predictability. Finally, predictable resource availability ensures business continuity. Azure's global infrastructure and commitment to high availability means that you can depend on resources being accessible when needed. Services such as Azure Monitor help track the health and performance of your resources, alerting you to potential issues before they impact users. Predictability is enhanced through proper resource sizing, capacity planning, and choosing the appropriate Azure services for your workload.

Security and Governance Benefits

Cloud security and governance benefits are crucial for responsible cloud adoption. Security encompasses protecting cloud resources from unauthorized access, data breaches, and cyber threats. Cloud providers offer a shared responsibility model, where they secure the infrastructure, while customers secure their data and applications. Key security benefits include centralized security management, advanced threat detection and prevention tools, and compliance certifications easing regulatory burdens.

Governance, on the other hand, establishes policies, processes, and controls to ensure cloud resources are provisioned, managed, and utilized effectively, securely, and in alignment with organizational objectives. Governance benefits include cost optimization through resource monitoring and policy enforcement, improved compliance through audit trails and automated reporting, and enhanced visibility into cloud usage and security posture. Implementing robust governance frameworks such as Azure Policy allows organizations to define and enforce standards across their cloud environment, ensuring consistent configurations and reducing risks. Together, security and governance create a foundation for a secure, compliant, and well-managed cloud environment.

Manageability in Cloud

Manageability in the cloud refers to the ease with which you can control, monitor, and maintain your cloud resources and services. Cloud providers like Azure offer a range of tools and services designed to simplify these tasks, allowing you to focus on your core business rather than the underlying infrastructure. Core aspects of manageability include:

**Centralized Management:** Azure provides a unified portal and command-line interface (CLI) to manage all resources, regardless of location. This simplifies tasks like deployment, configuration, and monitoring.

**Automation:** Automating routine tasks, such as scaling resources based on demand or deploying updates, reduces manual effort and ensures consistency. Azure Automation and Azure Resource Manager templates facilitate this.

**Monitoring and Logging:** Azure Monitor provides comprehensive insights into the health and performance of your resources. Logging capabilities allow you to track user activity, identify issues, and improve security.

**Security Management:** Azure Security Center offers tools for threat detection, vulnerability assessment, and security policy enforcement. This helps protect your cloud environment from cyberattacks.

**Cost Management:** Azure Cost Management allows you to track your cloud spending, identify cost optimization opportunities, and set budgets. This helps you control costs and avoid surprises.

Effective manageability in the cloud translates to improved efficiency, reduced operational costs, enhanced security, and greater agility.

Infrastructure as a Service (IaaS)

Infrastructure as a Service (IaaS) provides you with on-demand access to fundamental computing resources – servers, networking, storage, and virtualization – over the internet. Instead of purchasing and managing your own physical infrastructure, you rent it from a cloud provider like Microsoft Azure. This gives you a great deal of flexibility and control over your infrastructure.

With IaaS, you are responsible for managing the operating system, data, applications, middleware, and runtimes. The cloud provider manages the underlying infrastructure, including the servers, networking, virtualization, and storage. This shared responsibility model means you have more control compared to PaaS or SaaS, but also more management overhead.

IaaS is a good fit for organizations that want to build and manage their own applications and services while avoiding the cost and complexity of managing their own hardware. It's suitable for scenarios like testing and development, storage, backup and recovery, web hosting, and high-performance computing. Azure Virtual Machines, Azure Virtual Network, and Azure Storage are examples of IaaS services.

Platform as a Service (PaaS)

Platform as a Service (PaaS) is a cloud computing model that delivers a complete environment for developers to build, deploy, and manage applications without managing the underlying infrastructure. Think of it as renting a fully equipped workshop instead of buying all the tools and building the shop yourself. Azure PaaS provides resources like operating systems, programming language execution environments, databases, web servers, and other development tools.

Developers can focus solely on writing and deploying code, significantly accelerating development cycles and reducing operational overhead. Azure handles the infrastructure management, including patching, scaling, and maintenance. Key benefits include faster time to market, reduced costs, improved scalability and availability, and enhanced collaboration among development teams. Common PaaS scenarios include web application development, mobile backend development, API creation, and business analytics. With Azure PaaS, you choose the services optimized for your application’s needs, paying only for the resources you consume, promoting cost efficiency and agility. Examples include Azure App Service, Azure Functions, and Azure Kubernetes Service.

Software as a Service (SaaS)

Software as a Service (SaaS) represents a cloud computing model where users access software applications over the internet on a subscription basis. Instead of purchasing and installing software on their own devices or servers, users simply connect to the SaaS provider's infrastructure through a web browser or dedicated app. The provider handles all aspects of software management, including infrastructure maintenance, updates, security, and availability. This relieves the user from the burden of managing the underlying infrastructure and software complexities.

Think of it like renting an apartment: you pay a recurring fee (subscription) to live there, and the landlord (SaaS provider) is responsible for maintaining the building (infrastructure), fixing appliances (software updates), and ensuring security.

Common examples of SaaS include email applications like Gmail and Outlook 365, customer relationship management (CRM) systems like Salesforce, collaboration tools like Microsoft Teams and Slack, and productivity suites like Google Workspace. The key benefits of SaaS are its accessibility from any device with an internet connection, scalability to adjust resources as needed, cost-effectiveness (often pay-as-you-go), and automatic updates that ensure users always have the latest version of the software.

More Describe cloud concepts questions
518 questions (total)