SlideShare a Scribd company logo
Microservices at Scale
Jesse Butler Cloud Native Advocate, Oracle Cloud Infrastructure
Next Steps with Kubernetes and Istio
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
About Me
• Oracle via Sun Microsystems
• Responsible for Docker on Solaris, later on Oracle Linux
• Some work with Open Containers and CNCF WGs
• Now a Cloud Native Advocate @ Oracle Cloud
• @jlb13 on Twitter
3
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
About OCI
• Next-generation Cloud Infrastructure
• Highly performant, very affordable
• Managed Cloud Native Services
–OKE & OCIR at the core
–Many managed services in the pipeline
• Check out OCI: https://cloud.oracle.com/tryit
4
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Level Set
• Containers in Production
• Microservices
• Docker, Kubernetes
5
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Monolithic Applications
6
Users
Application
Database
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Monolithic Applications
7
Users
Application
Database
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Microservices
• Microservices are the de facto
standard for cloud native software
• Microservices allow development
teams to deploy portable and scalable
applications
8
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Microservices
9
Users
Cart Orders
Database
Cluster
Reports
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Microservices
• Microservices can put a significant
burden on Ops and DevOps teams
10
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Let’s Talk About Istio
Istio a service mesh that allows us to connect,
secure, control and observe services at scale,
often requiring no service code modification
11
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
The Old World
• Once upon a time, proprietary systems
and software were bundled and sold
as a unit
• This created independent silos per
vendor, each with ecosystems of tools
and service vendors
• Systems analysts surfaced system data
and implemented improvements
12
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
More Recent History
• There were a lot of moving parts in the
typical Old World IT organization
• The advent of web applications made
time to market a far more sensitive
metric
• DevOps arose as a means of reducing
friction between where software is
created and where it is deployed
13
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Advent of DevOps
14
• DevOps brings the concerns of
development and operations closer
together
• Ideally we preserve meaningful
historical expertise from both high
level disciplines
• DevOps is as much a cultural shift as
it is technical
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
DevOps, Mother of Invention
15
• Microservices
• CI / CD
• Cloud Adoption
• Containers
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Docker
• Docker changed the way we build and
ship software
• Application and host are decoupled,
making application services portable
• Containers are an implementation
detail, but a critical one
16
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Docker Is a Start
But, once we abstract the host away by
using containers, we no longer have our
hands on an organized platform.
17
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Kubernetes
18
Kubernetes provides abstractions for
deploying software in containers at scale
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Kubernetes as a Platform
19
• Infrastructure resource abstraction
• Cluster software where one or more
masters control worker nodes
• Scheduler deploys work to the nodes
• Work is deployed in groups of containers
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Migration from the Old World…
20
Users
Application
Database
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
…to Cloud Native Kubernetes Hotness
• Microservices running in orchestrated
containers
• Everybody's happy
• What happens now?
21
Load
balancer
Service Service
Database
Service
Queue
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
…to Cloud Native Kubernetes Hotness
• Microservices running in orchestrated
containers
• Everybody's happy
• What happens now?
22
Load
balancer
Service
Service
Service Service
Service
Database
Service
Queue
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Day Two
23
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Table Stakes for Services at Cloud Scale
24
• We require a method to simply and repeatably deploy
software, and simply and recoverably modify deployments
• We require telemetry, observability, and diagnosability for our
software if we hope to run at cloud scale
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Day 2 Solutions
• Ingress and Traffic Management
25
• Metrics and Analytics
• Tracing and Observability
• Identity and Security
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Abstract Requirements
• Traffic Management
26
• Policy
• Security
• Observability
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Hard Things are Hard
These are Hard Problems™, and
some software may address one of
them well.
Service mesh addresses them all.
27
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
What Is a Service Mesh?
• Infrastructure layer for controlling and
monitoring service-to-service traffic
• A data plane deployed alongside
application services, and a control
plane used to manage the mesh
28
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Service Mesh
• Provides DevOps teams a stable and
extensible platform to monitor and
maintain deployed services
• For the most part, invisible to
development teams
29
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Service Mesh
• This is not a new solution which solves all the
world’s problems, but a different way to apply
existing solutions
• Enables integration of existing (as well as future)
best-in-class solutions for All The Things
30
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Let’s Get Back To Istio
Istio a service mesh that allows us to connect,
secure, control and observe services at scale,
often requiring no service code modification.
31
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Istio Features
• Traffic Management
– Fine-grained control with rich routing rules, retries, failovers, and fault injection
• Observability
– Automatic metrics, logs, and traces for all traffic within a cluster, including cluster
ingress and egress
32
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Istio Features
• Security
– Strong identity-based AuthN and AuthZ layer, secure by default for ingress, egress
and service-to-service traffic
• Policy
– Extensible policy engine supporting access controls, rate limits and quotas
33
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Istio Components
34
• Envoy
– Sidecar proxy
• Pilot
– Propagates rules to sidecars
• Mixer
– Enforces access control,
collects telemetry data
• Citadel
– Service-to-service and
end-user AuthN and AuthZ
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Sidecar Proxy
35
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Sidecar Proxy
36
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Envoy
High performance proxy which
mediates inbound and outbound
traffic.
37
• Dynamic service discovery
• Load balancing
• TLS termination
• HTTP/2 and gRPC proxies
• Circuit breakers
• Health checks
• Split traffic
• Fault injection
• Rich metrics
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Istio Architecture
38
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Istio Architecture
39
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Istio Architecture
40
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Istio Architecture
41
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Telemetry
• Istio’s Mixer is stateless and does not manage
any persistent storage of its own
• Capable of accumulating a large amount of
transient ephemeral state
• Designed to be a highly reliable, goal is >
99.999% uptime for any individual instance
• Many adapters available: Prometheus, Cloud
providers, Datadog, Solarwinds…
42
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Traffic Management
• Integrated Ingress and Egress
• Error handling, retries, circuit breaking
• Application knowledge can be leveraged
for intelligent routing
• Fault injection for end-to-end testing
43
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Performance and Scalability
• Code level micro-benchmarks
• Synthetic end-to-end benchmarks across various
scenarios
• Realistic complex app end-to-end benchmarks
across various settings
• Automation to ensure performance doesn’t
regress
44
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Security
• Traffic encryption to defend against the man-
in-the-middle attacks
• Mutual TLS and fine-grained access policies
to provide flexible access control
• Auditing tools to monitor all of it
45
cloud.oracle.com/trial
cloudnative.oracle.com
Thanks!

