building resilient cloud native apps in gke

43
Senior System Architect, Google Developer Expert, Authorised Trainer BUILDING RESILIENT CLOUD NATIVE APPS IN GKE JERRY JALAVA - QVIK [email protected] | @W_I

Upload: jerry-jalava

Post on 21-Jan-2018

133 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Building Resilient Cloud Native Apps in GKE

Senior System Architect, Google Developer Expert, Authorised Trainer

BUILDING RESILIENT CLOUD NATIVE APPS IN GKEJERRY JALAVA - QVIK

[email protected] | @W_I

Page 2: Building Resilient Cloud Native Apps in GKE

FROM MONOLITHS TO CLOUD NATIVE

A BIT OF HISTORY

@W_I @QVIK

Page 3: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

Page 4: Building Resilient Cloud Native Apps in GKE

@W_I @QVIKHTTPS://WWW.NGINX.COM/BLOG/INTRODUCTION-TO-MICROSERVICES/

Page 5: Building Resilient Cloud Native Apps in GKE

@W_I @QVIKHTTPS://WWW.NGINX.COM/BLOG/INTRODUCTION-TO-MICROSERVICES/

Page 6: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

THERE, WE HAVE FIXED IT…

Page 7: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

NETFLIX TWITTER THE EMPIRE

Page 8: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

Page 9: Building Resilient Cloud Native Apps in GKE

HOW IS IT DIFFERENTCLOUD NATIVE

@W_I @QVIK

MICROSERVICES CONTAINERIZED DYNAMICALLY ORCHESTRATED

Page 10: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

THE CNCF REFERENCE ARCHITECTURE

Page 11: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

Page 12: Building Resilient Cloud Native Apps in GKE

QUICK INTROKUBERNETES & GKE

@W_I @QVIK

Page 13: Building Resilient Cloud Native Apps in GKE

@W_IHTTPS://RESEARCH.GOOGLE.COM/PUBS/PUB43438.HTML

Page 14: Building Resilient Cloud Native Apps in GKE

KUBERNETES (K8s)

‣ Ancient Greek for “pilot” or “helmsman”; root of the English word “governor”

‣ Orchestrator for containers

‣ Supports multi-cloud environments

‣ Started by Google

‣ Open source https://github.com/kubernetes

‣ Manage applications, not machines

@W_I

Page 15: Building Resilient Cloud Native Apps in GKE

@W_I

Page 16: Building Resilient Cloud Native Apps in GKE

@W_I

Page 17: Building Resilient Cloud Native Apps in GKE

@W_I

Page 18: Building Resilient Cloud Native Apps in GKE

GOOGLE CONTAINER ENGINE‣ Fully Managed

‣ Auto scale, Auto Upgrade, Auto repair

‣ Great access control

‣ Google maintains security updates, etc

‣ In-place upgrades

‣ Container-optimised OS

‣ Near zero maintenance requirements

‣ No vendor lock-in

‣ Integrated Logging & Monitoring

@W_I

Page 19: Building Resilient Cloud Native Apps in GKE

OTHER BENEFITS FROM GCP‣ Central Logging, Tracing, Other dev tools

‣ Most performant hardware

‣ GPU support

‣ Global LB (>1M QPS)

‣ Wonderful pricing

‣ Per-minute Billing

‣ Sustained use discounts

‣ preemptible VMs

‣ Custom Machine Types

@W_I

Page 20: Building Resilient Cloud Native Apps in GKE

RBACENHANCED K8S SECURITY

@W_I @QVIK

Page 21: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

Page 22: Building Resilient Cloud Native Apps in GKE

CREATE A CLUSTER IN GKE WITH RBAC ENABLED

DEMO

@W_I @QVIK

Page 23: Building Resilient Cloud Native Apps in GKE

NAMESPACESENHANCED K8S SECURITY

@W_I @QVIK

Page 24: Building Resilient Cloud Native Apps in GKE

MANAGING NAMESPACESDEMO

@W_I @QVIK

Page 25: Building Resilient Cloud Native Apps in GKE

AND MOVE TO THE NEXT TOPIC

