This slide deck discusses 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.
5. 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/
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
17. 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
19. 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
20. 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