More Related Content

What's hot (20)

PDF
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle Developers
 
PPTX
An Open and Collaborative Ecosystem for IoT
Charles Eckel
 
PDF
Shrinking the container_zurich_july_2018
Ewan Slater
 
PDF
Application Centric Infrastructure (ACI)
Cisco IT
 
PDF
Solaris 11.2 What's New
Orgad Kimchi
 
POTX
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Holger Mueller
 
PDF
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Canada
 
PDF
Oracle Modern AppDev Approach to Cloud & Container Native App
Paulo Alberto Simoes ∴
 
PDF
A5 cloud security_now_a_reason_to_move_to_the_cloud
Dr. Wilfred Lin (Ph.D.)
 
PPTX
Blockchain on the oracle cloud, the next big thing
Robert van Mölken
 
PPTX
Cisco Application Centric Infrastructure
islam Salah
 
PDF
2018 highlights-q1
aristanetworks2017
 
PPTX
Gartner pace and bi-modal models
Ric Lukasiewicz
 
PPTX
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Eclipse Kura
 
PPTX
Applying Hyper-scale Design Patterns to Routing
Hannes Gredler
 
PDF
Avi Network SDN meetup
Philippe Bogaerts
 
PDF
Why OpenDaylight
Lumina Networks
 
PDF
PLNOG15: Cisco Application Centric Infrastructure - why ...? - Krzysztof Mazepa
PROIDEA
 
PPTX
Enterprise Ready OpenStack, Wiekus Beukes, Oracle
Sriram Subramanian
 
PDF
Cisco ACI: A New Approach to Software Defined Networking
Debra Jennings
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle Developers
 
An Open and Collaborative Ecosystem for IoT
Charles Eckel
 
Shrinking the container_zurich_july_2018
Ewan Slater
 
Application Centric Infrastructure (ACI)
Cisco IT
 
Solaris 11.2 What's New
Orgad Kimchi
 
Oracle OpenWorld - A quick take on all 22 press releases of Day #1 - #3
Holger Mueller
 
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Canada
 
Oracle Modern AppDev Approach to Cloud & Container Native App
Paulo Alberto Simoes ∴
 
A5 cloud security_now_a_reason_to_move_to_the_cloud
Dr. Wilfred Lin (Ph.D.)
 
Blockchain on the oracle cloud, the next big thing
Robert van Mölken
 
Cisco Application Centric Infrastructure
islam Salah
 
