T-Mobile hệ thống 27 tháng không một giây phút down time.

Làm thế nào để hệ thống chịu tải 200 triệu requests mỗi ngày và không có down time trong suốt 2 năm? T-Mobile đã và đang điều khiển một khối lượng workloads cho các internal applications, xử lý hơn 4000 yêu cầu mỗi giây với hàng triệu số liệu thông tin trên 6 cụm servers. Hệ thống mã nguồn mở này được xây dựng trên 3AZs ở các khu vực (Phía tây US, phía đông US và liên kết nhiều cụm khác) cho phép hệ thống phân tán và mở rộng không giới hạn.

Chúng ta cùng ngó xem quá trình họ xây dựng để monitor infrastructure gồm: servers, VM, containers và applications giúp việc tích hợp một số cảnh báo và phản hồi trong thời gian thực (real-time) như thế nào nhé!

Thông tin về T-Mobile

Một trong 3 công ty lớn nhất tại Mỹ trong lĩnh vực cung cấp Telecom wireless (Deutsche Telekom của Đức hiện là cổ đông chính) doanh thu hàng năm đạt ~50 tỷ USD.

T-Mobile có 77 triệu khách hàng được vận hành bởi hai nhánh là T-Mobile & Metro với hơn 50,000+ employees, 5000 trong số đó là các software developers

Để có trải nghiệm người dùng tốt nhất họ đã cung cấp tới 10,000 APIs từ hơn 100 applications

Họ áp dụng hoàn toàn các công nghệ của native cloud cho các data center trong 3 năm trở lại đây

Public Cloud:
họ phải mất 6 năm để phát triển hơn 70+ apps trên AWS, Azure và tích hợp được các cụm data center thành một network integration.

Multi-tenancy architecture

Nôm na thì bạn có thể hiểu như sau về multitenancy architecture giống như việc triển khai hạ tầng cho một khu đô thị, tất cả các căn hộ có chung nhau một cổng chính, nguồn cấp điện/nước/internet… tuy nhiên có một số thứ thuộc sở hữu riêng của mỗi căn hộ và nó có thể chia sẻ cho căn hộ khác nếu muốn.

T-Mobile đã triển khai hơn 40 container-based applications làm những thứ tương tự như NetFlix đó là integration và coverage maps cho mục đích chia sẻ của các “multi-tenant”.

Họ đã hỗ trợ hơn 7,200 containers, 31 tỉ requests(trung bình khoảng 2k đến 4k request mỗi giây) và không một giây phút downtime trong hơn 2 năm (tính đến năm 2018 là 29+)

Họ đã làm những việc gì để giữ được hệ thống ổn định như vậy?

Họ xây dựng văn hóa vận hành một cách thông minh, tất cả các công đoạn đều tuân thủ nghiêm ngặt quy trình và luôn thực hiện từ bước đầu tới bước cuối không bỏ qua bước nào (don’t skip steps).

Bên cạnh đó họ vẫn thực hiện:

Data Collection Information Proactive Culture Analytics and Intelligent Ops
Logging Telemetry Default path Trend Analysis
Metrics Dashboards Chat Ops / Slack Optimization (performance and cost)
Request tracing Reports Integration into tools Machine Learning
Cost Service Health Integration into tools Embedded Analytics / decisions

Công cụ họ dùng (Toolbox)

  • Prometheus để hỗ trợ monitoring system nơi mà có tới 28 clusters, 1.5 triệu metrics, 4K request per second.
  • Storage họ sử dụng Thanos và Amazon S3
  • Họ sử dụng Grafana giúp giám sát và phân tích các số liệu của hơn 1000+ dashboards, đưa ra 820 loại cảnh báo một cách chính xác
  • High availability, multi-region, isolated failure domain
  • Data Lake

Họ sử dụng Prometheus để phân tích và kiểm soát cost của data, họ cũng khai khác Spark một cách triệt để để giup Data Lake phát huy tác dụng

Sau đây chúng ta cùng nhau xem một số hình ảnh trong quá trình observability & monitoring của T-Mobile nhé, chắc chắn là rất nhiều điều để học từ họ. Riêng 2 chủ đề này thôi đã phải rất tốn giấy mực rồi, tuy nhiên chúng ta cũng nhận ra một điều là để vận hành một hệ thống lớn một cách trơn chu trong một thời gian dài như vậy thì việc tuân thủ quy trình, nền tảng software và các ứng dụng hỗ trợ monitoring là rất quan trọng.

Cảm ơn các bạn đã dành thời gian đọc bài, hãy tiếp tục follow @Gravity Model page/website để đón đọc nhiều bài viết khác nhé!

By: Y Hoang

#T-Mobile

#multi-tenancy architecture

#monitoring, observability

#cost optimization

Please follow and like us:

Leave a Reply

Your email address will not be published. Required fields are marked *