Istio. A modern service mesh. Louis Ryan Principal

Similar documents
Managing your microservices with Kubernetes and Istio. Craig Box

A Comparision of Service Mesh Options

Istio s Mixer: Policy Enforcement with Custom Adapters Limin Wang, Software Engineer, Google Torin Sandall, Software Engineer, Styra

Service Mesh with Istio on Kubernetes. Dmitry Burlea Software FlixCharter

MSB to Support for Carrier Grade ONAP Microservice Architecture. Huabing Zhao, PTL of MSB Project, ZTE

Service Mesh and Related Microservice Technologies in ONAP

The Road to Istio: How IBM, Google and Lyft Joined Forces to Simplify Microservices

ISTIO 1.0 INTRODUCTION & OVERVIEW OpenShift Commons Briefing Brian redbeard Harrington Product Manager, Istio

& the architecture along the way!

SQUASH. Debugger for microservices. Idit Levine solo.io

Service Mesh and Microservices Networking

Enabling Multi-Cloud with Istio Stretching an Istio service mesh between Public & Private Clouds. John Joyce Robert Li

OPENSHIFT 3.7 and beyond

Clover Overview: Gambia release. April 16, 2018

SERVERLESS APL. For now this is just research in Cloud technologies in SimCorp A/S.

Cloud Native Security. OpenShift Commons Briefing

Handling Microservices with Kubernetes - Basic Info

Container-Native Applications

NGINX: From North/South to East/West

OpenShift Container Platform 3.11

Singapore. Service Proxy, Container Networking & K8s. Acknowledgement: Pierre Pfister, Jerome John DiGiglio, Ray

ENHANCE APPLICATION SCALABILITY AND AVAILABILITY WITH NGINX PLUS AND THE DIAMANTI BARE-METAL KUBERNETES PLATFORM

ACI Terminology. This chapter contains the following sections: ACI Terminology, on page 1. Cisco ACI Term. (Approximation)

CHALLENGES IN A MICROSERVICES AGE: MONITORING, LOGGING AND TRACING ON OPENSHIFT. Martin Etmajer Technology May 4, 2017

Open Java EE and Eclipse MicroProfile - A New Java Landscape for Cloud Native Apps

Cisco ACI Terminology ACI Terminology 2

Cloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved.

Kubernetes Integration Guide

Kubernetes 1.8 and Beyond

Microservices Implementations not only with Java. Eberhard Wolff Fellow

Elastic Load Balancing. User Guide. Date

Architectural Code Analysis. Using it in building Microservices NYC Cloud Expo 2017 (June 6-8)

Eclipse MicroProfile: Accelerating the adoption of Java Microservices

Four times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow

Defining Security for an AWS EKS deployment

Deploy Microsoft SQL Server 2014 on a Cisco Application Centric Infrastructure Policy Framework

Zero to Microservices in 5 minutes using Docker Containers. Mathew Lodge Weaveworks

Getting Started with AWS Security

Unified Load Balance. User Guide. Issue 04 Date

Exam : Implementing Microsoft Azure Infrastructure Solutions

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

Cloud I - Introduction

Table of Contents DevOps Administrators

How to Re-Architect without Breaking Stuff (too much) Owen Garrett March 2018

Elastic Load Balance. User Guide. Issue 01 Date HUAWEI TECHNOLOGIES CO., LTD.

Link Security Considerations in the. Enterprise

Elastic Load Balance. User Guide. Issue 14 Date

Good Fences Make Good Neighbors: Rethinking Your Cloud Selection Strategy

Technologies for the future of Network Insight and Automation

Virtual Security Gateway Overview

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Service Graph Design with Cisco Application Centric Infrastructure

Delivering Microservices Securely and at Scale with NGINX in Red Hat OpenShift. November, 2017

Elastic Load Balancing

WHITEPAPER AMAZON ELB: Your Master Key to a Secure, Cost-Efficient and Scalable Cloud.

Microservices. GCPUG Tokyo Kubernetes Engine

Dynamic App Services in Containerized Environments

Spring Cloud, Spring Boot and Netflix OSS

Easily Secure your Microservices with Keycloak. Sébastien Blanc Red

Securely Access Services Over AWS PrivateLink. January 2019

CONTRAIL SECURITY. Contrail Cloud Networking & Security

Title DC Automation: It s a MARVEL!

Cisco Tetration Analytics

Technical Brief. A Checklist for Every API Call. Managing the Complete API Lifecycle

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

SECURITY ON AWS 8/3/17. AWS Security Standards MORE. By Max Ellsberry

Intent Driven Network Operations with AppFormix Advanced Analytics Platform. Joseph Li

A10 HARMONY CONTROLLER