2018 highlights-q1
aristanetworks2017
 
Gartner pace and bi-modal models
Ric Lukasiewicz
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Eclipse Kura
 
Applying Hyper-scale Design Patterns to Routing
Hannes Gredler
 
Avi Network SDN meetup
Philippe Bogaerts
 
Why OpenDaylight
Lumina Networks
 
PLNOG15: Cisco Application Centric Infrastructure - why ...? - Krzysztof Mazepa
PROIDEA
 
Enterprise Ready OpenStack, Wiekus Beukes, Oracle
Sriram Subramanian
 
Cisco ACI: A New Approach to Software Defined Networking
Debra Jennings
 

Similar to Microservices at Scale with Istio (20)

PPTX
Serverless patterns
Jesse Butler
 
PPTX
Functions and DevOps
Shaun Smith
 
PDF
Solaris 11.4 launch
Scott Lynn
 
PPTX
ApI first Microservices meetup
Oracle Developers
 
PDF
Microservices and Container
Wolfgang Weigend
 
PDF
blockchain workshop - hyperledger and oabcs - technical
Juarez Junior
 
PDF
introduction to kubernetes slide deck by Roach
ZiyanMaraikar1
 
PDF
Navigating a Mesh of Microservices in the new Cloud-Native World with Istio
Gary Arora
 
PPTX
Episode 1: Transition to Iaas
BenoitFindeis
 
PDF
A proven path for migrating from clearcase to git and or subversion
CollabNet
 
PPTX
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
CollabNet
 
PDF
Oracle Blockchain Experience Day
Juarez Junior
 
PDF
Rapid private cloud with oracle vm and oracle openstack for oracle linux
OTN Systems Hub
 
PPTX
How to add stuff to MySQL
Georgi Kodinov
 
PDF
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...
Digital Transformation EXPO Event Series
 
PDF
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
MarketingArrowECS_CZ
 
PDF
Managing containers on Oracle Cloud by Jamal Arif
Oracle Developers
 
PDF
IDC datacenter of the future : Oracle point of view
Riccardo Romani
 
PDF
Platform Provisioning Automation for Oracle Cloud
Simon Haslam
 
PPTX
Moving Your Oracle Databases To The Oracle Cloud
Alex Zaballa
 
Serverless patterns
Jesse Butler
 
Functions and DevOps
Shaun Smith
 
Solaris 11.4 launch
Scott Lynn
 
ApI first Microservices meetup
Oracle Developers
 
Microservices and Container
Wolfgang Weigend
 
blockchain workshop - hyperledger and oabcs - technical
Juarez Junior
 
introduction to kubernetes slide deck by Roach
ZiyanMaraikar1
 
Navigating a Mesh of Microservices in the new Cloud-Native World with Istio
Gary Arora
 
Episode 1: Transition to Iaas
BenoitFindeis
 
A proven path for migrating from clearcase to git and or subversion
CollabNet
 
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and Jenkins
CollabNet
 
Oracle Blockchain Experience Day
Juarez Junior
 
Rapid private cloud with oracle vm and oracle openstack for oracle linux
OTN Systems Hub
 
How to add stuff to MySQL
Georgi Kodinov
 
Bringing Enterprise to the Blockchain - Moving from Science Experiment to Pra...
Digital Transformation EXPO Event Series
 
Oracle Database 19c - poslední z rodiny 12.2 a co přináší nového
MarketingArrowECS_CZ
 
Managing containers on Oracle Cloud by Jamal Arif
Oracle Developers
 
IDC datacenter of the future : Oracle point of view
Riccardo Romani
 
Platform Provisioning Automation for Oracle Cloud
Simon Haslam
 
Moving Your Oracle Databases To The Oracle Cloud
Alex Zaballa
 
Ad

Recently uploaded (20)

PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PDF
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Presentation about variables and constant.pptx
kr2589474
 
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
AWS_Agentic_AI_in_Indian_BFSI_A_Strategic_Blueprint_for_Customer.pdf
siddharthnetsavvies
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
SAP GUI Installation Guide for Windows | Step-by-Step Setup for SAP Access
SAP Vista, an A L T Z E N Company
 
Ad

