Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

A brief history of cloud infrastructure - Jon Topper - CodeMill - Nov 2017

208 views

Published on

In the bad old days [before 2008], we used to spend time in cold, noisy rooms, plugging boxes into metal cages. Today we can build infrastructure from the comfort of our desks. I'll explore how we got to this point, and introduce some modern tools for infrastructure as code.

From CodeMill digital skills meetup https://www.meetup.com/CodeMill-Digital-Skills/events/243110683/

Published in: Software
  • Be the first to comment

  • Be the first to like this

A brief history of cloud infrastructure - Jon Topper - CodeMill - Nov 2017

  1. 1. A BRIEF HISTORY OF CLOUD INFRASTRUCTURE_ JON TOPPER | @jtopper | he/him/his
  2. 2. 1999 THE BAD OLD DAYS_
  3. 3. INSTALLING A NEW SERVER_
  4. 4. 1999 Weeks 0 1 2 3 4 Procurement Racking Config
  5. 5. 2000 GROWING UP_
  6. 6. NETWORK INSTALLATION_
  7. 7. 1999 2000 Weeks 0 1 2 3 4 Procurement Racking Config
  8. 8. 2001 THE HYPERVISOR_
  9. 9. HARDWARE KERNEL APP NATIVE HOST_ APP APPAPP
  10. 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. 11. MACHINE TEMPLATES_
  12. 12. 1999 2000 2001 VM 2001 Hypervisor Weeks 0 1 2 3 4 Procurement Racking Config
  13. 13. SPLIT RESPONSIBILITY_
  14. 14. 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
  15. 15. 2004: INFRASTRUCTURE AS CODE_
  16. 16. user { 'jtopper': ensure => present, uid => '1000', gid => '1000', shell => '/bin/bash', home => '/home/jtopper' } service { 'httpd': ensure => 'running' }
  17. 17. BENEFITS_ Faster Repeatability Testing Version Control Collaboration
  18. 18. 2006: AWS EC2_
  19. 19. 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
  20. 20. 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
  21. 21. BENEFITS_ Provisioning using APIs (As well as web console) Elastic scalability On-demand pricing No capital expenditure
  22. 22. { "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}}" }] }
  23. 23. 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", ] } }
  24. 24. 2013: CONTAINERS_
  25. 25. 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
  26. 26. HARDWARE KERNEL APP CONTAINER HOST_ CONTAINER ENGINE BIN / LIB APP BIN / LIB APP BIN / LIB APP BIN / LIB
  27. 27. HARDWARE KERNEL APP CONTAINER HOST_ CONTAINER ENGINE BIN / LIB APP BIN / LIB APP BIN / LIB APP BIN / LIB Somebody Else's Problem Applications
  28. 28. FROM busybox MAINTAINER Chris <c@crccheck.com> 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
  29. 29. BENEFITS_ Improved resource usage Unit of deploy is "a container" ...people think it's cool, I guess?
  30. 30. 2015: ORCHESTRATION_
  31. 31. 2017: SERVERLESS_
  32. 32. FUNCTION SERVERLESS PLATFORM_ Somebody Else's Problem Applications FUNCTION FUNCTION FUNCTION IDGAF
  33. 33. BENEFITS_ No infrastructure to care about Almost everything is someone else's problem
  34. 34. 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
  35. 35. KEEP IN TOUCH_ http://www.scalefactory.com/ https://github.com/scalefactory @scalefactory jon@scalefactory.com

×