ISACA Silicon Valley. APIs The Next Hacker Target or a Business and Security Opportunity? Tim Mather, CISO Cadence Design Systems

Cloud Service Engine. Product Description. Issue 01 Date

EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER

Catalyst. Uber s Serverless Platform. Shawn Burke - Staff Engineer Uber Seattle

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Self-driving Datacenter: Analytics

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Awareness Technologies Systems Security. PHONE: (888)

Project Calico v3.2. Overview. Architecture and Key Components. Project Calico provides network security for containers and virtual machine workloads.

Dynamic Datacenter Security Solidex, November 2009

Overview SENTINET 3.1

Kubernetes 1.9 Features and Future

Mobile Cloud Computing Challenges and Solutions

Let s say that hosting a cloudbased application is like car ownership

Eclipse MicroProfile with Thorntail (formerly WildFly Swarm)

The Path to GPU as a Service in Kubernetes Renaud Gaubert Lead Kubernetes Engineer

ACI Multi-Site Architecture and Deployment. Max Ardica Principal Engineer - INSBU

Overview. AWS networking services including: VPC Extend your network into a virtual private cloud. EIP Elastic IP

More Containers, More Problems

Virtual Private Cloud. User Guide. Issue 03 Date

Managing and Auditing Organizational Migration to the Cloud TELASA SECURITY

Kubernetes. Introduction

Securing Microservice Interactions in Openstack and Kubernetes

Recent Enhancements to Cloud Foundry Routing. Route Services and TCP Routing

Starting the Avalanche:

Cisco ACI vcenter Plugin

Cisco Tetration Analytics Demo. Ing. Guenter Herold Area Manager Datacenter Cisco Austria GmbH

Building a Kubernetes on Bare-Metal Cluster to Serve Wikipedia. Alexandros Kosiaris Giuseppe Lavagetto

Vitess on Kubernetes. followed by a demo of VReplication. Jiten Vaidya

Introduction With the move to the digital enterprise, all organizations regulated or not, are required to provide customers and anonymous users alike

Transcription:

Istio A modern service mesh Louis Ryan Principal Engineer @ Google @louiscryan

My Google Career HTTP Reverse Proxy HTTP HTTP2 GRPC Reverse Proxy Reverse Proxy HTTP API Proxy HTTP Control Plane HTTP2 GRPC Stubby API Proxy v2 GData Library Server Stubby GRPC (local) Server Server Centralization Performance & Isolation

Cloud Internal & External Convergence HTTP2 GRPC Network distance & bandwidth Protocols Isolation & Reliability Security Concerns Reverse Proxy Control Plane HTTP2 GRPC API Proxy v2 Stubby GRPC (local) Sidecar! Server

Decoupling Velocity Operators & Developers Code & Networking Network Topology & Security Modernization & Architecture

What is a Service Mesh? A network for services, not bytes Observability Resiliency Traffic Control Security Policy Enforcement Zero code change FREE!

What is a Service Mesh? A network for services, not bytes Observability Resiliency Traffic Control Security Policy Enforcement

Weaving the mesh - Sidecars HTTP/1.1, HTTP/2, grpc, TCP with or without TLS HTTP/1.1, HTTP/2, grpc, TCP with or without TLS Internet proxy sidecar sidecar svca svcb Service A Outbound features: Service authentication Load balancing Retry and circuit breaker Fine-grained routing Telemetry Request Tracing Fault Injection Service B Inbound features: Service authentication Authorization Rate limits Load shedding Telemetry Request Tracing Fault Injection External Services

Istio - Putting it all together Control Plane API Pilot Control flow during request processing Mixer Istio-Auth Discovery & Config data to Envoys TLS certs to Envoy Policy checks, telemetry Pod Traffic is transparently intercepted and proxied. App is unaware of Envoy s presence Envoy Envoy svca svcb Service A Service B

Our sidecar of choice - Envoy A C++ based L4/L7 proxy Low memory footprint Battle-tested @ Lyft 100+ services 10,000+ VMs 2M req/s Plus an awesome team willing to work with the community! Goodies: API driven config updates no reloads Zone-aware load balancing w/ failover Traffic routing and splitting Health checks, circuit breakers, timeouts, retry budgets, fault injection, HTTP/2 & grpc Transparent proxying Designed for observability

2. 3. 4. Custom Eureka Consul Environment-specific topology extraction Topology is mapped to a platform-agnostic model. Additional rules are layered onto the model. E.g. retries, traffic splits etc. Configuration is pushed to Envoy and applied without restarts Rules API 1. Kubernetes Modeling the Service Mesh Platform Adapter Abstract Model Pilot Envoy API Service discovery & traffic rules Envoy Envoy Envoy Envoy

What is a Service Mesh? A network for services, not bytes Observability Resiliency Traffic Control Security Policy Enforcement