Microservices at Scale with Istio

  • 1. Microservices at Scale Jesse Butler Cloud Native Advocate, Oracle Cloud Infrastructure Next Steps with Kubernetes and Istio
  • 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. About Me • Oracle via Sun Microsystems • Responsible for Docker on Solaris, later on Oracle Linux • Some work with Open Containers and CNCF WGs • Now a Cloud Native Advocate @ Oracle Cloud • @jlb13 on Twitter 3
  • 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. About OCI • Next-generation Cloud Infrastructure • Highly performant, very affordable • Managed Cloud Native Services –OKE & OCIR at the core –Many managed services in the pipeline • Check out OCI: https://cloud.oracle.com/tryit 4
  • 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Level Set • Containers in Production • Microservices • Docker, Kubernetes 5
  • 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Monolithic Applications 6 Users Application Database
  • 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Monolithic Applications 7 Users Application Database
  • 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Microservices • Microservices are the de facto standard for cloud native software • Microservices allow development teams to deploy portable and scalable applications 8
  • 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Microservices 9 Users Cart Orders Database Cluster Reports
  • 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Microservices • Microservices can put a significant burden on Ops and DevOps teams 10
  • 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Let’s Talk About Istio Istio a service mesh that allows us to connect, secure, control and observe services at scale, often requiring no service code modification 11
  • 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. The Old World • Once upon a time, proprietary systems and software were bundled and sold as a unit • This created independent silos per vendor, each with ecosystems of tools and service vendors • Systems analysts surfaced system data and implemented improvements 12
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. More Recent History • There were a lot of moving parts in the typical Old World IT organization • The advent of web applications made time to market a far more sensitive metric • DevOps arose as a means of reducing friction between where software is created and where it is deployed 13
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Advent of DevOps 14 • DevOps brings the concerns of development and operations closer together • Ideally we preserve meaningful historical expertise from both high level disciplines • DevOps is as much a cultural shift as it is technical
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. DevOps, Mother of Invention 15 • Microservices • CI / CD • Cloud Adoption • Containers
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Docker • Docker changed the way we build and ship software • Application and host are decoupled, making application services portable • Containers are an implementation detail, but a critical one 16
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Docker Is a Start But, once we abstract the host away by using containers, we no longer have our hands on an organized platform. 17
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Kubernetes 18 Kubernetes provides abstractions for deploying software in containers at scale
  • 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Kubernetes as a Platform 19 • Infrastructure resource abstraction • Cluster software where one or more masters control worker nodes • Scheduler deploys work to the nodes • Work is deployed in groups of containers
  • 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Migration from the Old World… 20 Users Application Database
  • 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. …to Cloud Native Kubernetes Hotness • Microservices running in orchestrated containers • Everybody's happy • What happens now? 21 Load balancer Service Service Database Service Queue
  • 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. …to Cloud Native Kubernetes Hotness • Microservices running in orchestrated containers • Everybody's happy • What happens now? 22 Load balancer Service Service Service Service Service Database Service Queue
  • 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Day Two 23
  • 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Table Stakes for Services at Cloud Scale 24 • We require a method to simply and repeatably deploy software, and simply and recoverably modify deployments • We require telemetry, observability, and diagnosability for our software if we hope to run at cloud scale
  • 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Day 2 Solutions • Ingress and Traffic Management 25 • Metrics and Analytics • Tracing and Observability • Identity and Security
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Abstract Requirements • Traffic Management 26 • Policy • Security • Observability
  • 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Hard Things are Hard These are Hard Problems™, and some software may address one of them well. Service mesh addresses them all. 27
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. What Is a Service Mesh? • Infrastructure layer for controlling and monitoring service-to-service traffic • A data plane deployed alongside application services, and a control plane used to manage the mesh 28
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Service Mesh • Provides DevOps teams a stable and extensible platform to monitor and maintain deployed services • For the most part, invisible to development teams 29
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Service Mesh • This is not a new solution which solves all the world’s problems, but a different way to apply existing solutions • Enables integration of existing (as well as future) best-in-class solutions for All The Things 30
  • 31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Let’s Get Back To Istio Istio a service mesh that allows us to connect, secure, control and observe services at scale, often requiring no service code modification. 31
  • 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Istio Features • Traffic Management – Fine-grained control with rich routing rules, retries, failovers, and fault injection • Observability – Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress 32
  • 33. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Istio Features • Security – Strong identity-based AuthN and AuthZ layer, secure by default for ingress, egress and service-to-service traffic • Policy – Extensible policy engine supporting access controls, rate limits and quotas 33
  • 34. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Istio Components 34 • Envoy – Sidecar proxy • Pilot – Propagates rules to sidecars • Mixer – Enforces access control, collects telemetry data • Citadel – Service-to-service and end-user AuthN and AuthZ
  • 35. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Sidecar Proxy 35
  • 36. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Sidecar Proxy 36
  • 37. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Envoy High performance proxy which mediates inbound and outbound traffic. 37 • Dynamic service discovery • Load balancing • TLS termination • HTTP/2 and gRPC proxies • Circuit breakers • Health checks • Split traffic • Fault injection • Rich metrics
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Istio Architecture 38
  • 39. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Istio Architecture 39
  • 40. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Istio Architecture 40
  • 41. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Istio Architecture 41
  • 42. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Telemetry • Istio’s Mixer is stateless and does not manage any persistent storage of its own • Capable of accumulating a large amount of transient ephemeral state • Designed to be a highly reliable, goal is > 99.999% uptime for any individual instance • Many adapters available: Prometheus, Cloud providers, Datadog, Solarwinds… 42
  • 43. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Traffic Management • Integrated Ingress and Egress • Error handling, retries, circuit breaking • Application knowledge can be leveraged for intelligent routing • Fault injection for end-to-end testing 43
  • 44. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Performance and Scalability • Code level micro-benchmarks • Synthetic end-to-end benchmarks across various scenarios • Realistic complex app end-to-end benchmarks across various settings • Automation to ensure performance doesn’t regress 44
  • 45. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Security • Traffic encryption to defend against the man- in-the-middle attacks • Mutual TLS and fine-grained access policies to provide flexible access control • Auditing tools to monitor all of it 45

