SlideShare a Scribd company logo
Migrate From AWS to GCP
TABLEAPP Architecture Story
Yen-Wen Chen
TABLEAPP Architect
29 May 2017
TABLEAPP AWS Architecture
TABLEAPP
Cloudfront CDN
Assets / Images
S3
DNS
Route53
Mail Server
SES
Notification
SNS
Load Balancer
Application
Clusters
EC2 / AutoScale
Database
RDS / HA
It’s good, but ...
AWS Architecture Resource Problem
Scaling!!
● Auto Scaling Benefit
○ Maintain availability
○ Maintain performance
○ Decrease capacity during lulls to
reduce costs
● But
○ Other instance resource is waste
○ EC2 requiring is slow
■ about 1~2min to activate a ec2
■ about 1~2min to update latest
source code
■ about 30s to run health check
Our solution is Container
Virturalized Infrastructure
Infrastructure
Host OS
Docker Engine
BINS/LIBS
APP
Container
BINS/LIBS
APP
Container
BINS/LIBS
APP
Container
We can ignore resource problem
Container Auto Scaling
Container A
Container B
Container C
Container A
Container B
Container C
Container A
Container C
Machine 1 Machine 2 Machine 3
If Container C causes CPU overload
Then put a new C into Machine 3
Service Auto Discovery
Container A
Container B
Container C
Container A
Container B
Container C
Container A
Container C
Machine 1 Machine 2 Machine 3
Service A Service B Service C
Service auto discovery / configuration / load balance
Other Benefits of Docker Moby
● Version Control
○ push code and build
○ every commit has its own images
● Lightweight
○ fast activation (~ 10s) and rollback
○ small image
● Isolation
○ applications and resources are isolated and segregated
● Protable
○ Multi-cloud platform support
○ BOSS asked that
We want to run moby on …?
Kubernetes vs EC2 Container Service
Kubernetes EC2 Container Service
Open Source NO
PaaS Google Compute Engine,
Rackspace, Microsoft Azure,
vSphere, ...
AWS
Community x
Management Kubectl / API AWS CLI / API
Protable Run anywhere AWS only
Service / Discovery built-in Elastic Load Balance
How about K8s on AWS?
Deploy Kubernetes on EC2
● Maintain Kubernetes yourself
○ Install
○ Testing
○ Update
○ and ….
● Handle auto-scale manually
○ remove pods before remove ec2
● Using CI to deploy image
● Set up logging and monitoring policy
● Integrate AWS resource and Kubernetes manually
○ It must be scalable
No, it sucks ...
Kubernetes on Google Cloud is awesome
Google Container Engine (GKE)
● Easy
● Full managed
○ even update kubernetes
● Logging and Monitoring support (stackdrive)
● Automatic and configurable cluster scaling
● Google Cloud Platform resource integration
Design new Architecture
TABLEAPP GCP Architecture
Cloud Load
Balancing
Database
Cloud SQL
EastAsia Cluster
Container Engine
TABLEAPP
Cloud CDN
TABLEAPP
Cloudfront CDN
Assets / Images
S3
DNS
Route53
Mail Server
SES
Notification
SNS
Architecture inside kubernetes
TABLEAPP Kubernetes Cluster
Front Service
API Service
Manage Service
Front
Front
Manage
Manage
API
CloudSQL Proxy
API
CloudSQL Proxy
API
Cloud Load Balancing
Manage
Cloud Load Balancing
WWW
Cloud Load Balancing
Database
Cloud SQL
Logger Service Logger
Logging
Deployment
EastAsia Cluster
Container Engine
BitBucket Build Trigger
Container Registry
Build Images
Container Registry
Base Images
Code Repository
ImageUpdate
Pub/Sub
Pods Update
Cloud Functions
Config Files
Cloud Storage
2
1 Base Images Dockerfile Updated
2 Web Source Code Updated
3 Build Images Process
4 Pull Latest Config File
5 Trigger Image Update
6 Notified Image Update
7 Pull Latest Docker Image
8 Pull Latest Config File From Pods
startup script
9 Migrate Database From Pods startup
script
Database
Cloud SQL
1
3
4 7
8
5
6
9
Log Collection
EastAsia Cluster
Container Engine
BitBucket Build Trigger
Container Registry
Build Images
Container Registry
Code Repository
Base Images
ImageUpdate
Pub/Sub
Pods Update
Cloud Functions
Config Files
Cloud Storage
Database
Cloud SQL
Cloud Load
Balancing
Tableapp
Cloud CDN
Logging
Build Log
Log Files
Cloud StorageBackup
Cost and Usage
Request History
Requests has grown
5 times in past year5x
Payment History
● cost increased
almost 2 times in six
month
● We start optimize
AWS architecture at
2016-11
Start
Optimize
2x
Payment History
● After reduce cost
● We start maintain
architecture in
Google at 2017-02
Start Test
Google
Payment History
Now
We redece cost successful
We can afford more request
Conclusion
● We still remain some service in AWS
○ SES
○ SNS
○ S3
○ Read replica Database
● CloudCDN is really fast
○ very low latency
○ optimize network
○ POP is stable
● Lower price
○ based on new arch, we save 40% cost