Visibility Monitoring & tracing should not be an afterthought in the infrastructure Goals Istio - Grafana dashboard w/ Prometheus backend Metrics without instrumenting apps Consistent metrics across fleet Trace flow of requests across services Portable across metric backend providers Istio Zipkin tracing dashboard

Visibility: Metrics Requests Requests Responses Envoy Responses Service Traces Mixer collects metrics emitted by Envoys Adapters in the Mixer normalize and forward to monitoring backends Metrics backend can be swapped at runtime Zipkin Report([ ]attributes) Check(attributes) Mixer Operator Supplied Config Adapters Backends Prometheus Stackdriver GUIs ServiceGraph Example Grafana Statsd Weave Scope

Visibility: Tracing Requests Requests Responses Envoy Responses Service Traces Applications do not have to deal with generating spans or correlating causality Mixer Applications need to forward context headers on outbound calls Envoy sends traces to Mixer Adapters at Mixer send traces to respective backends Report([ ]attributes) Check(attributes) Envoys generate spans Zipkin Operator Supplied Config Adapters Backends Prometheus Stackdriver GUIs ServiceGraph Example Grafana Statsd Weave Scope

What is a Service Mesh? A network for services, not bytes Observability Resiliency Traffic Control Security Control

Resiliency Istio adds fault tolerance to your application without any changes to code // Circuit breakers destination: serviceb.example.cluster.local policy: - tags: version: v1 circuitbreaker: simplecb: maxconnections: 100 httpmaxrequests: 1000 httpmaxrequestsperconnection: 10 httpconsecutiveerrors: 7 sleepwindow: 15m httpdetectioninterval: 5m Resilience features Timeouts Retries with timeout budget Circuit breakers Health checks AZ-aware load balancing w/ automatic failover Control connection pool size and request load Systematic fault injection

What is a Service Mesh? A network for services, not bytes Observability Resiliency & Efficiency Traffic Control Security Policy Enforcement

Traffic Splitting serviceb.example.cluster.local Rules API // A simple traffic splitting rule Pilot Traffic routing rules 99% Envoy Pod Envoy svcb http://serviceb.example 1% svca Envoy Service A svcb Traffic control is decoupled from infrastructure scaling Pod Labels: version: v2.0-alpha, env:us-staging Service B destination: serviceb.example.cluster.local match: source: servicea.example.cluster.local route: - tags: version: v1.5 env: us-prod weight: 99 - tags: version: v2.0-alpha env: us-staging weight: 1 Pod Labels: version: v1.5 env: us-prod

Traffic Steering // Content-based traffic steering rule destination: serviceb.example.cluster.local match: httpheaders: user-agent: regex: ^(.*?;)?(iphone)(;.*)?$ precedence: 2 route: - tags: version: canary Service B version: v1 Pod 1 svca svcb Service A Service B version: v1 Pod 1 oid* ndr t: *A gen r-a Use Use Pod 2 Pod 3 svcb svca Service A Content-based traffic steering Pod 2 Pod 3 r-ag ent: *iph one * Pod 4 svcb version: canary

What is a Service Mesh? A network for services, not bytes Observability Resiliency & Efficiency Traffic Control Security Policy Enforcement

Securing Services Encryption by default Verifiable identity Secure naming / addressing Revocation

Problem: Strong Service Security at Scale Concerns Insiders Hijacked services Microservice attack surface Workload mobility Brittle fine-grained models Securing resources not just endpoints Audit & Compliance Wants Workload mobility Remote admin & development Shared & 3rd party services User & Service identity Lower costs Traditional perimeter security models are insufficient

Istio - Security at Scale spiffe.io

What is a Service Mesh? A network for services, not bytes Observability Resiliency & Efficiency Traffic Control Security Policy Enforcement

Putting it all together Control Plane API Control flow during request processing Pilot Mixer Istio-Auth Discovery & Config data to Envoys TLS certs to Envoy Policy checks, telemetry Pod Envoy Envoy svca svcb Service A Service B

What s Mixer For? Nexus for policy evaluation and telemetry reporting Precondition checking Quotas & Rate Limiting Primary point of extensibility Enabler for platform mobility Operator-focused configuration model

Attributes - The behavioral vocabulary target.service request.size request.time source.ip source.name source.user api.operation = = = = = = = playlist.svc.cluster.local 345 2017-04-12T12:34:56Z 192.168.10.1 music-fe.serving.cluster.local admin@musicstore.cluster.local GetPlaylist

Roadmap Production Readiness Multi-Cloud & Multi-Environment Networking - Extension models, UDP, QUIC, performance,... Moar integrations - ACLs, Telemetry, Audit, Policy,... Security - HSM, Cert & Key stores, federation,... API Management

Thanks! Phew