Editor's Notes

  • #5: Functions, monitoring, messaging, many managed services
  • #6: Audience check
  • #7: I’m not here to tell you that monolithic apps are bad. In fact, nice and simple.
  • #8: The problem is, they typically contain a lot of complexity and moving parts, all tightly coupled into a blob of stuff Any one change effectively touches the entire body, and everything needs to be tested. This can be expensive. Typically, features get tacked on, along with bug fixes, and that’s where we end up with these long tails on releases. That’s not the best way to get features and fixes out the door fast.
  • #9: Microservices allow development teams to deploy highly portable services But, these services at scale can put an incredible burden on Devops teams responsible for keeping the applications healthy
  • #10: Microservices allow development teams to deploy highly portable services Features can be decupled from each other, dependencies swapped in and out as needed And, features and components can be implemented in langauges that fit them – maybe reports is in java, and your cart is ruby
  • #11: Microservices allow development teams to deploy highly portable services But, these services at scale can put an incredible burden on Devops teams responsible for keeping the applications healthy
  • #12: Istio a service mesh that allows us to connect, secure, control and observe services at scale, often requiring no service source code modification What is a service mesh, and what does all of this mean? We will get there, but first some history for context
  • #13: When computing initially became ubiquitious in modern business environments, systems were both hardware and software, purpose- built by a vendor Programmers created proprietary software applications and services, with proprietary tools, often leveraging other proprietary software applications Systems analysts are kind of the first DevOps - sometimes they build the system, as well!
  • #14: So let’s talk briefly about DevOps as a methodology This were a lot of moving parts in the classic Old World IT Dept. More mass means more friction, and with the advent of web applications and services, time to market became even more critical But, there's a lot of value in how we were doing things. A shift was needed, but one that didn't lose all we had gained Eventually a new methodology began to take hold which had a goal of reducing the friction, while preserving the useful expertise and painful lessons learned
  • #15: Advent of DevOps DevOps buidls a bridge between development and operations, preserving and sharing expertise between the disciplines DevOps is as much a cultural shift as it is a technical one
  • #16: Microservices – iterative development, rapid release, super fact pivot and time to market CI / CD - if you’re going to release fast, you need a system to keep up with it Cloud adoption - while not strictly required, at this point… yeah. Containers. - just as with microservice architecture and ci / cd – this was a good fit for the methodology these technologies became prolific and ubiquitous because they were needed by the methodology, we did not adapt the methodology to fit the tech
  • #17: A great example of a need driving innovation…. Docker disrupted how we build and ship software Rather than installing binaries on a set of painfully curated hosts, <bespoke, artisinal host environments> now we just "use docker” Application binaries are bound with runtime dependencies in a portable environment that can run anywhere Containers on Linux were kind of a mess before Docker, which gave a workable substrate and common abstractions
  • #18: Portability is accomplished by decoupling the app from the host where it runs If we lose sight of the host, where compute environment hits the metal (or vm), how do we run containers at scale?
  • #19: Kubernetes provides abstractions for deploying software in containers at scale Again, out of necessity - containers were everywhere, and various orchestration options arose. Mesos, Docker Swarm, others… Kubernetes won
  • #20: Infrastrcture resources are abstracted in a cluster of worker nodes, and the cluster has a scheduler which deploys work to those nodes So, everything we need…
  • #21: so now rather than a monolithic application, running in bespoke compute environments
  • #22: this is day one. what do we pick up on day two? or put another way, what happens when we succeed, and our prototyped happy path software needs to scale?
  • #23: this is day one. what do we pick up on day two? or put another way, what happens when we succeed, and our prototyped happy path software needs to scale?
  • #24: <nice k8s image duplicated over and over, then add fires from docker slide> yesterday we had 5 or 10 microservices all humming along happily, where we can actually still put our hands on them if we wanted today we might have hundreds or thousands of services running, at different versions, across multiple environments, in multiple clouds putting a finer poitn on this, how do you know where the problem is when user latencies spike for a given feature? maybe that's simple, but maybe requests come into an ingress and run through several services, and then unwind back up the stack all the way back out to the user... how do you know what went wrong where?
  • #25: We need a way to simply and repeatably deploy, and simply and recoverably modify. Kubernetes has our backs there. We need to re-establish telemetry, observability, and diagnosibility as table stakes for computing at scale. Here, we need to bring some stuff to the party.
  • #26: ingress and traffic managemnet, e.g. nginx - how do we get traffic from the user to the application? tracing and observabilty, e.g. opentracing - how do we see how the various services which make up the application work together, or their current status? metrics and analytics, prometheus - can we surface the data about our overall system performance in a meaningful way? security, e.g. vault - how do we make sure all of these services get the resources they need, sometimes through secure means, and ensure they aren't bad guys?
  • #27: abstractly, once we move from on-prem monoliths to containerized microervices running in k8s on the cloud, we still need to address the need for <iterate>
  • #28: some do one of these things, maybe well these are hard problems
  • #29: Service mesh is an infrastructure layer for controlling and monitoring service-to-service traffic in your stack This layer has both a data plane, deployed alongside application services, and a control plane which is used to manage the mesh
  • #30: A service mesh is an ideal component in a DevOps environment, as it provides operators with a stable and extensible platform for all of the work needed to maintain and improve the platform, while it remains completely invisible to developers
  • #31: Service Mesh This is not a new solution which solves all the world's problems It allows for integration of all existing (and future) best in class solutions for All the Things First time I’ve used that gif unsarcastically So, how does it do that? For that…
  • #32: Ok, so now we know what this stuff is… , Istio is a service mesh that sits in the path between services, allowing for transparent telemetry, policy and security
  • #33: fine-grained traffic control with rich routing rules, retries, failovers, and fault injection Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress
  • #34: security - a strong identity-based authentication and authorization layer which is secure by default for ingress, egress and service-to-service traffic policy - layered over all of this is a pluggable policy engine supporting access controls, rate limits and quotas typically we get all of this with little to no application code changes
  • #35: Envoy we’ve talked about this, the proxy pilot converts high level routing rules that control traffic behavior into Envoy-specific configurations, and propagates them to the sidecars at runtime Mixer Mixer enforces access control and usage policies across the service mesh, and collects telemetry data from the Envoy proxy and other services citadel provides strong service-to-service and end-user authentication with built-in identity and credential management.
  • #36: What does this look like: two services talking to each other – HTTP GET, simple
  • #37: What does this look like: Magic happens in the data plane IP Tables rules are automated to intercept all service traffic and reroute to proxy The proxy has rules and policies to follow, and after considering policy, routing rules, etc, it forwards the traffic to the appropriate service Let’s talk about that little proxy box
  • #38: We should talk about Envoy for a minute. Definitely could be its own talk, and there are many out there to check out. Envoy is a good example of Istio surfacing other features of a best-in-class component through its mesh .
  • #39: Ok so, back to this
  • #40: HTTP HTTP/2 supported, gRPC, or anything over TCP… with or w/o mTLS
  • #41: pilot managing the proxies Mixer handling enfocement and telemtrey pickup citadel authN authZ
  • #43: We get most of this for free
  • #44: Differentiate API gateway – primaritly north-south, vs service mesh east-west Istio has gateway’s which provide ingress for the mesh Betyond that, a lot of day-to-day becomes really simple – canary, traffic mixing for blue/green, AB testing
  • #45: More on testing Integrated benchmarking virtually free, making it incredibly easy to catch version-to-version regression
  • #46: And all of this is safe out of the box, secure by default in depth with multiple components