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

Cloud-native Application Stacks: a lightly-opin...

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.

Peter Bourgon

May 25, 2016
Tweet

More Decks by Peter Bourgon

Other Decks in Programming

Transcript

  1. 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. The Datacenter as a Computer An Introduction to the Design

    of Warehouse-Scale Machines http://www.cs.berkeley.edu/~rxin/db-papers/WarehouseScaleComputing.pdf
  3. CPU Mem Disk Net Data Batch Biz logic Resource mgmt

    Compute resources Distributed storage Local disk Physical network Software defined network Abstraction Index
  4. 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
  5. 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
  6. Compute resources Distributed storage Local disk Physical network Software defined

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

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

    network Virtualization Database Data warehouse Biz logic Scheduler Config mgmt Service discovery
  9. Database RDBMS AP CP Document Transactional Oracle MySQL Postgres Dynamo

    Voldemort Cassandra Riak Chubby ZooKeeper etcd Consul Mongo Couch Redis F1 Cockroach Rethink
  10. Compute resources Distributed storage Local disk Physical network Software defined

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

    network Virtualization Data Biz logic Scheduler Service discovery Config mgmt
  12. Compute resources Distributed storage Local disk Physical network Software defined

    network Virtualization Data Biz logic Scheduler Service discovery Config mgmt
  13. Biz logic Foo service Bar service Baz service Users service

    Auth service Search service Reports service Audit service
  14. Biz logic Foo service Bar service Baz service Users service

    Auth service Search service Reports service Audit service
  15. 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
  16. Compute resources Distributed storage Local disk Physical network Software defined

    network Scheduler Service discovery Config mgmt Virtualization Data Biz logic
  17. Monitoring Compute resources Distributed storage Local disk Physical network Software

    defined network Scheduler Service discovery Config mgmt Virtualization Data Biz logic
  18. Virtualization Distributed storage Local disk Physical network Software defined network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Compute resources
  19. Virtualization Distributed storage Local disk Physical network Software defined network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Compute resources
  20. Physical network Virtualization Distributed storage Local (scratch Software defined
 network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Compute resources
  21. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  22. Application Platform Infrastructure Compute resources Distributed storage Software defined network

    Scheduler Biz logic Service discovery Config mgmt Data Monitoring Virtualization
  23. Software defined network Monitoring Distr. storage Scheduler Config mgmt Data

    Service discovery Compute resources Virtualization
  24. ¯\_(ϑ)_/¯ Software defined network Monitoring Distr. storage Scheduler Config mgmt

    Data Service discovery Compute resources Virtualization
  25. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Our new warehouse computer
  26. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization AWS
  27. 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
  28. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization GCP
  29. 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
  30. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Azure?
  31. 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
  32. 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
  33. 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
  34. ???

  35. → → ← → ← Virtualization OS Middleware Runtime Data

    Applications Servers Storage Networking ←
  36. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  37. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  38. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  39. Config management Chubby Consul etcd ZooKeeper CFEngine Chef Puppet Salt

    Ansible Terraform CloudFormation Cloud
 Deployment Manager
  40. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  41. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  42. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  43. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  44. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization
  45. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization Proxying &
 Load balancing
  46. Compute resources Distributed storage Software defined network Scheduler Biz logic

    Service discovery Config mgmt Data Monitoring Virtualization