More Related Content

PDF
Tableapp architecture migration story for GCPUG.TW
PDF
Using Kubernetes to deploy Django in GCP
PDF
GKE Tip Series - Usage Metering
PDF
From airflow to google cloud composer
PDF
[GS네오텍] Google Kubernetes Engine
PDF
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
PPTX
The automation challenge Kubernetes operators vs Helm charts
PPTX
REX: Cloud Native Apps on a K8S stack
Tableapp architecture migration story for GCPUG.TW
Using Kubernetes to deploy Django in GCP
GKE Tip Series - Usage Metering
From airflow to google cloud composer
[GS네오텍] Google Kubernetes Engine
MongoDB MUG Delhi NCR - December 19 2020 (Cloud Security)
The automation challenge Kubernetes operators vs Helm charts
REX: Cloud Native Apps on a K8S stack

What's hot (20)

PDF
Kubernetes: Managed or Not Managed?
PDF
Automating Kubernetes Environments with Ansible
PPTX
20170705 kubernetes with calico
PDF
Kubeflow control plane
PPTX
Kubeflow on google kubernetes engine
PDF
Helm chart-introduction
PPTX
Kubernetes Meetup: CNI, Flex Volume, and Scheduler
PDF
Handling Kubernetes Resources
PDF
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
PPTX
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
PDF
Orchestrating workflows Apache Airflow on GCP & AWS
PDF
7 - Monitoring Kubernetes with Elastic
PDF
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PDF
Intro to creating kubernetes operators
PDF
2016 08-30 Kubernetes talk for Waterloo DevOps
PPTX
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
PDF
Deploy prometheus on kubernetes
PDF
Roman Gorshunov - Airship project onboarding
PDF
Knative Intro
PDF
以 Kubernetes 部屬 Spark 大數據計算環境
Kubernetes: Managed or Not Managed?
Automating Kubernetes Environments with Ansible
20170705 kubernetes with calico
Kubeflow control plane
Kubeflow on google kubernetes engine
Helm chart-introduction
Kubernetes Meetup: CNI, Flex Volume, and Scheduler
Handling Kubernetes Resources
How to Live in a Post-Spring-Cloud-Netflix World - Olga Maciaszek-Sharma & Ja...
Cloud Native 오픈소스 서비스 소개 및 Serverless로 실제 게임 개발하기
Orchestrating workflows Apache Airflow on GCP & AWS
7 - Monitoring Kubernetes with Elastic
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
Intro to creating kubernetes operators
2016 08-30 Kubernetes talk for Waterloo DevOps
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Deploy prometheus on kubernetes
Roman Gorshunov - Airship project onboarding
Knative Intro
以 Kubernetes 部屬 Spark 大數據計算環境
Ad

