Giaosucan's blog - Chia sẻ kiến thức theo cách bá đạo

Ticker

20/recent/ticker-posts

Project Zeus - GCP migration - part 1

 GCP Cloud Migration Consulting - Process, Strategy and Benefits


ABC là một tập đoàn tài chính hàng đầu tại US, sản phẩm của ABC được nhiều ngân hàng lớn của thế giới ưa chuộng vì độ bảo mật cao. 

Được phát triển từ năm 2014, product của ABC được xây dựng trên nền tảng AWS cloud computing, với khoảng vài nghìn server trên 4 môi trường, theo kiến trúc single tenant


Beyond PLM (Product Lifecycle Management) Blog Multi-tenant architecture  and next PLM backbone - Beyond PLM (Product Lifecycle … | Architecture,  Tenants, Management

Theo mô hình này, mỗi khi công ty có khách hàng, SRE team sẽ provision một infrastructure mới trên AWS bao gồm EC2, VPC, EBS volume cho riêng khách hàng đó … Việc provisioning này được execute tự động theo mô hình dưới

Amin create Jira ticket, sau khi approved Jenkins pipeline trigger execute terraform code để provision infrastructure rồi trả về kết quả cho Admin


Mô hình single tenant work khá hiệu quả trong những năm đầu, tuy nhiên khi số lượng khách hàng ngày một tăng, công ty đã đối mặt với vấn đề là chi phí hạ tầng. Mỗi khách hàng đều phải tạo 1 infrastructure riêng, tuy có thể chọn instance type khác nhau tùy vào khách hàng lớn nhỏ nhưng cost ko tiết kiệm dc nhiều, mỗi năm báo cáo tài chính estimate khoảng hơn 3M $ chi phí hạ tầng

CEO của ABC đã có chuyến công du đến Google, AWS, và Azure để đàm phán về giá cả. Sau nhiều tháng đàm phán, ABC đã có một mức deal khá tốt với Google. Google offer mức giá infra giảm hơn 30% so với AWS, với cam kết sử dụng trong dịch vụ GCP trong vòng 5 năm. 

Ngoài ra, Google cũng cử 1 team là các kỹ sư infrastructure sang ABC tư vấn và support ABC trong quá trình build up GCP infra.

Tuy nhiên, hệ thống hiện tại của ABC lại chạy trên nền tảng AWS, điều này yêu cầu ABC phải migrate toàn bộ infra từ AWS sang GCP.

CEO ABC quyết định kick of project Zeus, thành lập 1 team gồm hơn 50 người ở US, Châu Âu và Việt Nam, với team consultant 10 Infrastructure engineer đến từ Google để thực hiện việc migrate này

Migration từ AWS 🡪 GCP trong trường hợp này ko đơn giản là kiểu lift and shift như thông thường vì team phải đối mặt với nhiều vấn đề

  • Service depedencies, infra của ABC sử dụng nhiều service của AWS bao gồm CICD tooling, ECR, ECS, EC2, Lambda, Transist Gateway, VPC… gần như toàn bộ service hiện có của AWS đều được sử dụng bởi nhiều team
  • Có khoảng 4K server EC2, 10 K8S cluster và 40 ECS cluster đang được sử dụng, và hàng nghìn microservice instances đã được deploy, số lượng resource vẫn tăng lên hàng tháng
  • Lượng data (Log, file, hbase big data) trên AWS khá lớn và vẫn đang update hàng ngày, cần phải move sang GCP
  • Hệ thống hiện tại đang chạy song song giữa monolithic (FrontEnd, Backend, DB) và microservice, quá trình migrate từ mono sang microservice đang tiếp diễn. Cần có giải pháp move chúng sang GCP màn không làm gián đoạn hoạt động của hệ thống
  • Quá trình Migration sẽ kéo dài nhiều năm, phải đảm bảo hai infra chạy song song, application và data sẽ được move dần dần mà không ảnh hưởng gì đến hoạt động của hệ thống hiện tại
  • Migration không đơn thuần là lift & shift phải thực hiện optimize và re-design lại architect để save cost

Sau nhiều tuần họp bàn, team đã đưa ra bộ work package – architecture overview như sau

Design và implement architecture cho những phần sau

  1. Network and connectivity

  2. Phân quyền, identity access management (IAM)

  3. High Avaibility and Fault Tolerance 

  4. Architecture cho Monitoring và Alerting, Logging

  5. CI/CD infrastructure and workflow

  6. Cost billing

  7. API Management

  8. Certificate management, Security

  9. Giải pháp migrate infra, persistent layer, application migrations, data migration

Bài này giới thiệu overview về giải pháp đầu tiên

Networking and connectivity

Network của ABC bao gồm nhiều VPC allocate trên các region khác nhau, và connect thông qua AWS Transit Gateway. Infra của từng clients được allocate trên mỗi VPC khác nhau. 

Trước đây các VPC connect bằng VPC peering tuy nhiên khi số lượng VPC quá nhiều peering được đổi bằng Transit Gateway


Việc mapping giữa Network infra của AWS và GCP được thực hiện để đánh giá xem GCP có service gì tương ứng với service đã có của AWS

https://cloud.google.com/free/docs/aws-azure-gcp-service-comparison

Về cơ bản thì AWS có gì thì GCP cũng có cái đó như VPC peering, Transit GW, Shared VPC, VPC, Direct Connect, CloudFront, Route53 …

Như đã trình bày ở trên lượng data traffict của ABC khá lớn vào khoảng 2GB/s và collateral traffic phải bé hơn 5%, migrate data từ AWS sang GCP đồng nghĩa với việc phải thiết kế giải pháp interconnection giữa AWS và GCP

Giải pháp phải thỏa mãn những yêu cầu sau

  • Cần một private, stable connection trong quá trình migration SLA 99.99%
  • Hight Bandwidth và low latency 
  • Cần monitor status của việc transfer data giữa GCP và AWS
  • Trong trường hợp failure, phải tự đông re-route traffic sang đường truyền khác (đề phòng cá mập cắn cáp)
  • Optimize cost vì AWS và GCP đều charge cost data transfer

Muốn biết giải pháp của team thế nào, đọc tiếp phần sau


Đăng nhận xét

0 Nhận xét