What is Cloud Computing?
-
Servers are composed of:
- Compute: CPU
- Memory: RAM
- Storage: Data
- Database: Store data in a structured way
- Network: Routers, switch, DNS server
-
Network: Cables, routers and servers connected with each other
-
Router: A networking device that forwards data packets between computer networks. They know where to send your packets on the internet
-
Switch: Takes a packet and sends it to the correct server / client on your network
-
Problems with traditional IT approach:
- Pay for the rent for the data centre
- Pay for power supply, cooling, maintenance
- Adding and replacing hardware takes time
- Scaling is limited
- Hire 24/7 team to monitor the infrastructure
- Need to develop contingency plans for unexpected disasters
Cloud Computing
-
Cloud Computing: The on-demand delivery of compute power, database storage, applications and other IT resources
- Pay-as-you-go pricing
- Provision exactly the right type and size of computing resources necessary
- Access resources you need almost instantly
- Simple way to access servers, storage, databases and a set of application services
-
Type of Cloud deployment models:
- Private cloud: Cloud services used by a single organisation, not exposed to the public
- Public cloud: Cloud resources owned and operated by a third-party cloud service provider delivered over the Internet
- Hybrid cloud: Keep some servers on premises and extend some capabilities to the Cloud
-
Five characteristics of Cloud Computing:
- On-demand self service: Users can provision resources and use them without human interaction from the service provider
- Broad network access: Resources available over the network, and can be accessed by diverse client platforms
- Multi-tenancy and resource pooling: Multiple customers share the same physical resources and applications with security and privacy
- Rapid elasticity and scalability: Automatically acquire and dispose resources when needed. Quick and scalable on demand
- Measured service: Usage is measured, users pay correctly for what they have used
-
Six advantages of Cloud Computing:
- Trade capital expense (CAPEX) for operational expense (OPEX): Don't own hardware, reduced total cost of ownership (TCO) and OPEX
- Benefit from massive economies of scale: Prices are reduced as AWS is more efficient due to large scale
- Stop guessing capacity: Scale based on measured usage
- Increase speed and agility
- Stop spending money running and maintaining data centres
- Go global in minutes: Leveraging the AWS global infrastructure
-
Problems solved by the Cloud:
- Flexibility: Change resource types when needed
- Cost-Effectiveness
- Scalability
- Elasticity: Ability to scale out and scale in when needed
- High-availability and fault-tolerance: Rely on multiple data centres across different locations
- Agility: Rapidly develop, test and launch software applications
-
On-premises structure:
- Managed by you: Applications --> Data --> Runtime --> Middleware --> O/S --> Virtualisation --> Servers --> Storage --> Networking
-
Types of Cloud Computing:
- Infrastructure as a Service (IaaS): Provide building blocks for cloud IT, such as raw networking, computers and data storage space
- Managed by you: Applications --> Data --> Runtime --> Middleware --> O/S
- Managed by service: Virtualisation --> Servers --> Storage --> Networking
- Ex. AWSAmazon EC2, GCP, Azure, Rackspace, Digital Ocean, Linode
- Platform as a Service (PaaS): Removes the need for your organisation to manage the underlying infrastructure, focusing on the deployment and management of your applications
- Managed by you: Applications --> Data
- Managed by service: Runtime --> Middleware --> O/S --> Virtualisation --> Servers --> Storage --> Networking
- Ex. AWS Elastic Beanstalk, Heroku, Google App Engine, Windows Azure
- Software as a Service (SaaS): Completed product that is run and managed by the cloud service provider
- Managed by service: Applications --> Data --> Runtime --> Middleware --> O/S --> Virtualisation --> Servers --> Storage --> Networking
- Ex. AWS Rekognition for Machine Learning, Gmail, Dropbox, Zoom
- Infrastructure as a Service (IaaS): Provide building blocks for cloud IT, such as raw networking, computers and data storage space
-
Pricing of the Cloud:
- Pay for compute time
- Pay for data stored in the Cloud
- Pay for data transferred out of the Cloud, data transferred in is free
AWS Cloud Services
-
AWS Cloud History:
- Timeline:
- 2002: Internally launched
- 2003: Amazon infrastructure is one of their core strengths, decided to market it
- 2004: Launched publicly with SQS
- 2006: Re-launched publicly with SQS, S3 and EC2
- 2007: Launched in Europe
- In 2019, AWS accounted for 47% of the market and had a $35.02 billion annual revenue
- Over a million active users
- Timeline:
-
Example of AWS Cloud use cases:
- Enterprise IT, backup & storage, big data analytics
- Hosting websites, mobile and social apps
- Gaming
-
AWS Global Infrastructure:
- Regions: Cluster of data centres, most AWS services are region-scoped
- Select a region based off:
- Compliance with data governance and legal requirements (data never leaves a region without explicit permission)
- Proximity to customers (reduced latency)
- Available services within a region
- Pricing
- Ex. Asia Pacific (Sydney) --> ap-southeast-2
- Select a region based off:
- Availability Zones: One or more discrete data centres with redundant power, networking and connectivity
- Each region has many availability zones, connected through high bandwidth and ultra-low latency networking
- Usually a minimum of 3 zones and maximum of 6 zones per region
- Availability zones (AZ) are separated, so they're isolated from disasters
- Ex. ap-southeast-2 has zones ap-southeast-2a, ap-southeast-2b and ap-southeast-2c
- Data Centres
- Points of Presence (Edge Locations):
- Amazon has 400+ Points of Presence (400+ Edge Locations & 10+ Regional Caches) in 90+ cities across 40+ countries
- Deliver content to end users with low latency
- Regions: Cluster of data centres, most AWS services are region-scoped
-
Region table to view scoped AWS services
Shared Responsibility Model for AWS
- Security and compliance is a shared responsibility between AWS and the customer
- AWS is responsible for protecting the infrastructure that runs its cloud services
- Software: Compute, storage, database, networking
- Hardware: Regions, AZ, edge locations
- Customer responsibilities depend on the service selected, but generally:
- Security of customer data
- Platform, applications, identity and access management
- Operating system, network and firewall configuration
- Client-side data encryption, data integrity and authentication
- Server-side encryption
- Networking traffic protection (encryption, integrity, identity)