Building Resilient Cloud Native Apps in GKE

Post on 21-Jan-2018

133 views 1 download

Transcript of Building Resilient Cloud Native Apps in GKE

Senior System Architect, Google Developer Expert, Authorised Trainer

BUILDING RESILIENT CLOUD NATIVE APPS IN GKEJERRY JALAVA - QVIK

JERRY@QVIK.FI | @W_I

FROM MONOLITHS TO CLOUD NATIVE

A BIT OF HISTORY

@W_I @QVIK

@W_I @QVIK

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

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

@W_I @QVIK

THERE, WE HAVE FIXED IT…

@W_I @QVIK

NETFLIX TWITTER THE EMPIRE

@W_I @QVIK

HOW IS IT DIFFERENTCLOUD NATIVE

@W_I @QVIK

MICROSERVICES CONTAINERIZED DYNAMICALLY ORCHESTRATED

@W_I @QVIK

THE CNCF REFERENCE ARCHITECTURE

@W_I @QVIK

QUICK INTROKUBERNETES & GKE

@W_I @QVIK

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

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

@W_I

@W_I

@W_I

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

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

RBACENHANCED K8S SECURITY

@W_I @QVIK

@W_I @QVIK

CREATE A CLUSTER IN GKE WITH RBAC ENABLED

DEMO

@W_I @QVIK

NAMESPACESENHANCED K8S SECURITY

@W_I @QVIK

MANAGING NAMESPACESDEMO

@W_I @QVIK

AND MOVE TO THE NEXT TOPIC

LETS SKIP REST OF THE K8S FUNDAMENTALS

@W_I @QVIK

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/

@W_I @QVIK

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

FEW OPEN-SOURCE PROJECTS AVAILABLE

THERE ARE

@W_I @QVIK

LINKERD.IO ISTIO.IO

ISTIO CONCEPT

@W_I @QVIK

WE ARE USING LINKERD TODAY

@W_I @QVIK

WE ARE USING LINKEDTODAY

@W_I @QVIK

DEPLOYING LINKERDDEMO

@W_I @QVIK

STAGING MICROSERVICES

@W_I @QVIK

STAGING MICROSERVICES

@W_I @QVIK

STAGING MICROSERVICES

@W_I @QVIK

CANARY DEPLOYMENTSDEMO

@W_I @QVIK

CONTINUOUS DELIVERY

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

CONTINUOUS DELIVERY

@W_I @QVIK

CONTINUOUS DELIVERY

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

EXTRA BENEFITS FROM GOOGLE CLOUD PLATFORM

DEMO

@W_I @QVIK

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

THANK YOU!

LET’S CREATE IT TOGETHER

jerry@qvik.fi | @W_I