journey to containerized application / google container engine

23
Google confidential | Do not distribute Journey to Containerized Applications Google Container Engine Etsuji Nakai Cloud Solutions Architect at Google 2016/07/29 ver1.0

Upload: google-cloud-platform-japan

Post on 23-Jan-2018

1.425 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Journey to Containerized Application / Google Container Engine

Google confidential | Do not distribute

Journey to Containerized ApplicationsGoogle Container Engine

Etsuji NakaiCloud Solutions Architect at Google2016/07/29 ver1.0

Page 2: Journey to Containerized Application / Google Container Engine

$ who am i

▪Etsuji NakaiCloud Solutions Architect at Google

Twitter @enakai00

Page 3: Journey to Containerized Application / Google Container Engine

What is Google Cloud Platform?

Page 4: Journey to Containerized Application / Google Container Engine

Google’s Vision

“to provide access to the world's information in one click.”

Page 5: Journey to Containerized Application / Google Container Engine

How?

Datacenter as a Computer

Page 6: Journey to Containerized Application / Google Container Engine

How?

Controlled by Distributed Software Technology

Page 7: Journey to Containerized Application / Google Container Engine

How?http://research.google.com/pubs/papers.html

Page 8: Journey to Containerized Application / Google Container Engine

What is Google Cloud Platform?

Opening up Computing Resource from Google’s Infrastructure

Page 9: Journey to Containerized Application / Google Container Engine

Global Network Infrastructure

▪ Edge Points of Presence– Entry points to the Google’s internal network infrastructure.– Being used to deliver Google’s service contents.

https://peering.google.com/#/infrastructure

Page 10: Journey to Containerized Application / Google Container Engine

Global Private Network on GCP

— instance-b.c.cloud-ace-demo.internal ping statistics —100 packets transmitted, 100 received, 0% packet loss, time 99001msrtt min/avg/max/mdev = 0.327/0.401/0.679/0.053 ms

Inter-zone latency example

https://cloud.google.com/compute/docs/networking

Page 11: Journey to Containerized Application / Google Container Engine

Cloud Load Balancer on GCPSingle global IP address distributes packets for ALL regions.

https://cloudplatform.googleblog.com/2015/09/Announcing-new-global-load-balancing-locations-and-new-Carrier-Interconnect-partner-Orange-Business-Services.html

Page 12: Journey to Containerized Application / Google Container Engine

Google Cloud Platform in a Nutshell

“Software that works easily, readily and automatically.”

Page 13: Journey to Containerized Application / Google Container Engine

Journey to Containerized Apps

Page 14: Journey to Containerized Application / Google Container Engine

More Insights, More Freedom▪ Understanding the engineering intensions, the intended use cases of the technology gives you a better control of the infrastructure.

http://research.google.com/pubs/pub43438.html http://research.google.com/pubs/pub44824.html

You don't have to build it yourself. However, you'd still better understand it.

Page 15: Journey to Containerized Application / Google Container Engine

Google’s Journey on Containerized Apps

http://queue.acm.org/detail.cfm?id=2898444

Page 16: Journey to Containerized Application / Google Container Engine

キーメッセージの抜粋

Japanese page

Page 17: Journey to Containerized Application / Google Container Engine

サーバーの境界を意識しないアプリケーションデプロイ

▪ コンテナの配置先を自動的に振り分ける仕組みを用いて、複数ホストを「1つのコン

ピューティングリソース」として活用します。

▪ アプリケーションを機能単位に分割してコンテナ化することで、さらなるメリットが得られま

す。

– 必要な機能を負荷に応じてオートスケールします。

– 機能単位でコンテナを入れ替えることにより、稼働中のアプリケーションの動的な機能変更が可能

になります。

コンテナホスト

コンテナホスト

コンテナホスト

・・・

複数ホストを束ねて「1つのコンピュータ」として活用

マイクロサービス化アプリケーション

Japanese page

Page 18: Journey to Containerized Application / Google Container Engine

▪ Nonetheless, the isolation and dependency minimization provided by containers have proved quite effective at Google, and the container has become the sole runnable entity supported by the Google infrastructure.

▪ Building management APIs around containers rather than machines shifts the "primary key" of the data center from machine to application.

– It relieves application developers and operations teams from worrying about specific details of machines and operating systems

– it provides the infrastructure team flexibility to roll out new hardware and upgrade operating systems with minimal impact on running applications and their developers

– it ties telemetry collected by the management system (e.g., metrics such as CPU and memory usage) to applications rather than machines.

⇒ It allows application developers to use the infrastructure as a single computer hiding hardware and operating systems.

Key Takeouts

Page 19: Journey to Containerized Application / Google Container Engine

Application Deployment without System Boundaries

▪ The container scheduler places containers across multiple hosts, like a process scheduler of the operating system.

▪ Splitting application into multiple containers based on functions gives additional flexibility.– Autoscaling not a whole application, but just a necessary component. – Specific functions can be replaced without disrupting the service.

ContainerHost

ContainerHost

ContainerHost ・・・

A single computer on top of a Kubernetes cluster

MicroserviceApplication

Page 20: Journey to Containerized Application / Google Container Engine

Combining Microservices with front/back-ends

Load Balancing

Compute Engine

Container Engine

Object Store

Cloud SQL

Cloud Datastore

Cloud Storage

RDB

NoSQL DB

Microservices

Common BackendServices

ExistingApplications

Global Network

Agile / Dynamic / Scalable parts of the

Application

Page 21: Journey to Containerized Application / Google Container Engine

Challenge

Page 22: Journey to Containerized Application / Google Container Engine

Share Your Best Practices!

▪ Architecture Design– How to migrate from existing architecture.

▪ Practical Knowledge– The devil lives in the detail, as always.

▪ Aligning the team toward DevOps– Need to remap existing people to a new set of roles.

Page 23: Journey to Containerized Application / Google Container Engine

Thank you!