The language of cloud computing Terms
High Availability
Scalability
Predictability
Reliability
Security
Governance
Manageability
High availability (HA) in the context of cloud computing refers to the design and implementation of systems and architectures to ensure that applications and services are continuously available and operational, even in the face of failures or disruptions. The goal is to minimize downtime and provide users with reliable access to resources. Several key factors contribute to achieving high availability in the cloud:
Redundancy: Redundancy involves duplicating critical components of a system to ensure that if one component fails, another can take over seamlessly. In a cloud environment, this may involve deploying applications and data across multiple servers, data centers, or regions. Redundancy can be applied to various layers of the infrastructure, including servers, storage, and networking.
Load Balancing: Load balancing distributes incoming network traffic across multiple servers to ensure that no single server is overwhelmed. This helps optimize resource utilization and prevents any single point of failure. In cloud environments, load balancing can be implemented at different levels, such as application load balancing and network load balancing.
Automated Failover: Automated failover mechanisms detect failures or issues in real-time and automatically switch to backup resources or systems. This ensures continuity of service without manual intervention. Cloud platforms often provide services that support automated failover for databases, virtual machines, and other resources.
Scalability: High availability often goes hand-in-hand with scalability. Cloud environments allow for dynamic scaling, where resources can be added or removed based on demand. This elasticity helps in handling varying workloads and ensures that the system remains available during peak usage.
Geographic Distribution: Distributing resources across multiple geographic regions or data centers enhances availability. If a particular region or data center experiences a disruption, services can be redirected to another location. Cloud providers typically offer global infrastructure that allows users to deploy resources in various regions.
Monitoring and Management: Implementing robust monitoring and management practices is crucial for identifying and addressing issues promptly. Cloud providers offer monitoring tools and services that enable continuous tracking of resource health, performance, and availability.
Data Backups and Recovery: Regular data backups and effective disaster recovery plans are essential components of high availability. Cloud platforms often provide backup services and tools for creating and managing backup copies of data.
Security Practices: Ensuring security is an integral part of high availability. Implementing strong security measures helps protect systems from potential threats and unauthorized access, contributing to the overall reliability of the system.
By combining these principles and leveraging the features provided by cloud providers, organizations can design and deploy highly available architectures that meet the demands of modern, always-on applications and services.
Reliability (a.k.a. Fault Tolerance / Disaster Recovery)
Reliability in the context of cloud computing refers to the ability of cloud services and infrastructure to consistently deliver the expected level of performance, availability, and resilience. Cloud reliability is crucial for ensuring that applications and services hosted in the cloud are accessible, performant, and dependable. Several factors contribute to the reliability of cloud services:
Service Level Agreements (SLAs): Cloud providers typically offer SLAs that define the expected level of service availability, performance, and support. These agreements set the standard for reliability and provide customers with assurances regarding the quality of the services.
Redundancy and Failover: Cloud providers implement redundancy at various levels, such as data centers, servers, and networking components. This redundancy helps ensure continuous operation, even in the event of hardware failures or other disruptions. Failover mechanisms automatically switch to backup resources to minimize downtime.
Data Center Locations and Availability Zones: Cloud providers operate multiple data centers across different geographic regions. Availability Zones (AZs) within a region offer separate, physically isolated locations with independent power, cooling, and networking. Distributing resources across multiple zones enhances reliability and resilience.
Load Balancing: Cloud platforms use load balancing to distribute incoming traffic across multiple servers or instances. This not only optimizes resource utilization but also ensures that no single point of failure affects the entire system.
Automated Scaling: Cloud environments allow for automatic scaling of resources based on demand. This elasticity ensures that applications can handle varying workloads and traffic spikes, contributing to both performance and reliability.
Monitoring and Analytics: Cloud providers offer monitoring tools that allow users to track the performance, health, and availability of their resources. Analytics and metrics help identify potential issues before they impact reliability.
Security Measures: Strong security practices contribute to the overall reliability of cloud services. Security measures, such as encryption, access controls, and threat detection, help protect against data breaches and unauthorized access.
Disaster Recovery: Cloud providers often provide disaster recovery solutions, allowing users to replicate data and applications across multiple regions. This ensures that, in the event of a major disruption, services can be quickly restored from backup copies.
Regular Maintenance and Updates: Cloud providers perform regular maintenance on their infrastructure to apply updates, patches, and security fixes. This is done in a way that minimizes disruptions to services, and users are often notified in advance.
Service Health Dashboards: Cloud providers typically offer service health dashboards that provide real-time information about the status of their services. Users can check these dashboards to stay informed about any ongoing issues or maintenance activities.
Documentation and Support: Clear documentation and responsive customer support contribute to the reliability of cloud services. Having access to reliable support channels is crucial for addressing issues promptly.
Reliability is a shared responsibility between the cloud provider and the cloud customer. While providers ensure the reliability of the underlying infrastructure, customers must design and deploy their applications in a way that takes advantage of the cloud's features to maximize reliability.
Resilience
The ability of a system to recover from failures and continue to function
Deploy in Multiple Locations
• Global-scale computing
• Protects against regional failure/disaster
No Single Point of Failure
• Resources in multiple locations
• If one computer goes down, others pick up the load
Scalability in the context of cloud computing refers to the ability of a system, application, or infrastructure to handle increased workloads by efficiently adapting and expanding its resources. Cloud scalability allows organizations to accommodate growing demands without sacrificing performance, ensuring that services remain responsive and available even as user numbers, data volumes, or processing requirements increase. There are two main types of scalability: horizontal scalability and vertical scalability.
1. Vertical or Scale Up – In this type of scaling configuration we increase the capacity of the existing hardware or machine. For example, if you are having a desktop of 4GB RAM and tomorrow you increase the RAM of your machine to 16GB then this is nothing but the vertical scaling.
2. Horizontal or Scale Out – In this type of scaling configuration we increase the count of machines without increasing the capacity. For example, if you have a server of 8GB RAM and tomorrow you put another server of same RAM and so on. When you do horizontal scaling essentially you increase the computing power in parallel so you get better performance. This is horizontal scaling.
Automatically adjust resources to meet demand.
Example: Increase the number of VMs to handle peak traffic. Don’t overpay for services.
Automatically reduce resources when demand drops.
Horizontal vs. Vertical Scaling
Horizontal = Adding additional VMs/containers
• “Scaling out”
Vertical = Increasing power (e.g., CPU/RAM) of existing VMs
• ”Scaling up”
‘Typical’ cloud model = Horizontal scaling
Predictability in cloud computing refers to the ability to anticipate and control the performance, behavior, and costs of cloud-based services and resources. It is an important aspect for organizations that rely on cloud services to run their applications and businesses. Predictability encompasses several key dimensions in the cloud environment:
Performance
• Consistent experience for customers regardless of traffic.
• Autoscaling, load balancing, and high availability provide a consistent experience.
Costs
• No unexpected surprises.
• Track and forecast resource usage (costs) in real time.
• Analytics provide patterns/trends to optimize usage.
Predictable Performance and Costs
Management
Full control of the security of your cloud environment. Patches, maintenance, network control, and more!
• Standardized environments
• Regulatory requirements
• Audit for compliance
Management of the cloud:
• Autoscaling
• Monitoring
• Template-based deployments
Management in the cloud:
• Portal
• CLI
• APIs
Exam Tips
Cloud computing has terms that are specific and critical to understanding it.
• High availability means systems are always available — even automatically!
• Reliability describes how Azure can tolerate failures or even disasters.
• Scalability refers to scaling out or scaling up while automatically providing resources as needed.
• Predictability is knowing your application will always perform as expected and knowing what it will cost.
• Security is having full control of your cloud security posture.
• Governance is standardizing cloud deployments to meet requirements/company standards
• Manageability is management of cloud resources and how we interact with them.
The Language of Cloud Economics
Capital and Operational Expenditure
Capital Expenditure: Money spent by a business or organization on acquiring or maintaining fixed assets, such as land, buildings, and equipment.
Large upfront investments
Operational Expenditure
An ongoing cost for running a product, business, or system on a day-to-day basis, including annual costs.
Pay-as-you-go
THE LANGUAGE OF CLOUD ECONOMICS Using the right budget in a company can enable huge change.
• Capital Expenditure (CapEx) is buying hardware outright, paid upfront as a one-time purchase.
• Operational Expenditure (OpEx) is ongoing costs needed to run your business.
• Consumption-based pricing lets you pay only for what you use.
Cloud Service Models
3 Cloud Service Models
Infrastructure as a Service
Platform as a Service
Software as a Service
Infrastructure as a Service (IaaS)
Definition: IaaS provides virtualized computing resources over the internet. Users can rent virtual machines, storage, and networking infrastructure on a pay-as-you-go basis.
Characteristics: Users have control over the operating system, applications, and network configurations. It offers high flexibility and scalability, allowing users to scale resources up or down based on demand. Examples include virtual machines, storage, and network components.
• Organization has complete control of the infrastructure.
• Dynamic and flexible. You can do almost anything.
• Cost varies depending on consumption.
• Services are highly scalable.
• Multiple users share a single piece of hardware.
Example: VM, VNet, Storage
Platform as a Service (PaaS)
Definition: PaaS provides a platform that includes not only the underlying infrastructure but also development tools, databases, and other services. It abstracts away the complexity of managing the infrastructure.
Characteristics: Users focus on developing and deploying applications without worrying about the underlying infrastructure.
It streamlines the development process by providing pre-built components and services. Examples include application hosting platforms, databases, and development frameworks.
• Resources are virtualized and can easily be scaled up or down as needed.
• Services often assist with the development, testing and deployment of apps.
• Multi-user access via the same development application.
• Integrates web services and databases.
Example: App Services, Azure CDN, Cosmos DB, Azure SQL Database
Serverless
Of course there are servers!
Azure Functions is the best-known serverless service
Serverless computing enables developers to build applications faster by eliminating the need for them to manage infrastructure. With serverless applications, the cloud service provider automatically provisions, scales, and manages the infrastructure required to run the code. Common Examples: Azure Functions
Software as a Service (SaaS)
Definition: SaaS delivers fully functional software applications over the internet on a subscription basis. Users can access the software through a web browser without needing to install or maintain it locally.
Characteristics: Users do not manage the infrastructure, software updates, or maintenance; everything is handled by the service provider. It provides a ready-to-use solution for specific business needs. Examples include email services, customer relationship management (CRM) software, and collaboration tools.
• Managed from a central location.
• Hosted on a remote server.
• Accessible over the internet.
• Users not responsible for hardware or software updates.
• Rate limiting/QoS.
Example: Microsoft 365
On Demand
On-demand-computing is a cloud-computing model where computing resources are assigned on an as-needed and when-needed basis. On-demand computing can be maintained and managed on premise or by a cloud service provider, depending on the scope of your organization and its information requirements
Pay as you go
The Pay as You Go model is billed on a per second basis and you can start or stop the service at any time - paying only for what you sue.
Service is the core of Azure, and there are three main ways to go about it.
• IaaS provides servers, storage and networking as a service.
• PaaS is a superset of IaaS and includes middleware, such as database management tools.
• SaaS is when a service is built on top of PaaS, like Office 365.
• The shared responsibility model outlines who is responsible for which cloud service model. Is it you or Microsoft?
• Serverless means you don’t have any servers. It lets a single function be hosted, deployed, run and managed on its own.
Cloud Architecture Models
Cloud computing provides services and applications on demand over the internet. Servers, applications, data, and other resources are provided as a service.
To the user, the details of the services are abstracted. You can quickly provision computing resources and use the service with minimal management. You shouldn't think of cloud computing as a datacenter available through the internet. Cloud computing uses virtualization, commodity hardware, and automated processes to provide a self-service user experience to customers, similar to a public utility.
There are three deployment models for cloud computing: public cloud, private cloud, and hybrid cloud. The following illustration shows an overview of these deployment models:
Private Cloud
A private cloud consists of computing resources used exclusively by users from one business or organization. It can be physically located at your organization’s on-site datacenter, or it can be hosted by a third-party service provider. The term private cloud shouldn't be considered a rebranding of traditional on-premises datacenters. A private cloud uses on-premises infrastructure and services to provide similar benefits of the public cloud. It uses an abstraction platform to provide cloud-like services such as Kubernetes clusters, or a complete cloud environment like Azure Stack. The organization is responsible for purchasing, configuring, and maintaining the hardware. Communication between the systems is usually on the network infrastructure that the business owns and maintains; for example, a private internal network or a dedicated fiber-optic connection between buildings.
Imagine you work at a healthcare company and you have an application that's in use at one of your datacenters. The operating environment can't be replicated in the public cloud. You have a new requirement to access data at another one of your datacenters. The database containing the data needs to remain at the other site because of regulatory compliance. This scenario is a private cloud. You have two datacenters your organization owns. You could use a public-cloud VPN over the internet to connect the datacenters. However, the scenario would be considered a private cloud, since the solution is private to the organization.
Why private cloud?
A private cloud can provide more flexibility to an organization. Your organization can customize its cloud environment to meet specific business needs. Since resources aren't shared with others, high levels of control and security are possible. Also, private clouds can provide a level of scalability and efficiency.
Examples of why you'd use private cloud:
• Pre-existing environment: An existing operating environment that can't be replicated in the public cloud. A large investment in hardware and employees with solution expertise. A large organization can choose to commoditize their computing resources.
• Legacy applications: Business-critical legacy applications that can't easily be physically relocated.
• Data sovereignty and security: Political borders and legal requirements might dictate where data can physically exist.
• Regulatory compliance / certification: PCI or HIPAA compliance. Certified on-premises datacenter.
Private Cloud Pros, Cons
Pros
- Complete control of infrastructure
- Benefits of public cloud
- Better security and privacy
Cons
- Maintenance
- Staffing
Public cloud
Public clouds are the most common way to deploy cloud computing. Services are offered over the public internet and available to anyone who wants to purchase them. The cloud resources, such as servers and storage, are owned and operated by a third-party cloud service provider and delivered over the internet. Services might be free or sold on demand, allowing customers to pay only per usage for the CPU cycles, storage, or bandwidth they consume. Microsoft Azure is an example of a public cloud.
Let's imagine your healthcare company needs an enrollment website. The site needs to scale and be responsive during peak enrollment at various times during the year. Your customers access the site from global locations. You can use the public cloud to automatically scale up to meet demand at peak enrollment. When site traffic is low, your site can scale down to save costs. Your site is responsive at peak demand, and you only pay for more resources when needed. You can also deploy your website in multiple geographic regions to increase reliability and responsiveness.
During your website's development, developers want to create multiple development environments to speed their development process. Developers can use the public cloud to quickly provision virtual machines for sandboxed environments to develop a solution. When the developers no longer need an environment, they can delete it.
Why public cloud?
Public clouds can be deployed faster than on-premises infrastructures and with an almost infinitely scalable platform. Every employee of a company can use the same application from any office or branch, using their device of choice, as long as they can access the internet.
Examples of why you'd use public cloud:
• Service consumption through on-demand or subscription model: The on-demand or subscription model allows you to pay for the amount of CPU, storage, and other resources that you use or reserve.
• No up-front investment in hardware: No requirement to purchase, manage, and maintain on-premises hardware and application infrastructure. The cloud service provider is held responsible for all management and maintenance of the system.
• Automation: Quickly provision infrastructure resources using a web portal, scripts, or automation.
• Geographic dispersion: Store data near your users or in desired locations without having to maintain your own datacenters.
• Reduced hardware maintenance: The service provider is responsible for hardware maintenance.
Public Cloud, Pros & Cons
- No purchase of hardware
- Low monthly fees
- No control over features and versions
- No physical access
Hybrid cloud
A hybrid cloud is a computing environment that combines a public cloud and a private cloud by allowing data and applications to be shared between them. When computing and processing demand fluctuates, hybrid-cloud computing gives businesses the ability to seamlessly scale their on-premises infrastructure up to the public cloud to handle any overflow without giving third-party datacenters access to the entirety of their data. Organizations gain the flexibility and computing power of the public cloud for basic and nonsensitive computing tasks, while keeping business-critical applications and data on-premises safely behind a company firewall.
Using a hybrid cloud helps eliminate the need to make up-front capital expenditures to handle short-term spikes in demand. It also has the flexibility to manage which resources are local versus resources in the cloud. Companies pay only for resources they temporarily use instead of having to purchase, program, and maintain extra resources and equipment that could remain idle over long periods of time. Integration is generally through a secure VPN between cloud providers like Azure and on-premises datacenters.
Imagine you work at a healthcare company and you have an application where customers can access their healthcare information. A regulation requires that the data needs to remain at a physical location. The customer website needs to be responsive to its many global users. As a solution, the database could be hosted in an on-premises datacenter, and the website could be hosted in the public cloud. You could use a VPN between the on-premises datacenter and the public cloud. This scenario would be considered a hybrid cloud.
Why hybrid cloud?
A hybrid cloud allows your organization to control and maintain a private infrastructure for sensitive assets. It also gives you the flexibility to take advantage of extra resources in the public cloud when you need them. With the ability to scale to the public cloud, you pay for extra computing power only when needed. It can also ease transitioning to the cloud. You can migrate gradually by phasing in workloads over time.
Examples of why you'd use hybrid cloud:
• Existing hardware investment: Business reasons require that you use an existing operating environment and hardware.
• Regulatory requirements: Regulation requires that the data needs to remain at a physical location.
• Unique operating environment: Public cloud can't replicate a legacy operating environment.
• Migration: Move workloads to the cloud over time.
Hybrid Cloud, Pros, Cons
- Avoid disruptions and outages
- Adhere to regulation, governance etc.
- Span both public and private cloud
- Alleviate CapEx investments
- Complex infrastructure
Which cloud deployment model would be the best match for the following situation? A SQL server database is needed for a short-term project. The IT department does not have available hardware that meets the performance requirements or resources to deploy it. The project starts next week. Once the project is over, the database is no longer needed.
Public cloud: The need for a quick deployment and the short lifecycle of the SQL database make public cloud the best option.
Which cloud deployment model is described in the following scenario? You create several virtual machines in the cloud. The VMs are networked together using a virtual network. The VMs have access to x-ray image files in cloud storage. One of the VMs is a web server that host a website exposed to the Internet for customers to access their records. There is a VPN that connects the solution to your on-premises datacenter for customer information to display with the image files.
Hybrid cloud: This scenario uses both public and private cloud with a connection between the two. Therefore, it is a hybrid cloud deployment.
Which cloud deployment model is described in the following scenario? You have two datacenters in your organization. One datacenter has a database that can only reside in one of the datacenters because of a regulatory requirement. You want to access the database from the other datacenter. You create a VPN using a cloud provider to connect the two datacenters.
Private cloud: The VPN is a public cloud resource; however, because the VPN is a private connection between two private datacenters, this is a private cloud deployment.
• Private cloud is Azure on your own hardware in a location of your choice. All the benefits of public cloud, but you can lock it down. A lot of staff required.
• Public cloud is Azure, AWS, GCP. No upfront costs, but monthly usage. Little control over services and infrastructure.
• A hybrid cloud model is the best of private and public, but could be complex.
Region Definition: Breakdown
“A set of datacenters”
Each region has more than one data center, which is a physical location.
“Latency-defined perimeter”
Latency is the time it takes data to travel. It also means data centers are not “too far” from each other.
“Regional low-latency network”
A fiber connection between data centers in the region.
Two or more data centers, not too far from each other, connected with a fiber connection
How to Choose a Region
Location
Choose a region closest to your users to minimize latency.
Features
Some features aren’t in all regions. If you need a specific feature, some regions might be unavailable.
Price
The price of services varies from region to region.
You will often have to choose which is the most important: location, features or price.
Paired Regions
Each Region Is Paired
All (except Brazil South) are paired within the same geographic area.
Outage Failover
If the primary region has an outage, you can fail over to the secondary region.
Planned Updates
Only one region in a pair is updated at any one time.
Replication
Some services use paired regions for replication.
Availability Zones
Physical Location
Each Availability Zone is a physical location within a region.
Independent
Each zone has its own power, cooling and networking.
Zones
Each region has a minimum of three zones.
Summary REGIONS AND AVAILABILITY ZONES
Azure Region
A set of data centers that are close enough to each other that it doesn’t matter which data center your data is in. Latency is the time it takes for data to travel.
Availability Zone
Physically located within a region, and each zone has its own separate power, cooling and networking. Used for protecting data from failures.
Resource Groups & Azure Resource Manager
Resource Group Facts
One Resource
Each resource can only exist in a single resource group.
Add/Remove
You can add or remove resources to any resource group at any time.
Move Resource
You can move a resource from one resource group to another.
Multiple Regions
Resources from multiple regions can be in one resource group.
Access Control
You can give users access to a resource group and everything in it.
Interact
Resources can interact with other resources in different resource groups.
A resource group has a location, or region, as it stores meta data about the resources in it.
Azure Resource Manager (ARM) - ARM Benefits
Group Resource Handling
You can deploy, manage and monitor resources as a group.
Consistency
Deploying resources from various tools will always result in the same consistent state.
Dependencies
Define dependencies between resources to make sure they don’t get in a fight.
Built-in features in the ARM make it easy to assign access rights to users.
Tagging
Tag resources to easily identify them for future scenarios. Tagging is a way to label individual resources.
Billing
Use tagging to stay on top of billing for groups of resources.
Zuletzt geändertvor einem Jahr