LETS SKIP REST OF THE K8S FUNDAMENTALS

@W_I @QVIK

Page 26: Building Resilient Cloud Native Apps in GKE

WHAT IS IT AND WHY SHOULD I CARE

SERVICE MESH

@W_I @QVIKHTTPS://BUOYANT.IO/2017/04/25/WHATS-A-SERVICE-MESH-AND-WHY-DO-I-NEED-ONE/

Page 27: Building Resilient Cloud Native Apps in GKE

@W_I @QVIK

Page 28: Building Resilient Cloud Native Apps in GKE

DOES MORE THAN TRANSFER PACKETS FROM A TO B

@W_I @QVIK

‣ latency-aware Load Balancing

‣ Service discovery

‣ Tracing

‣ Circuit Breakers

‣ Retries & Deadlines

‣ Canarying

‣ Load Shedding

‣ Error Tracking

‣ Metrics

‣ Service Metrics

‣ Logging

‣ Timeouts

‣ Epirations

‣ Security Policies

‣ Back-offs

‣ Retry Budgets

‣ Dynamic Routing

Page 29: Building Resilient Cloud Native Apps in GKE

FEW OPEN-SOURCE PROJECTS AVAILABLE

THERE ARE

@W_I @QVIK

LINKERD.IO ISTIO.IO

Page 30: Building Resilient Cloud Native Apps in GKE

ISTIO CONCEPT

@W_I @QVIK

Page 31: Building Resilient Cloud Native Apps in GKE

WE ARE USING LINKERD TODAY

@W_I @QVIK

Page 32: Building Resilient Cloud Native Apps in GKE

WE ARE USING LINKEDTODAY

@W_I @QVIK

Page 33: Building Resilient Cloud Native Apps in GKE

DEPLOYING LINKERDDEMO

@W_I @QVIK

Page 34: Building Resilient Cloud Native Apps in GKE

STAGING MICROSERVICES

@W_I @QVIK

Page 35: Building Resilient Cloud Native Apps in GKE

STAGING MICROSERVICES

@W_I @QVIK

Page 36: Building Resilient Cloud Native Apps in GKE

STAGING MICROSERVICES

@W_I @QVIK

Page 37: Building Resilient Cloud Native Apps in GKE

CANARY DEPLOYMENTSDEMO

@W_I @QVIK

Page 38: Building Resilient Cloud Native Apps in GKE

CONTINUOUS DELIVERY

@W_I @QVIKHTTPS://BUOYANT.IO/2016/11/04/A-SERVICE-MESH-FOR-KUBERNETES-PART-IV-CONTINUOUS-DEPLOYMENT-VIA-TRAFFIC-SHIFTING/

Page 39: Building Resilient Cloud Native Apps in GKE

CONTINUOUS DELIVERY

@W_I @QVIK

Page 40: Building Resilient Cloud Native Apps in GKE

CONTINUOUS DELIVERY

@W_I @QVIKHTTPS://BUOYANT.IO/2016/11/04/A-SERVICE-MESH-FOR-KUBERNETES-PART-IV-CONTINUOUS-DEPLOYMENT-VIA-TRAFFIC-SHIFTING/

Page 41: Building Resilient Cloud Native Apps in GKE

EXTRA BENEFITS FROM GOOGLE CLOUD PLATFORM

DEMO

@W_I @QVIK

Page 42: Building Resilient Cloud Native Apps in GKE

SOME RESOURCES‣ linkerd.io ‣ https://buoyant.io/2016/10/04/a-service-mesh-for-

kubernetes-part-i-top-line-service-metrics/ ‣ istio.io ‣ http://redmonk.com/jgovernor/2017/05/31/so-what-even-

is-a-service-mesh-hot-take-on-istio-and-linkerd/ ‣ cncf.io ‣ cloud.google.com/container-engine/ ‣ github.com/jerryjj (Demo sources coming soon)

@QVIK

Page 43: Building Resilient Cloud Native Apps in GKE

THANK YOU!

LET’S CREATE IT TOGETHER

[email protected] | @W_I