Cloud-native Application Stacks: a lightly-opinionated survey (May 2016)

Cloud-native Application Stacks: a lightly-opinionated survey (May 2016)

A survey of the platforms and projects that make up the cloud-native computing landscape, circa May 2016.

Eb68eb9603a0e8822eda69e7ca721866?s=128

Peter Bourgon

May 25, 2016
Tweet

Transcript

  1. 3.

    Amazon Web Services • Google Cloud Platform • Microsoft Azure


    Mesosphere • Apache Mesos • DC/OS • Marathon • Aurora Chronos • Kubernetes • Docker • Docker Swarm • Deis Rancher • Kismatic • Apprenda • Cloud Foundry • OpenShift OpenStack • CoreOS • Project Atomic • Snappy Ubuntu Joyent Triton • SmartOS • RancherOS • Vagrant • Terraform Consul • Serf • Packer • Nomad • Flocker • Ceph • Flannel
 Weave • Canal • Prometheus • InfluxDB • Nagios • Zabbix
 Elasticsearch • OpenZipkin • LightStep • Appdash
  2. 4.
  3. 5.

    The Datacenter as a Computer An Introduction to the Design

    of Warehouse-Scale Machines http://www.cs.berkeley.edu/~rxin/db-papers/WarehouseScaleComputing.pdf
  4. 7.
  5. 8.
  6. 9.
  7. 11.
  8. 19.

    CPU Mem Disk Net Data Batch Biz logic Resource mgmt

    Compute resources Distributed storage Local disk Physical network Software defined network Abstraction Index
  9. 20.

    CPU Mem Disk Net Data Batch Biz logic Resource mgmt

    Compute resources Distributed storage Local disk Physical network Software defined network Scheduler Service discovery Config mgmt Abstraction Virtualization Index
  10. 21.

    CPU Mem Disk Net Data Batch Biz logic Resource mgmt

    Compute resources Distributed storage Local disk Physical network Software defined network Scheduler Service discovery Config mgmt Abstraction Virtualization Database Data warehouse Biz logic Index
  11. 22.

    Compute resources Distributed storage Local disk Physical network Software defined

    network Scheduler Service discovery Config mgmt Virtualization Database Data warehouse Biz logic
  12. 23.

    Compute resources Distributed storage Local disk Physical network Software defined

    network Virtualization Database Data warehouse Biz logic Scheduler Service discovery Config mgmt
  13. 24.

    Compute resources Distributed storage Local disk Physical network Software defined

    network Virtualization Database Data warehouse Biz logic Scheduler Config mgmt Service discovery
  14. 25.

    Database RDBMS AP CP Document Transactional Oracle MySQL Postgres Dynamo

    Voldemort Cassandra Riak Chubby ZooKeeper etcd Consul Mongo Couch Redis F1 Cockroach Rethink
  15. 28.

    Compute resources Distributed storage Local disk Physical network Software defined

    network Virtualization Database Data warehouse Biz logic Scheduler Config mgmt Service discovery
  16. 29.

    Compute resources Distributed storage Local disk Physical network Software defined

    network Virtualization Data Biz logic Scheduler Service discovery Config mgmt
  17. 30.

    Compute resources Distributed storage Local disk Physical network Software defined

    network Virtualization Data Biz logic Scheduler Service discovery Config mgmt
  18. 32.

    Biz logic Foo service Bar service Baz service Users service

    Auth service Search service Reports service Audit service
  19. 33.

    Biz logic Foo service Bar service Baz service Users service

    Auth service Search service Reports service Audit service
  20. 34.

    Biz logic Foo service Bar service Baz service Users service

    Auth service Search service Reports service Audit service Continuous delivery Continuous integration Monitoring Tracing Safety Application logging Event sourcing
  21. 39.

    Compute resources Distributed storage Local disk Physical network Software defined

    network Scheduler Service discovery Config mgmt Virtualization Data Biz logic
  22. 40.

    Monitoring Compute resources Distributed storage Local disk Physical network Software

    defined network Scheduler Service discovery Config mgmt Virtualization Data Biz logic
  23. 41.

    Virtualization Distributed storage Local disk Physical network Software defined network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Compute resources
  24. 42.

    Virtualization Distributed storage Local disk Physical network Software defined network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Compute resources
  25. 43.

    Physical network Virtualization Distributed storage Local (scratch Software defined
 network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Compute resources
  26. 44.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  27. 45.

    Application Platform Infrastructure Compute resources Distributed storage Software defined network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Virtualization
  28. 47.
  29. 48.

    Software defined network Monitoring Distr. storage Scheduler Config mgmt Data

    Service discovery Compute resources Virtualization
  30. 49.

    ¯\_(ϑ)_/¯ Software defined network Monitoring Distr. storage Scheduler Config mgmt

    Data Service discovery Compute resources Virtualization
  31. 50.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Our new warehouse computer
  32. 53.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization AWS
  33. 54.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization EC2 S3 RedShift VPC Route53 CloudWatch CloudFormation RDS Machine Learning Kinesis Dynamo ELB ECS Lambda
  34. 55.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization GCP
  35. 56.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization GCE GKE GAE BigTable SQL Datastore BigQuery Cloud Monitoring Data* Deployment manager Cloud Storage Cloud Networking
  36. 57.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Azure?
  37. 58.
  38. 64.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Master Slave Slave Slave ZooKeeper Marathon Aurora Chronos DNS Master Master
  39. 68.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring API server Kubelet Kubelet Kubelet etcd SkyDNS Various Volume mounts Controllers
  40. 71.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Docker Docker Docker Swarm Scheduler Node discovery libnetwork libkv
  41. 72.
  42. 78.
  43. 92.

    ???

  44. 94.

    → → ← → ← Virtualization OS Middleware Runtime Data

    Applications Servers Storage Networking ←
  45. 95.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  46. 97.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  47. 99.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  48. 101.

    Config management Chubby Consul etcd ZooKeeper CFEngine Chef Puppet Salt

    Ansible Terraform CloudFormation Cloud
 Deployment Manager
  49. 102.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  50. 104.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  51. 105.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  52. 106.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  53. 108.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  54. 110.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Proxying &
 Load balancing
  55. 112.

    Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  56. 114.
  57. 116.