17
www.jpgenovese.com @eljuanchosf Istio Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner

Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

IstioSimplifying your microservices life

Juan Pablo Genovese

Cloud Architect / DevOps Practitioner

Page 2: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com

Yours truly...

Juan Pablo Genovese (aka J.P.)

Cloud Architect / DevOps Practitioner

A bit about me

● Absolutely passionate about teaching

and dancing Tango

● Plays guitar and sings.

● Have two dogs (a Giant schnauzer

and a Boxer)

● Loves meeting people and talking

about pretty much everything

Keep in touch!

● 22 years in the IT business in different

industries.

● From S/390 to Cloud environments.

● From COBOL to microservices.

● Loves working on Cloud Native &

Distributed architectures, enabling

companies in the Cloud World and

teaching..

www.jpgenovese.com

Page 3: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

The African Lion Philosophy for Solving Complex Problems

How do you eat an elephant?

One bite at a time.

Page 4: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

Microservices are great!● Independent development

● Independent deployment

● Independent scalability

● Reusability

Page 5: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

… but microservices are also hard.● Increased complexity in development cycle

● Increased complexity in deployment cycle

● Have to work with distributed transactions (oh… crap!)

● Increased technical complexity

● Experts needed!

● Boundaries madness

● Versioning is HARD

● Communication hardships are often minimized

Page 6: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

The Artisan Way● Find the service. Where’s the address?

● Make sure it is alive.

● Make sure it is free to be used.

● Figure out if you have permissions to use it.

● Identify myself to the service. Who am I.

● Actually use that wretched service!

● Report the usage stats.

● Did it fail? Damn it. Do this all over again!

Page 7: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

IstioTo the rescue!

Page 8: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

A bit of background● A service mesh for your microservices

● Backed by Google, IBM and Lyft

● Currently in version 0.8

● In heavy development now, most features are still alpha, but functional

● It needs a container orchestrator to be deployed. Currently doable in K8s

● Integrates with Consul & Eureka

● Soon support for Cloud Foundry and Apache Mesos

Page 9: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

What problems Istio solves?● Traffic Management

○ Load balancing, routing, service discovery, failure recovery.

● Service Identity and Security

○ Service authentication and authorization and encryption.

● Policy Enforcement

○ Resources distributed fairly across services. Centralized and pluggable configuration without

modifying the application code.

● Telemetry

○ Have easy access to understand the dependency between services, the traffic flow and identification

of issues.

Page 10: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

The architecture

Pod

svcA

Envoy

svcB

Envoy

Control plane API

Pilot Citadel

Data Plane

Adapters

Control PlaneMixer

Page 11: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

Envoy● Dynamic service discovery

● Load balancing

● TLS termination

● HTTP/2 & gRPC proxying

● Circuit breakers

● Health checks

● Staged rollouts with %-based

traffic split

● Fault injection

● Rich metrics

Kinner C-7 Envoy

Page 12: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

Pilot● Service discovery for the Envoy sidecars

● Traffic management capabilities for intelligent

routing (e.g., A/B tests, canary deployments,

etc.),

● Resiliency (timeouts, retries, circuit breakers,

etc.).

Page 13: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

Mixer● Enforces access control and usage policies across

the service mesh

● Collects telemetry data from the Envoy proxy

and other services.

● Use adapters to connect to many metrics,

authorization, quota and logging backends.

Page 14: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

Citadel● Provides strong service-to-service and end-user

authentication

● Built-in identity and credential management.

● Provides operators the ability to enforce policy

based on service identity rather than network

controls.

Page 15: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

How does Istio work?

Pod

svcA

Envoy

svcB

Envoy

Control plane API

Pilot Mixer Citadel

The Net

HTTP - 1.1 & 2, gRPC, TCP w or w/o TLS

HTTP - 1.1 & 2, gRPC, TCP w or w/o TLS

Policy checks

Envoy config. data

TLS certs to Envoy

Telemetry

Request data

Page 16: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

Page 17: Simplifying your microservices life · 2018-07-02 · Simplifying your microservices life Juan Pablo Genovese Cloud Architect / DevOps Practitioner. Yours truly... Juan Pablo Genovese

www.jpgenovese.com @eljuanchosf

Thank you!!