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

Microservices, Containers & Beyond

Microservices, Containers & Beyond

Microservice architecture (MSA) is here to stay. It is the natural evolution of SOA or as some call it, “it's SOA done right”. Containers and container-based service deployments compliment and accelerate the adoption of MSA. Today you do not plan for maintenance windows in a production platform. You have blue/green type platform updates with strategies like traffic shadowing. All of that agility has become a reality with microservices, clean architectures, and container-based deployment and orchestration. This talk is a discussion of what's next in this highly agile, massively distributed environment. It will focus on fine tuned DevOps processes, governance, and observability in a massively distributed container native microservices platform.

Nuwan Bandara

July 17, 2018
Tweet

More Decks by Nuwan Bandara

Other Decks in Technology

Transcript

  1. Before every service became “micro” and every remote call became

    an API invoke • There were no services ◦ Some code running in a mainframe and executes a batch job • Then came RPC / CORBA / DCOM ◦ Complexity / ignoring the fallacies of distributed computing • Service orientation ◦ SOAP / XML / UDDI / WS-* ◦ Framework bloat / standards bloat / Vendor biases ◦ Emphasis on platform neutrality ◦ Over emphasis on governance (design time) https://store.steampowered.com/app/463210/State_of_Anarchy/
  2. Innovation at every layer • User experience ◦ Speed /

    efficiency / accuracy / feedback • Communication ◦ Web / mobile / voice assisted • Server-side workloads ◦ Scalability / availability / reliability / security • Business workflows ◦ Efficiency / productivity / accuracy / feedback
  3. Modern Computing System • Logic that runs • Transactional data

    flow • Distributed control plane • Devops for iteration / agility of all 3 of the above (“gitops”) - Tyler Jewell
  4. Logic that runs • Organized around capabilities - has a

    bounded context • Performance optimized ◦ Today’s workloads are massively complex, marginal perf improvements can add massive gains • Independent and own its data • Less importance on interop, more focus on developer productivity and exposing a cleaner interface https://martinfowler.com/articles/microservices.html
  5. Transactional data flow • Mostly reactive, event driven and asynchronous

    ◦ Smart endpoints and dumb pipes ◦ Distributed flow logic - aka “data plane” • Avoids a central coordinator for orchestration ◦ Though not always - blocking synchronous workflows require central coordination Complete asynchronous / reactive Hybrid with coordinator service
  6. Distributed control plane • Emphasis on decentralized governance • Policy

    admin, discovery and observability local to the domain • Governance by surveillance Single computing systems domain Multi-domain system
  7. DevOps for iteration and agility • Infrastructure as code ◦

    Infrastructure provisioning with declarative means ▪ Yaml, ansible, puppet, terraform ▪ Immutable infrastructure (i.e: microservices containers) ◦ Infrastructure provisions are versioned and diff alerted (“gitops”) ▪ Git as source of truth ▪ Feedback loop for the build pipeline
  8. I ain't got no pets • No infrastructure is unique

    or special (ain’t no pet) • Code runs in compute units and scales automatically • As units crash new ones join the herd (cluster) Borrowed from @randybias - The Cloud Revolution
  9. The layered system is old and tired • Future is

    just code, compute and storage ◦ Custom code for mediation - Fear no more • Logic, transactions, workflows will become just code ◦ Config based coordinators, workflow engines deemed to be too abstract ◦ With microservices, there won’t be any centralized control layer
  10. Towards a distributed global supercomputer • A future where no

    one will own and carry a computer • No organization will run a private data center ◦ Supporting and maintaining a private DC will not be economical ◦ Security, privacy and compliance will be guaranteed by standards (i.e: GDPR / HIPAA / .Gov etc.) • Developers will deploy code to a global computer (leased compute) ◦ Serveless is trending currently with more and more event driven, reactive use-cases
  11. Summary • Taking a moment to appreciate the history •

    Innovation at every layer • Modern computer system and its four major properties • There are no special infrastructure that keep you awake • Centralized layered deployment architecture is retiring • Compute & storage is leased and code is pushed to a distributed supercomputer