Cloud Concepts and Technologies Dr.K.Kalaiselvi Associate Professor , Department of Computer Science Kristu Jayanti college,Bangalore UNIT 2
CONTENT Virtualization - Hypervisor, Virtual machine monitor; Types of virtualization - Hardware, Operating system; Server virtualization; Software defined networking, Network function virtualization; Data Center - Components, types, Characteristics; Service level agreement; Load balancing; Scalability and elasticity.
VIRTUALIZATION
Virtualization Virtualization is a technology that enables the creation of virtual versions of physical resources, such as computers, servers, storage devices, or networks. These virtual instances can run multiple operating systems or applications on a single physical machine, allowing for more efficient use of resources and better isolation.
Virtualization Virtualization is the process of creating a software-based or virtual representation of something, such as virtual applications, servers, storage and networks
TYPES OF Virtualization Server Virtualization : This is one of the most common forms of virtualization. It involves creating multiple virtual servers on a single physical server. Each virtual server operates as if it were a separate physical machine, running its own operating system and applications. It also makes a lot of resources available for sharing and utilizing, while maintaining the capacity to expand them when needed Desktop Virtualization : Also known as Virtual Desktop Infrastructure (VDI), this type of virtualization allows multiple virtual desktop instances to run on a single physical machine. Users can access these virtual desktops remotely from their devices. Emulate a workstation load, allows the user to access the desktop remotely .As the workstation is running in a data center server, access to it can be both more secure and portable. Application Virtualization : In this approach, individual applications are encapsulated and run in isolated environments. This allows applications to be deployed and managed independently of the underlying operating system. An application created for one OS can run on a completely different operating system
Benefits of virtualization Resource Efficiency : Virtualization allows for better utilization of hardware resources by running multiple virtual instances on a single physical machine. Isolation: Virtualization provides strong isolation between virtual instances, enhancing security and stability. Cost Savings: By consolidating servers and reducing the need for physical hardware, virtualization can lead to cost savings in terms of hardware, power, cooling, and maintenance. Flexibility and Scalability: Virtualized environments are easier to scale up or down as needed, making it more adaptable to changing demands. Disaster Recovery: Virtual machines can be easily backed up, replicated, and restored, improving disaster recovery capabilities.
TYPES OF Virtualization Network Virtualization: This involves creating virtual networks that operate independently of the physical network infrastructure. It can help in optimizing network traffic and improving security. Storage Virtualization: This technology abstracts physical storage resources, such as hard drives and storage arrays, into virtual storage pools that can be easily managed and allocated to different systems. Hardware Virtualization: This includes technologies like hypervisors that enable multiple operating systems to run on a single physical machine simultaneously.
Common virtualization platforms and technologies include Server Virtualization: VMware vSphere/ ESXi Microsoft Hyper-V KVM (Kernel-based Virtual Machine) Oracle VirtualBox Desktop Virtualization: VMware Horizon View Citrix Virtual Apps and Desktops (formerly XenDesktop ) Microsoft Remote Desktop Services Parallels Desktop for Mac Application Virtualization: Microsoft App-V (Application Virtualization) Docker (for containerized applications) Citrix Virtual Apps Network Virtualization: VMware NSX Cisco Application Centric Infrastructure (ACI) Juniper Contrail Networking Storage Virtualization: EMC VPLEX IBM SAN Volume Controller (SVC) Windows Storage Spaces Hardware Virtualization: Oracle VM VirtualBox QEMU (Quick Emulator) Xen Project
Hypervisor A hypervisor, also known as a virtual machine monitor (VMM), is a software or hardware component that enables the creation and management of virtual machines (VMs). It allows multiple operating systems to run on a single physical machine simultaneously. The hypervisor acts as an intermediary layer between the physical hardware and the virtual machines, providing each VM with its own isolated environment. It abstracts guest machines and the operating system they run on, from the actual hardware. Hypervisors create a virtualization layer that separates CPU / Processors, RAM and other physical resources from the virtual machines . The machine we install a hypervisor on is called a host machine guest virtual machines that run on top of them
Type 1 Hypervisors / Native Hypervisors / Bare-metal Hypervisor run directly on the host hardware and control the hardware and monitor the guest operating Systems A bare-metal hypervisor is a layer of software we install directly on top of a physical server and its underlying hardware There is no software or any operating system in between, hence the name bare-metal hypervisor
This type of hypervisor runs directly on the physical hardware without the need for a host operating system. It has direct access to the hardware resources and is considered more efficient and secure. Type 1 hypervisors are commonly used in enterprise data centers and cloud environments. Examples of Type 1 Hypervisors: VMware vSphere/ ESXi Microsoft Hyper-V KVM (Kernel-based Virtual Machine) Xen
How it works? Hardware Abstraction : The Type 1 hypervisor interacts directly with the computer's hardware components, such as the CPU, memory, storage, and network interfaces. It abstracts these hardware resources and presents them as virtualized components to the VMs. Bootstrapping: When the physical machine boots up, the Type 1 hypervisor is loaded first. This is different from traditional operating systems, which usually load first. The hypervisor's boot process involves initializing its own components and establishing direct control over the hardware. Resource Allocation: The hypervisor manages the physical resources and divides them into virtual resources that can be assigned to individual VMs. It sets up separate memory spaces, CPU time slices, and I/O channels for each VM. Virtual Machine Creation: The Type 1 hypervisor creates and manages multiple VMs on the physical hardware. Each VM acts as an isolated environment, capable of running its own guest operating system and applications. Guest OS and Applications: Each VM hosted on the hypervisor runs its own guest operating system and applications. These guest components interact with the virtualized hardware resources provided by the hypervisor, which in turn manages their communication with the physical hardware. Hypervisor Control: The hypervisor maintains control over the hardware and manages the execution of the VMs. It ensures that the VMs run in isolation, preventing one VM from affecting others. The hypervisor also handles tasks like VM migration, load balancing, and resource optimization. Performance Optimization: Since the Type 1 hypervisor operates directly on the hardware, it generally provides better performance and resource utilization compared to Type 2 hypervisors (hosted hypervisors) that run atop a traditional operating system. There is less overhead involved in managing virtualized resources.
Type 2 Hypervisors / Hosted Hypervisors They run on top of a conventional operating system and monitor the guest operating systems hosted hypervisors have one software layer underneath It has: A physical machine An operating system installed on the hardware (Windows, Linux, macOS) A type 2 hypervisor software within that operating system The actual instances of guest virtual machines
Type 2 hypervisors run on top of a host operating system and share its resources. They are generally used for development, testing, and less resource-intensive scenarios. Type 2 hypervisors are typically installed on desktop or laptop systems. Examples of Type 2 Hypervisors: VMware Workstation Oracle VirtualBox Parallels Desktop (for Mac)
Hypervisors provide several key functionalities: Isolation: Each virtual machine is isolated from other VMs, providing security and preventing one VM from affecting others. Resource Allocation: Hypervisors manage the allocation of CPU, memory, storage, and other hardware resources to virtual machines. Live Migration: Many hypervisors support live migration, allowing a running VM to be moved from one physical host to another without interruption. Snapshotting: Hypervisors enable the creation of snapshots, which are point-in-time copies of a VM's state. Snapshots can be used for backup, testing, and recovery purposes. Hardware Abstraction: Hypervisors abstract the underlying hardware, allowing virtual machines to be more portable and independent of the physical hardware.
Virtualization Reference Model
Virtualization Approaches
Server Virtualization: Server virtualization involves creating multiple virtual machines (VMs) on a single physical server. Each VM runs its own guest operating system and applications, isolated from each other. This approach maximizes server utilization and helps consolidate hardware resources. Examples of server virtualization technologies include VMware vSphere, Microsoft Hyper-V, and KVM. Desktop Virtualization: Desktop virtualization allows multiple virtual desktop instances to run on a single physical machine. This can provide centralized management, security, and flexibility in delivering desktop environments to users. There are different types of desktop virtualization, including Virtual Desktop Infrastructure (VDI) and Remote Desktop Services (RDS). Application Virtualization: Application virtualization separates applications from the underlying operating system, allowing them to run in isolated environments. This can simplify application deployment and management, reduce conflicts between applications, and enhance security. Examples include Docker and Microsoft App-V. Network Virtualization: Network virtualization involves abstracting and virtualizing network resources, such as switches, routers, and firewalls. It allows for the creation of virtual networks that can be isolated, managed, and customized independently of the physical network infrastructure. Technologies like VMware NSX and Cisco ACI enable network virtualization .
Hardware Virtualization: Hardware virtualization involves creating virtual instances of physical hardware components, such as CPUs, memory, and I/O devices. This is the basis for server and desktop virtualization. Type 1 hypervisors, as mentioned earlier, are a form of hardware virtualization. Containerization: Containerization is a lightweight form of virtualization that encapsulates applications and their dependencies in isolated containers. Containers share the host operating system kernel, making them more efficient than traditional VMs. Docker is a popular technology for containerization. Operating System-Level Virtualization: Operating system-level virtualization, also known as container-based virtualization, allows multiple instances of an operating system to run on a single host. Each instance, called a container, shares the host's kernel and resources but remains isolated from other containers. This approach is well-suited for lightweight applications and microservices. Storage Virtualization: Storage virtualization abstracts physical storage resources and presents them as logical storage units. This simplifies storage management, enables features like snapshots and replication, and enhances flexibility in provisioning storage to different systems. Storage Area Networks (SANs) and Network Attached Storage (NAS) often employ storage virtualization.
Virtualization Approaches 1. Full Virtualization The virtualization layer fully decouples the guest OS from the underlying hardware The guest OS requires no modification and is not aware that it is being virtualized Full virtualization is enabled by direct execution of user requests and binary translation of OS requests no hardware assist or operating system assist to virtualize sensitive and privileged instructions Example: VMware’s virtualization products and Microsoft Virtual Server
Virtualization Approaches 2. Para-Virtualization The guest OS is modified to enable communication with the hypervisor to improve the performance and efficiency The guest OS kernel is modified to replace non virtualizable instructions with hypercalls that communicate directly with the virtualization layer hypervisor The hypervisor also provides hyper call interfaces for other critical kernel operations such as memory management, interrupt handling and time keeping
Virtualization Approaches 3. Hardware Virtualization Hardware assisted virtualization is enabled by hardware features such as Intel’s Virtualization Technology (VT-x) and AMD’s AMD-V In Hardware assisted virtualization privileged and sensitive calls are set to automatically trap to the hypervisor, removing the need for either binary translation or para-virtualization The guest state is stored in Virtual Machine Control Structures (VT-x) or Virtual Machine Control Blocks (AMD-V)
DATA CENTER
A data center is a physical location that stores computing machines and their related hardware equipment. It contains the computing infrastructure that IT systems require, such as servers, data storage drives, and network equipment. It is the physical facility that stores any company's digital data. What Does a Data Center Do? A data center is designed to handle high volumes of data and traffic with minimum latency, which makes it particularly useful for the following use cases: Private cloud: hosting in-house business productivity applications such as CRM, ERP, etc. Processing big data, powering machine learning and artificial intelligence. High-volume eCommerce transactions. Powering online gaming platforms and communities. Data storage, backup, recovery, and management.
A data center is a facility that centralizes an organization’s shared IT operations and equipment for the purposes of storing, processing, and disseminating data and applications Services Provided: Data storage, management, backup and recovery Productivity applications, such as email High-volume e-commerce transactions Powering online gaming communities Big data, machine learning and artificial intelligence Data Center
Data center components
Components Servers: These are the central computing units that process and store data. Servers come in various forms, including rack-mounted servers, blade servers, and tower servers. They are the workhorses of the data center, running applications and services. Storage Systems : Data centers use various types of storage systems, such as hard disk drives (HDDs), solid-state drives (SSDs), and storage area networks (SANs), to store and manage data. Storage systems provide the capacity for applications and services to store and retrieve data. Networking Equipment: This includes routers, switches, firewalls, and load balancers that enable communication between servers, devices, and users both within the data center and with the outside world. Networking equipment ensures data flows smoothly and securely. Power Infrastructure: Uninterruptible Power Supply (UPS): UPS systems provide backup power in case of an electrical outage, ensuring that critical equipment remains operational until generators can kick in. Generators: Backup generators are used to provide continuous power to the data center in case of prolonged outages. Power Distribution Units (PDUs): PDUs distribute power to servers and networking equipment. Some PDUs offer monitoring and remote management capabilities. Cooling Systems : Data centers generate a lot of heat due to the high-density nature of equipment. Cooling systems, such as air conditioning units and precision cooling systems, are essential to maintain an optimal operating temperature.
Security Infrastructure: Access Control Systems: These manage physical access to the data center through measures like biometric authentication, key cards, and security personnel. Surveillance and Monitoring: Cameras, sensors, and monitoring systems help ensure the security and integrity of the facility. Fire Suppression: Special fire suppression systems designed for data centers minimize the risk of equipment damage due to fire. Environmental Monitoring: Sensors and monitoring systems track temperature, humidity, airflow, and other environmental factors to ensure optimal operating conditions. Backup and Disaster Recovery Systems: These systems include off-site backups, data replication, and disaster recovery plans to ensure data can be restored in case of hardware failure or catastrophic events. Cabling Infrastructure: Proper cabling management is crucial for maintaining an organized and efficient data center. This includes power cables, networking cables, and fiber optic cables. Remote Management Tools: These tools enable administrators to monitor and manage the data center infrastructure remotely, allowing for quick response to issues and efficient management of resources. Physical Infrastructure: Data centers require specialized racks, cabinets, and cable management systems to house and organize the equipment. Software and Virtualization: Data centers utilize software for virtualization, server management, monitoring, and automation. Virtualization technology allows multiple virtual servers to run on a single physical server, optimizing resource usage.
Types of data centers There are different types of data center facilities, and a single company may use more than one type, depending on workloads and business need. Enterprise (on-premises) data centers In this data center model, all IT infrastructure and data is hosted on-premises. Many companies choose to have their own on-premises data centers because they feel they have more control over information security, and can more easily comply with regulations such as the European Union General Data Protection Regulation (GDPR) or the U.S. Health Insurance Portability and Accountability Act (HIPAA). In an enterprise data center, the company is responsible for all deployment, monitoring, and management tasks.
Types of data centers -cont.. Public cloud data centers Cloud data centers (also called cloud computing data centers) house IT infrastructure resources for shared use by multiple customers—from scores to millions of customers—via an Internet connection. Many of the largest cloud data centers—called hyperscale data centers —are run by major cloud service providers like Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud, Microsoft Azure, and Oracle Cloud Infrastructure . In fact, most leading cloud providers run several hyperscale data centers around the world. Typically, cloud service providers maintain smaller, edge data centers located closer to cloud customers (and cloud customers’ customers). For real-time, data-intensive workloads such big data analytics, artificial intelligence (AI), and content delivery applications, edge data centers can help minimize latency, improving overall application performance and customer experience.
Types of data centers -cont.. Managed data centers and colocation Facilities Managed data centers and colocation facilities are options for organizations that don’t have the space, staff, or expertise to deploy and manage some or all of their IT infrastructure on premises —but prefer not to host that infrastructure using the shared resources of a public cloud data center. In a managed data center , the client company leases dedicated servers, storage and networking hardware from the data center provider, and the data center provider handles the administration, monitoring and management for the client company. In a colocation facility , the client company owns all the infrastructure , and leases a dedicated space to host it within the facility. In the traditional colocation model, the client company has sole access to the hardware and full responsibility for managing it; this is ideal for privacy and security but often impractical, particularly during outages or emergencies. Today, most colocation providers offer management and monitoring services for clients who want them. Managed data centers and colocation facilities are often used to house remote data backup and disaster recovery technology for small and midsized businesses (SMBs).
Enterprise data centers These are built, owned, and operated by companies and are optimized for their end users. Most often they are housed on the corporate campus. Managed services data centers These data centers are managed by a third party on behalf of a company. The company leases the equipment and infrastructure instead of buying it. Colocation data centers In colocation ("colo") data centers, a company rents space within a data center owned by others and located off company premises. The colocation data center hosts the infrastructure: building, cooling, bandwidth, security, etc., while the company provides and manages the components, including servers, storage, and firewalls. Cloud data centers In this off-premises form of data center, data and applications are hosted by a cloud services provider such as Amazon Web Services (AWS), Microsoft (Azure), or IBM Cloud or other public cloud provider. Data Center-Types
Tier I: Basic Site Infrastructure This tier represents the simplest form of a data center. It has basic components like uninterruptible power supply (UPS) and rudimentary cooling systems. It provides 99.671% availability, allowing for approximately 28.8 hours of downtime per year. Tier II: Redundant Site Infrastructure Capacity Tier II data centers have redundant components for power and cooling, providing improved reliability compared to Tier I. They offer 99.741% availability, resulting in around 22 hours of downtime per year. Tier III: Concurrently Maintainable Site Infrastructure Tier III data centers have multiple active power and cooling distribution paths, allowing for maintenance without disrupting operations. They provide 99.982% availability, which means downtime is limited to about 1.6 hours per year. Tier IV: Fault-Tolerant Site Infrastructure Tier IV data centers have the highest level of redundancy and fault tolerance. They have dual-powered equipment, multiple independent distribution paths, and compartmentalization to prevent a single failure from affecting the entire system. They offer 99.995% availability, resulting in approximately 26 minutes of downtime per year.
Data Center Tiers by Uptime Tier I: 99.671% uptime; maximum downtime of 28.8 hours per year. Tier II: 99.741% uptime; maximum downtime of 22.7 hours per year. Tier III: 99.982% uptime; maximum downtime of 1.6 hours per year. Tier IV: 99.995% uptime; maximum downtime of 0.4 hours per year. Each tier builds upon the previous one in terms of infrastructure quality, redundancy, and reliability. Higher-tier data centers are generally more expensive to build and operate due to the increased level of redundancy and the additional measures taken to ensure uptime. The choice of tier depends on the specific needs of the organization, the criticality of the services being hosted, and the budget available for building and maintaining the data center.
LOAD BALANCING Load balancing is an essential technique used in cloud computing to optimize resource utilization and ensure that no single resource is overburdened with traffic. It is a process of distributing workloads across multiple computing resources, such as servers, virtual machines, or containers, to achieve better performance, availability, and scalability. Load balancing in the context of cloud computing refers to the distribution of network traffic or computing workloads across multiple servers, resources, or data centers to ensure efficient utilization, improved performance, and high availability. Cloud-based load balancing is a crucial component of modern IT infrastructures, as it helps prevent overloading of individual resources, enhances reliability, and provides a seamless experience for users accessing applications or services.
In cloud computing, load balancing can be implemented at various levels, including the network layer, application layer, and database layer. The most common load balancing techniques used in cloud computing are: Network Load Balancing: This technique is used to balance the network traffic across multiple servers or instances. It is implemented at the network layer and ensures that the incoming traffic is distributed evenly across the available servers. Application Load Balancing: This technique is used to balance the workload across multiple instances of an application. It is implemented at the application layer and ensures that each instance receives an equal share of the incoming requests. Database Load Balancing: This technique is used to balance the workload across multiple database servers. It is implemented at the database layer and ensures that the incoming queries are distributed evenly across the available database servers.
Advantages: Improved Performance : Load balancing helps to distribute the workload across multiple resources, which reduces the load on each resource and improves the overall performance of the system. High Availability: Load balancing ensures that there is no single point of failure in the system, which provides high availability and fault tolerance to handle server failures. Scalability: Load balancing makes it easier to scale resources up or down as needed, which helps to handle spikes in traffic or changes in demand. Efficient Resource Utilization: Load balancing ensures that resources are used efficiently, which reduces wastage and helps to optimize costs. Disadvantages: Complexity: Implementing load balancing in cloud computing can be complex, especially when dealing with large-scale systems. It requires careful planning and configuration to ensure that it works effectively. Cost: Implementing load balancing can add to the overall cost of cloud computing, especially when using specialized hardware or software. Single Point of Failure: While load balancing helps to reduce the risk of a single point of failure, it can also become a single point of failure if not implemented correctly. Security: Load balancing can introduce security risks if not implemented correctly, such as allowing unauthorized access or exposing sensitive data.
There are different types of load balancing strategies commonly used in cloud environments: Round Robin Load Balancing: In this method, incoming requests are distributed sequentially to different servers in a circular manner. It's a simple technique but doesn't take into account the actual load or performance of servers. Least Connections Load Balancing: This strategy directs incoming requests to the server with the fewest active connections at the moment. It helps to evenly distribute the load among servers. Least Response Time Load Balancing: Requests are sent to the server that has the least response time or is the quickest to respond. This approach can lead to efficient utilization of server resources. Weighted Round Robin/Weighted Least Connections: In this method, each server is assigned a weight, and the load balancer distributes requests based on these weights. Servers with higher weights receive more traffic, which can be helpful if certain servers have more capacity or better performance.
Session Affinity (Sticky Sessions): This technique directs a user's requests to the same server that initially handled their request. It's useful for applications that require maintaining session state or need consistent user experience. Content-based Load Balancing: Traffic is distributed based on specific attributes of the incoming requests, such as URL, content type, or other request headers. This is especially helpful for distributing traffic to different backend services or microservices. Geographic Load Balancing : Requests are distributed based on the geographic location of the user. This can help reduce latency and improve the user experience by routing them to the nearest data center. Dynamic Load Balancing: This approach considers real-time factors such as server health, load, and performance metrics to make intelligent decisions about where to route traffic. It ensures optimal resource utilization and responsiveness.
Load balancing solutions can be categorized into two types – Software-based load balancers: Software-based load balancers run on standard hardware (desktop, PC) and standard operating systems. Hardware-based load balancers: Hardware-based load balancers are dedicated boxes that contain application-specific integrated circuits (ASICs) optimized for a particular use. ASICs allow network traffic to be promoted at high speeds and are often used for transport-level load balancing because hardware-based load balancing is faster than a software solution.
Types of Load Balancing Load balancing can also be based on cloud-based balancers. Network Load Balancing Cloud load balancing takes advantage of network layer information and leaves it to decide where network traffic should be sent. This is accomplished through Layer 4 load balancing, which handles TCP/UDP traffic. It is the fastest local balancing solution, but it cannot balance the traffic distribution across servers. HTTP(S) load balancing HTTP(s) load balancing is the oldest type of load balancing, and it relies on Layer 7. This means that load balancing operates in the layer of operations. It is the most flexible type of load balancing because it lets you make delivery decisions based on information retrieved from HTTP addresses. Internal Load Balancing It is very similar to network load balancing, but is leveraged to balance the infrastructure internally.
Load balancers can be further divided into hardware, software and virtual load balancers. Hardware Load Balancer It depends on the base and the physical hardware that distributes the network and application traffic. The device can handle a large traffic volume, but these come with a hefty price tag and have limited flexibility. Software Load Balancer It can be an open source or commercial form and must be installed before it can be used. These are more economical than hardware solutions. Virtual Load Balancer It differs from a software load balancer in that it deploys the software to the hardware load-balancing device on the virtual machine.
Working of Load Balancers
Service level agreement (SLA) A cloud SLA (cloud service-level agreement) is an agreement between a cloud service provider and a customer that ensures a minimum level of service is maintained. A Service Level Agreement (SLA) is the bond for performance negotiated between the cloud services provider and the client . Earlier, in cloud computing all Service Level Agreements were negotiated between a client and the service consumer. Nowadays, with the initiation of large utility-like cloud computing providers, most Service Level Agreements are standardized until a client becomes a large consumer of cloud services. Service level agreements are also defined at different levels which are mentioned below: Customer-based SLA Service-based SLA Multilevel SLA
Service Level Agreements usually specify some parameters which are mentioned below: Availability of the Service (uptime) Latency or the response time Service components reliability Each party accountability Warranties Service Level Agreements are like insurance policies in which the corporation has to pay as per the agreements if any casualty occurs. Microsoft publishes the Service Level Agreements linked with the Windows Azure Platform components, which is demonstrative of industry practice for cloud service vendors. Each individual component has its own Service Level Agreements.
Two major Service Level Agreements (SLA)-Microsoft Windows Azure SLA – Window Azure has different SLA’s for compute and storage . For compute, there is a guarantee that when a client deploys two or more role instances in separate fault and upgrade domains, client’s internet facing roles will have external connectivity minimum 99.95% of the time . Moreover, all of the role instances of the client are monitored and there is guarantee of detection 99.9% of the time when a role instance’s process is not runs and initiates properly. SQL Azure SLA – SQL Azure clients will have connectivity between the database and internet gateway of SQL Azure. SQL Azure will handle a “ Monthly Availability ” of 99.9% within a month. Monthly Availability Proportion for a particular tenant database is the ratio of the time the database was available to customers to the total time in a month. Time is measured in some intervals of minutes in a 30-day monthly cycle. Availability is always remunerated for a complete month. A portion of time is marked as unavailable if the customer’s attempts to connect to a database are denied by the SQL Azure gateway.
Points to be noted Service Level Agreements are based on the usage model. cloud providers charge their pay-as-per-use resources at a premium and deploy standards Service Level Agreements only for that purpose. Clients can also subscribe at different levels that guarantees access to a particular amount of purchased resources. The Service Level Agreements (SLAs) attached to a subscription many times offer various terms and conditions. If client requires access to a particular level of resources, then the client need to subscribe to a service. A usage model may not deliver that level of access under peak load condition.
SLA LIFE CYCLE
Discover service provider : This step involves identifying a service provider that can meet the needs of the organization and has the capability to provide the required service. This can be done through research, requesting proposals, or reaching out to vendors. Define SLA: In this step, the service level requirements are defined and agreed upon between the service provider and the organization. This includes defining the service level objectives, metrics, and targets that will be used to measure the performance of the service provider. Establish Agreement: After the service level requirements have been defined, an agreement is established between the organization and the service provider outlining the terms and conditions of the service. This agreement should include the SLA, any penalties for non-compliance, and the process for monitoring and reporting on the service level objectives. Monitor SLA violation: This step involves regularly monitoring the service level objectives to ensure that the service provider is meeting their commitments. If any violations are identified, they should be reported and addressed in a timely manner. Terminate SLA: If the service provider is unable to meet the service level objectives, or if the organization is not satisfied with the service provided, the SLA can be terminated. This can be done through mutual agreement or through the enforcement of penalties for non-compliance. Enforce penalties for SLA Violation: If the service provider is found to be in violation of the SLA, penalties can be imposed as outlined in the agreement. These penalties can include financial penalties, reduced service level objectives, or termination of the agreement.
Advantages of SLA Improved communication: A better framework for communication between the service provider and the client is established through SLAs, which explicitly outline the degree of service that a customer may anticipate. This can make sure that everyone is talking about the same things when it comes to service expectations. Increased accountability: SLAs give customers a way to hold service providers accountable if their services fall short of the agreed-upon standard. They also hold service providers responsible for delivering a specific level of service. Better alignment with business goals: SLAs make sure that the service being given is in line with the goals of the client by laying down the performance goals and service level requirements that the service provider must satisfy. Reduced downtime: SLAs can help to limit the effects of service disruptions by creating explicit protocols for issue management and resolution. Better cost management: By specifying the level of service that the customer can anticipate and providing a way to track and evaluate performance, SLAs can help to limit costs. Making sure the consumer is getting the best value for their money can be made easier by doing this.
Disadvantages of SLA Complexity: SLAs can be complex to create and maintain, and may require significant resources to implement and enforce. Rigidity: SLAs can be rigid and may not be flexible enough to accommodate changing business needs or service requirements. Limited service options: SLAs can limit the service options available to the customer, as the service provider may only be able to offer the specific services outlined in the agreement. Misaligned incentives : SLAs may misalign incentives between the service provider and the customer, as the provider may focus on meeting the agreed-upon service levels rather than on providing the best service possible. Limited liability : SLAs are not legal binding contracts and often limited the liability of the service provider in case of service failure.
Cloud scalability
Scalability Cloud scalability refers to the ability of a cloud computing system to handle increased workloads and resource demands efficiently. It allows organizations to easily expand or reduce their computing resources (such as servers, storage, and networking) to accommodate changing needs. Scalability in the cloud is essential for handling varying traffic loads, improving performance, and optimizing cost-efficiency. It can be achieved through techniques like auto-scaling, load balancing, and leveraging cloud-native services
Types of scalability Vertical Scalability (Scaling Up): This involves increasing the capacity of a single resource in a server or virtual machine, such as adding more CPU, RAM, or storage. Vertical scalability is often limited by the physical constraints of the hardware and may reach a point where further upgrades become impractical or expensive. Horizontal Scalability (Scaling Out): This involves adding more instances or nodes to a system to distribute the workload. It is typically used in cloud computing and distributed systems. Horizontal scalability offers better potential for handling increased demand because it can grow by adding more commodity hardware or virtual machines. This approach is commonly used for web applications and services. Both types of scalability have their advantages and limitations, and the choice between them depends on the specific requirements and constraints of a system. Many modern applications combine both vertical and horizontal scalability strategies to achieve the desired performance and capacity.
Examples Vertical Scalability (Scaling Up): Database Server: You can vertically scale a database server by adding more CPU cores, increasing RAM, or upgrading storage capacity. This can help handle increased database traffic. Virtual Machine: If a virtual machine in a cloud environment is running out of resources, you can vertically scale it by allocating more CPU and RAM to accommodate higher workloads. Horizontal Scalability (Scaling Out): Web Servers: In a web application, you can horizontally scale web servers by adding more instances. Load balancers distribute incoming traffic across these instances to ensure even load distribution. Content Delivery Network (CDN): CDNs horizontally scale by placing content on servers distributed across various geographical locations. This reduces latency and handles increased user requests efficiently. Microservices Architecture: When using microservices , you can scale individual microservices independently by adding more instances. This allows you to focus resources where they are needed most, based on the service's demand. Elastic Auto-Scaling: Cloud platforms like AWS and Azure offer auto-scaling services that automatically add or remove instances based on traffic. For instance, if a web application experiences a sudden surge in traffic, it can horizontally scale out by adding more instances, and then scale back in during periods of lower demand. These examples demonstrate how both vertical and horizontal scalability can be applied to various components of an IT infrastructure to ensure optimal performance and resource management.
cloud scalability services offered by major cloud providers Amazon Web Services (AWS): Auto Scaling: Automatically adjusts the number of Amazon EC2 instances in response to traffic changes. Elastic Load Balancing: Distributes incoming traffic across multiple EC2 instances to ensure high availability and scalability. Microsoft Azure: Azure Auto-Scaling: Dynamically adjusts the number of virtual machines or cloud services based on demand. Azure Load Balancer: Distributes traffic to multiple virtual machines or services for scalability and fault tolerance. Google Cloud Platform (GCP): Google Cloud Autoscaler : Automatically adds or removes virtual machine instances in response to traffic changes. Google Cloud Load Balancing: Distributes traffic across multiple instances for high availability and scalability.
Cont.. IBM Cloud: IBM Auto-Scaling: Automatically adjusts the number of virtual servers or containers based on resource utilization. IBM Load Balancer: Distributes traffic across multiple servers or services for scalability and reliability. Oracle Cloud: Oracle Cloud Autoscaling : Automatically adjusts the number of compute instances in a virtual cloud network. Oracle Cloud Load Balancing: Distributes traffic across multiple instances to ensure scalability and fault tolerance.