Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Brief History of Cloud Infrastructure

A Brief History of Cloud Infrastructure

A semi-autobiographical story of how Cloud infrastructure has evolved. Presented at CodeMill in Leeds, November 2017

You can view a recording of this talk at https://www.youtube.com/watch?v=op-I2wn5F5E

The Scale Factory

November 23, 2017
Tweet

More Decks by The Scale Factory

Other Decks in Technology

Transcript

  1. HARDWARE HYPERVISOR HYPERVISOR_ VM VIRTUAL HW KERNEL APP APP APP

    VM VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP
  2. 1999 2000 2001 VM 2001 Hypervisor Weeks 0 1 2

    3 4 Procurement Racking Config
  3. HARDWARE HYPERVISOR VM VIRTUAL HW KERNEL APP APP APP VM

    VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP Infrastructure Applications
  4. user { 'jtopper': ensure => present, uid => '1000', gid

    => '1000', shell => '/bin/bash', home => '/home/jtopper' } service { 'httpd': ensure => 'running' }
  5. HARDWARE HYPERVISOR VM VIRTUAL HW KERNEL APP APP APP VM

    VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP Infrastructure Applications
  6. HARDWARE HYPERVISOR VM VIRTUAL HW KERNEL APP APP APP VM

    VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP Somebody Else's Problem Applications
  7. BENEFITS_ Provisioning using APIs (As well as web console) Elastic

    scalability On-demand pricing No capital expenditure
  8. { "variables": { "aws_access_key": "", "aws_secret_key": "" }, "builders": [{

    "type": "amazon-ebs", "access_key": "{{user `aws_access_key`}}", "secret_key": "{{user `aws_secret_key`}}", "region": "us-east-1", "source_ami_filter": { "filters": { "virtualization-type": "hvm", "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*", "root-device-type": "ebs" }, "owners": ["099720109477"], "most_recent": true }, "instance_type": "t2.micro", "ssh_username": "ubuntu", "ami_name": "packer-example {{timestamp}}" }] }
  9. resource "aws_instance" "web" { instance_type = "t2.micro" # Lookup the

    correct AMI based on the region # we specified ami = "${lookup(var.aws_amis, var.aws_region)}" # The name of our SSH keypair we created above. key_name = "${aws_key_pair.auth.id}" # Our Security group to allow HTTP and SSH access vpc_security_group_ids = ["${aws_security_group.default.id}"] subnet_id = "${aws_subnet.default.id}" provisioner "remote-exec" { inline = [ "sudo apt-get -y update", "sudo apt-get -y install nginx", "sudo service nginx start", ] } }
  10. HARDWARE HYPERVISOR HYPERVISOR_ VM VIRTUAL HW KERNEL APP APP APP

    VM VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP VM VIRTUAL HW KERNEL APP APP APP
  11. HARDWARE KERNEL APP CONTAINER HOST_ CONTAINER ENGINE BIN / LIB

    APP BIN / LIB APP BIN / LIB APP BIN / LIB
  12. HARDWARE KERNEL APP CONTAINER HOST_ CONTAINER ENGINE BIN / LIB

    APP BIN / LIB APP BIN / LIB APP BIN / LIB Somebody Else's Problem Applications
  13. FROM busybox MAINTAINER Chris <[email protected]> ADD index.html /www/index.html EXPOSE 8000

    # Create a basic webserver and sleep forever CMD httpd -p 8000 -h /www; tail -f /dev/null
  14. TODAY_ On-premise VMWare basically dead Traditional config management losing favour

    Packer / Terraform in heavy use The cool kids are using Kubernetes (But, really, don't run it yourself) Consider Lambda for async workloads Serverless likely to increase in popularity