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

LinuxCon China 2018: Microservices, Service Mesh, and CI/CD Pipelines - Making it All Work Together

LinuxCon China 2018: Microservices, Service Mesh, and CI/CD Pipelines - Making it All Work Together

Microservices come with many advantages for massively scaling applications. CI/CD is a common approach to automating updates to these applications in kubernetes. Strategies such as canary deployments can be simple with a basic website, but this is a difficult task with distributed systems. I would argue that many CI/CD systems are missing some key components such as: advanced routing, observability, and chaos testing.

Service mesh solutions bring these missing components to kubernetes allowing us to shape traffic to specific versions and obtain metrics to better understand the impact of updates.

I will demonstrate how to use common CI/CD tooling such as Brigade, Jenkins, or Spinnaker to drive deployments with Kubernetes. I will show how service mesh technologies such as istio, conduit, or linkerd ease the ability to efficiently deliver and test microservices in Kubernetes.

Brian Redmond

June 25, 2018
Tweet

More Decks by Brian Redmond

Other Decks in Technology

Transcript

  1. Who am I? Brian Redmond • Cloud Architect @ Microsoft

    (17 years) • Azure Global Black Belt Team • Live in Pittsburgh, PA, USA • Avid marathon runner and outdoors enthusiast • World traveler @chzbrgr71
  2. Deployment Strategies • Container Native Development • Continuous Integration •

    Continuous Deployment • Blue/Green Testing • Canary Testing • A/B Testing @chzbrgr71
  3. Enter Istio • Service discovery and routing • Health checking

    • Observability • Authentication and authorization • Resiliency • Policy enforcement @chzbrgr71
  4. What can I do with Istio? advanced routing → route

    rules, traffic shaping observability → metrics, logs, and tracing chaos testing → fault injection (delays, faults) @chzbrgr71
  5. What is brigade? brigade = event-driven scripting for kubernetes •

    Encapsulate functions in containers • Run in parallel or serial • Trigger workflow from Github, Docker registry, etc. • Javascript (pipeline as code) • Project config stored as secrets • Well suited for CI/CD pipelines @chzbrgr71
  6. Demo - What you will see web-earth api-earthquakes webhook ACR

    Build helm slack Azure Container Registry Istio api-location version: prod api-location version: canary 100% 50% “virtualservice” 50% @chzbrgr71
  7. Summary • Microservices and containers bring added challenges for deployment/testing

    • Testing in production is a good idea (with canary) • Service Mesh solutions help with: – Observability – Advanced Routing – Chaos Testing • CI/CD can automate the process @chzbrgr71
  8. Questions? you can find me at: • Twitter, Github: @chzbrgr71

    [email protected] • Demo code: https://github.com/chzbrgr71/os-summit-tokyo • Slides: @chzbrgr71