Similar to From AWS to GCP, TABLEAPP Architecture Story (20)

PDF
reInvent 2021 Recap and k9s review
PPTX
Docker on Amazon ECS
PDF
Docker clusters on AWS with Amazon ECS and Kubernetes
PDF
Building a Data Pipeline using Apache Airflow (on AWS / GCP)
PPTX
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
PDF
AWS in Practice
PDF
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
PDF
Velocity NYC 2016 - Containers @ Netflix
PPTX
AWS ECS workshop
PDF
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
PDF
Deep Dive on Microservices and Docker
PPTX
Docker on AWS - the Right Way
PDF
Netflix and Containers: Not Stranger Things
PDF
Netflix and Containers: Not A Stranger Thing
PDF
Scheduling a fuller house - Talk at QCon NY 2016
PDF
Netflix Container Scheduling and Execution - QCon New York 2016
PDF
AppRunner DeepDive
PDF
Google container engine (GKE)
PDF
Kubernetes & Google Container Engine @ mabl
PDF
Deliver Docker Containers Continuously On AWS - DevOpsCon Munich 2016
reInvent 2021 Recap and k9s review
Docker on Amazon ECS
Docker clusters on AWS with Amazon ECS and Kubernetes
Building a Data Pipeline using Apache Airflow (on AWS / GCP)
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
AWS in Practice
AWS reinvent 2019 recap - Riyadh - Containers and Serverless - Paul Maddox
Velocity NYC 2016 - Containers @ Netflix
AWS ECS workshop
Ford's AWS Service Update - March 2020 (Richmond AWS User Group)
Deep Dive on Microservices and Docker
Docker on AWS - the Right Way
Netflix and Containers: Not Stranger Things
Netflix and Containers: Not A Stranger Thing
Scheduling a fuller house - Talk at QCon NY 2016
Netflix Container Scheduling and Execution - QCon New York 2016
AppRunner DeepDive
Google container engine (GKE)
Kubernetes & Google Container Engine @ mabl
Deliver Docker Containers Continuously On AWS - DevOpsCon Munich 2016
Ad

Recently uploaded (20)

PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administraation Chapter 3
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Nekopoi APK 2025 free lastest update
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Transform Your Business with a Software ERP System
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Softaken Excel to vCard Converter Software.pdf
L1 - Introduction to python Backend.pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
ai tools demonstartion for schools and inter college
System and Network Administraation Chapter 3
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms I-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Operating system designcfffgfgggggggvggggggggg
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Computer Software and OS of computer science of grade 11.pptx
Nekopoi APK 2025 free lastest update
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How to Migrate SBCGlobal Email to Yahoo Easily
Transform Your Business with a Software ERP System
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Designing Intelligence for the Shop Floor.pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru

