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

Pros and Cons of CI/CD in a Distributed World

Pros and Cons of CI/CD in a Distributed World

Talk at Config Management Camp, Ghent. See http://cfgmgmtcamp.eu/schedule/index.html for details.

Michael Hausenblas

February 07, 2017
Tweet

More Decks by Michael Hausenblas

Other Decks in Technology

Transcript

  1. © 2017 Mesosphere, Inc. All Rights Reserved. PROS AND CONS

    OF CI/CD IN A DISTRIBUTED WORLD 1 Michael Hausenblas, Distributed Systems Jester | 2017-02-07 | ConfigManagementCamp, Ghent
  2. © 2017 Mesosphere, Inc. All Rights Reserved. 5 appops The

    person who writes an app is also the person responsible for operating the app in prod.
  3. © 2017 Mesosphere, Inc. All Rights Reserved. 6 T h

    i s i s n o t a b o u t provisioning a VM, setting up a Kubernetes cluster or replacing a faulty HDD …
 
 … this would be on the infrastructure team. appops
  4. © 2017 Mesosphere, Inc. All Rights Reserved. ARTIFACTS 8 examples

    layer source artifacts .scala, .py, .rb, .go, .sh, …
 config files packaging Dockerfile, ACI, OCI runtime Kubernetes replication controller, Marathon app spec,
 Docker compose file
  5. © 2017 Mesosphere, Inc. All Rights Reserved. ALTERNATIVE WAYS TO

    DEVELOP IN A DISTRIBUTED SETUP 9 hackernoon.com/how-we-develop-in-and-with-distributed-systems-66c71e918735 remote local cluster dev cluster dev cluster dev dev cluster pure off-line proxied live pure on-line
  6. © 2017 Mesosphere, Inc. All Rights Reserved. ALTERNATIVE WAYS TO

    DEVELOP IN A DISTRIBUTED SETUP 10 hackernoon.com/how-we-develop-in-and-with-distributed-systems-66c71e918735 DC/OS Vagrant Docker Mac/Windows Minikube, Minishift no need to maintain cluster no costs off-line and fast dev cycles limited scale not really a distributed system not all functionality might be available pure off-line
  7. © 2017 Mesosphere, Inc. All Rights Reserved. ALTERNATIVE WAYS TO

    DEVELOP IN A DISTRIBUTED SETUP 11 hackernoon.com/how-we-develop-in-and-with-distributed-systems-66c71e918735 DC/OS Tunnel kubectl proxy/apiserver proxy almost the real thing (distributed system) fast dev cycles have to maintain cluster/cost limited off-line development proxied
  8. © 2017 Mesosphere, Inc. All Rights Reserved. ALTERNATIVE WAYS TO

    DEVELOP IN A DISTRIBUTED SETUP 12 hackernoon.com/how-we-develop-in-and-with-distributed-systems-66c71e918735 Artifactory + Bamboo + Marathon GitLab CR + Jenkins + OpenShift Quay.io + TeamCity + Tectonic the real thing (distributed system) have to maintain cluster/cost very limited off-line development slow dev cycles live
  9. © 2017 Mesosphere, Inc. All Rights Reserved. ALTERNATIVE WAYS TO

    DEVELOP IN A DISTRIBUTED SETUP 13 hackernoon.com/how-we-develop-in-and-with-distributed-systems-66c71e918735 Google Cloud Shell/GCR/GKE Katacoda Koding the real thing (distributed system) low/no costs scales well no off-line development limited customization/control pure on-line
  10. © 2017 Mesosphere, Inc. All Rights Reserved. AND WHAT ABOUT

    … 14 • Reverse access paths • Logging • Debugging • Load testing • Tracing
  11. © 2017 Mesosphere, Inc. All Rights Reserved. 16 WHERE CAN


    I LEARN MORE? 16 usenix.org/conference/lisa16/conference-program/presentation/eckhardt Courtney Eckhardt, Heroku
  12. © 2017 Mesosphere, Inc. All Rights Reserved. Q & A

    18 • @mhausenblas • mhausenblas.info https://dcos.io