18. Confidential
Kubernetes
● Container orchestrator built around Docker
● “Have a datacenter on their laptop”
● Dev env == production env
● Multi-cloud
● Community convergence & 3rd party integrations
19. Confidential
Kubernetes
● Container orchestrator built around Docker
● “Have a datacenter on their laptop”
● Dev env == production env
● Multi-cloud
● Community convergence & 3rd party integrations
● Flexibility
56. Microservices
● Smaller, simpler and easier to test
● Develop, deploy and run independently
● Organization can scale to many teams
57. Tradeoffs with Microservices
Pros Cons
Strong Modular Boundaries Distributed Systems
Independent Deployment Eventual Consistency
Diversity of Technology Operational Complexity
58. Fallacies of Distributed systems
● The network is reliable.
● Latency is zero
● Bandwidth is infinite
● The network is secure.
● Topology doesn't change.
● There is one administrator.
● Transport cost is zero.
● The network is homogeneous.
63. Confidential
Kubernetes
● Container orchestrator built around Docker
● “Have a datacenter on their laptop”
● Dev env == production env
● Multi-cloud
● Community convergence & 3rd party integrations
● Flexibility
64. Confidential
Kubernetes
● Container orchestrator built around Docker
● “Have a datacenter on their laptop”
● Dev env == production env
● Multi-cloud
● Community convergence & 3rd party integrations
● Flexibility
77. Istio Terminology
• Service: unit of (destination) application.
• Service Versions: variants of (destination) application binary.
• Service Registry: keeps track of pods/VMs of a service
• Virtual Service: rule defining what service to send a request to
• Destination Rule: rule defining what to do after destination
service is identified
88. Spring Cloud
Mission to eliminate boilerplate associated with distributed systems problems for
Spring Boot applications.
Started by using established libraries and servers (nothing was baked into platforms)
● Netflix OSS (Eureka, Ribbon, Hystrix)
● Hashicorp Consul
● Apache Zookeeper
89. Level of abstraction
Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aenean
commodo ligula eget dolor. Aenean
massa. Cum sociis natoque penatibus
et magnis dis parturient montes,
nascetur ridiculus mus. Donec quam
felis, ultricies nec, pellentesque
● Spring and Istio address the
problems of distributed
systems at different layers of
abstraction
● “Istio helps decouple
operations of a cluster from the
application developer” - Eric
Brewer, Google (VP,
Infrastructure)
Application
Platform Or Container
Orchestrator
IaaS
90. Istio or Spring Cloud (or both?)
● If the capability is provided by the platform (Istio), use it. Except for …
○ Fallbacks
○ Tracing Propagation
○ Security
● Istio or a service mesh architecture works better for polyglot environments
● But it also depends on your risk propensity
○ Istio GA’d in July 2018
○ Spring Cloud has been around for 4 years
● Performance is also a factor
For more info, watch: A Tale of Two Frameworks
110. Multiple languages, Multiple libraries
Each with…
• Different features
• Different configuration
• Different quirks
Polyglot shouldn't be painful!
111. Outline
• What your microservices need
• How sidecars help
• Envoy & Istio
• Kubernetes Integration
• Cloud Foundry Integration