Summary of Introduction to Cloud Computing
The provided source material explores the fundamental concepts of cloud computing with a focus on Amazon Web Services (AWS). Here is a summary:
What is Cloud Computing?
- Cloud computing enables users to store and access data and programs on remote servers hosted on the internet, rather than relying on a computer’s hard drive or local server.
- Cloud computing offers scalability and flexibility by providing IT resources on demand via the internet.
- The source likens cloud computing to Infrastructure as Software, contrasting it with the traditional model of Infrastructure as Hardware. This shift eliminates the need for physical space, dedicated staff, and capital expenditure associated with traditional computing.
Benefits of Cloud Computing
- Cost Efficiency: Companies can save around 15% by migrating to the cloud. This is achieved through a pay-as-you-go model, reducing capital expenditures on physical infrastructure.
- Scalability: Resources can be scaled up or down based on demand, ensuring optimal performance and cost efficiency.
- Reliability: Cloud services are generally dependable and offer data backup and recovery solutions.
- Improved Work-Life Balance for Employees: By outsourcing server management to the cloud provider, employees are freed from tasks like security, maintenance, and ensuring functionality, particularly during holidays.
Disadvantages of Cloud Computing
- Security Concerns: Storing sensitive data on external servers raises concerns about data security and privacy.
- Downtime and Reliability: Despite generally being reliable, cloud services can experience unexpected downtime due to server issues, network problems, or maintenance by cloud providers.
- Dependency on Internet Connectivity: Accessing cloud resources requires a stable and high-speed internet connection, which can be a challenge in regions with limited connectivity.
- Cost Management Complexity: While the pay-as-you-go model is beneficial, it can lead to cost management difficulties if resource utilization is not carefully monitored and optimized.
Cloud Hosting and Virtualization
- Cloud hosting addresses server slowdowns caused by increased traffic, enabling websites to scale as needed without dedicated servers.
- Virtualization is a software technology that creates a virtual environment by logically isolating physical resources like RAM, CPU, and storage. This enables efficient resource allocation, enhanced scalability, and cost-effectiveness.
Architecture of Cloud Computing
The architecture of cloud computing comprises three main components:
- Front End: Includes both thin clients (web browsers for lightweight access) and fat clients (offering more functionalities).
- Back End: Consists of servers for application logic management and storage for efficient data handling.
- Cloud-Based Delivery and Network: Provides on-demand access to computing resources over the Internet, Intranet, and Intercloud.
Cloud Service Models
- IaaS (Infrastructure as a Service): Provides virtualized computing resources, allowing users control over the operating system and applications. Offers flexibility, cost savings, and scalability.
- PaaS (Platform as a Service): Offers a platform for application development, abstracting the underlying infrastructure. Streamlines development, enhances efficiency, and automates scaling.
- SaaS (Software as a Service): Delivers software applications over the internet, managed by the provider. Facilitates collaboration, automates updates, and reduces IT support costs.
Cloud Deployment Models
- Public Cloud: Open to anyone, offering scalability and cost-effectiveness but with potential security concerns. AWS example: Amazon EC2
- Private Cloud: Exclusive to a single organization, providing enhanced security and control but at a higher cost. AWS example: Amazon VPC
- Hybrid Cloud: Combines public and private clouds, offering flexibility and scalability while maintaining security for sensitive data.
AWS Global Infrastructure
- AWS operates globally with data centres in strategically located regions and Availability Zones (AZs).
- Regions are geographically separated areas containing multiple AZs designed for fault isolation.
- AZs are clusters of data centres within a region, physically separated and highly isolated.
AWS Shared Responsibility Model in Security
- AWS is responsible for “Security of the Cloud”, protecting the infrastructure that runs AWS services.
- Customers are responsible for “Security in the Cloud”, managing security aspects within their chosen services.
- This model clarifies the division of responsibilities for various security aspects, including data protection, identity and access management, and compliance.