Graduate Program KB

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
  • 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
  • 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
    • 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
  • 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)