From AWS to GCP, TABLEAPP Architecture Story

  • 1. Migrate From AWS to GCP TABLEAPP Architecture Story Yen-Wen Chen TABLEAPP Architect 29 May 2017
  • 2. TABLEAPP AWS Architecture TABLEAPP Cloudfront CDN Assets / Images S3 DNS Route53 Mail Server SES Notification SNS Load Balancer Application Clusters EC2 / AutoScale Database RDS / HA
  • 4. AWS Architecture Resource Problem Scaling!! ● Auto Scaling Benefit ○ Maintain availability ○ Maintain performance ○ Decrease capacity during lulls to reduce costs ● But ○ Other instance resource is waste ○ EC2 requiring is slow ■ about 1~2min to activate a ec2 ■ about 1~2min to update latest source code ■ about 30s to run health check
  • 5. Our solution is Container
  • 6. Virturalized Infrastructure Infrastructure Host OS Docker Engine BINS/LIBS APP Container BINS/LIBS APP Container BINS/LIBS APP Container We can ignore resource problem
  • 7. Container Auto Scaling Container A Container B Container C Container A Container B Container C Container A Container C Machine 1 Machine 2 Machine 3 If Container C causes CPU overload Then put a new C into Machine 3
  • 8. Service Auto Discovery Container A Container B Container C Container A Container B Container C Container A Container C Machine 1 Machine 2 Machine 3 Service A Service B Service C Service auto discovery / configuration / load balance
  • 9. Other Benefits of Docker Moby ● Version Control ○ push code and build ○ every commit has its own images ● Lightweight ○ fast activation (~ 10s) and rollback ○ small image ● Isolation ○ applications and resources are isolated and segregated ● Protable ○ Multi-cloud platform support ○ BOSS asked that
  • 10. We want to run moby on …?
  • 11. Kubernetes vs EC2 Container Service Kubernetes EC2 Container Service Open Source NO PaaS Google Compute Engine, Rackspace, Microsoft Azure, vSphere, ... AWS Community x Management Kubectl / API AWS CLI / API Protable Run anywhere AWS only Service / Discovery built-in Elastic Load Balance
  • 12. How about K8s on AWS?
  • 13. Deploy Kubernetes on EC2 ● Maintain Kubernetes yourself ○ Install ○ Testing ○ Update ○ and …. ● Handle auto-scale manually ○ remove pods before remove ec2 ● Using CI to deploy image ● Set up logging and monitoring policy ● Integrate AWS resource and Kubernetes manually ○ It must be scalable No, it sucks ...
  • 14. Kubernetes on Google Cloud is awesome
  • 15. Google Container Engine (GKE) ● Easy ● Full managed ○ even update kubernetes ● Logging and Monitoring support (stackdrive) ● Automatic and configurable cluster scaling ● Google Cloud Platform resource integration
  • 17. TABLEAPP GCP Architecture Cloud Load Balancing Database Cloud SQL EastAsia Cluster Container Engine TABLEAPP Cloud CDN TABLEAPP Cloudfront CDN Assets / Images S3 DNS Route53 Mail Server SES Notification SNS
  • 18. Architecture inside kubernetes TABLEAPP Kubernetes Cluster Front Service API Service Manage Service Front Front Manage Manage API CloudSQL Proxy API CloudSQL Proxy API Cloud Load Balancing Manage Cloud Load Balancing WWW Cloud Load Balancing Database Cloud SQL Logger Service Logger Logging
  • 19. Deployment EastAsia Cluster Container Engine BitBucket Build Trigger Container Registry Build Images Container Registry Base Images Code Repository ImageUpdate Pub/Sub Pods Update Cloud Functions Config Files Cloud Storage 2 1 Base Images Dockerfile Updated 2 Web Source Code Updated 3 Build Images Process 4 Pull Latest Config File 5 Trigger Image Update 6 Notified Image Update 7 Pull Latest Docker Image 8 Pull Latest Config File From Pods startup script 9 Migrate Database From Pods startup script Database Cloud SQL 1 3 4 7 8 5 6 9
  • 20. Log Collection EastAsia Cluster Container Engine BitBucket Build Trigger Container Registry Build Images Container Registry Code Repository Base Images ImageUpdate Pub/Sub Pods Update Cloud Functions Config Files Cloud Storage Database Cloud SQL Cloud Load Balancing Tableapp Cloud CDN Logging Build Log Log Files Cloud StorageBackup
  • 22. Request History Requests has grown 5 times in past year5x
  • 23. Payment History ● cost increased almost 2 times in six month ● We start optimize AWS architecture at 2016-11 Start Optimize 2x
  • 24. Payment History ● After reduce cost ● We start maintain architecture in Google at 2017-02 Start Test Google
  • 25. Payment History Now We redece cost successful We can afford more request
  • 26. Conclusion ● We still remain some service in AWS ○ SES ○ SNS ○ S3 ○ Read replica Database ● CloudCDN is really fast ○ very low latency ○ optimize network ○ POP is stable ● Lower price ○ based on new arch, we save 40% cost