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

CoreOS: A Tutorial on Hyperscale Infrastructure

Brandon Philips
August 22, 2016
480

CoreOS: A Tutorial on Hyperscale Infrastructure

Brandon Philips

August 22, 2016
Tweet

Transcript

  1. Brandon Philips @brandonphilips | [email protected] Slides and Demos: goo.gl/AgPy2E A

    Tutorial on Hyperscale Infrastructure Free Stickers @ Podium!
  2. Protect apps from each other Isolated network namespace Isolated file

    system namespace Mixed versions of dependencies eg. python 3.4 & python 2.7
  3. $ sudo rkt run coreos.com/etcd:v2.0.0 $ sudo rkt run coreos.com/etcd:v2.0.0

    \ --cpu=750m --memory=128M $ sudo rkt run --net=host coreos.com/etcd:v2.0.0 rkt run
  4. After scanning millions of containers we found that over 80%

    still had Heartbleed 80% Clair container security auditing
  5. Patches to the OS and kernel are hard Retest after

    updates No automation SECURITY Dependency breakage Uptime risk APPLICATION
  6. Patches to the OS and kernel are hard Retest after

    updates No automation SECURITY Dependency breakage Uptime risk APPLICATION
  7. Patches to the OS and kernel are hard No automation

    SECURITY Uptime risk APPLICATION
  8. Fault-tolerant database to support complex set of needs Leader election

    Cluster-wide Semaphores Service discovery Dynamic configuration
  9. pod env=prod app=web pod env=prod app=web pod env=prod app=web rs

    web-prod select(env=prod,app=web) count=1
  10. pod env=prod app=web pod env=prod app=web pod env=prod app=web rs

    web-prod select(env=prod,app=web) count=1
  11. pod env=prod app=web pod env=prod app=web pod env=prod app=web pod

    env=prod app=web pod env=prod app=web rs web-prod select(env=prod,app=web) count=5
  12. pod env=dev app=web pod env=test app=web pod env=prod app=web service

    test.example.com select(env=dev,app=web) service beta.example.com select(env=test,app=web) OR select(env=prod,app=web) service example.com select(env=prod,app=web)
  13. pod env=test app=web pod env=prod app=web pod env=prod app=web pod

    env=dev app=web pod env=test app=web pod env=prod app=web service test.example.com select(env=dev,app=web) service beta.example.com select(env=test,app=web) OR select(env=prod,app=web) service example.com select(env=prod,app=web)
  14. pod env=prod app=web pod env=prod app=web pod env=prod app=web pod

    env=prod app=web pod env=prod app=web rs web-prod select(env=prod,app=web) count=5
  15. pod env=prod app=web pod env=prod app=web pod env=prod app=web pod

    env=p rod pod env=prod app=web rs web-prod-4950 select(app=web,hash=4950) count=5 pod env=prod app=web pod env=prod app=web pod env=prod app=web pod env=p rod pod env=prod app=web rs web-prod-1328 select(app=web,hash=1328) count=5 deployment web-prod select(app=web) count=5
  16. Containers on CoreOS are powering ISE's high-throughput, low-latency financial exchange

    Running in production Bare metal & AWS Billions of transactions a day 150 million req/sec
  17. Training San Francisco September 13 & 14 New York City

    September 27 & 28 San Francisco October 11 & 12 New York City October 25 & 26 Seattle November 10 & 11 https://coreos.com/training
  18. Thank you! Brandon Philips @brandonphilips | [email protected] | coreos.com We’re

    hiring in all departments! Email: [email protected] Positions: coreos.com/ careers