Thành quả thực chiến ấn tượng trong thử nghiệm dịch vụ Atlas Performance Testing
Với hành trình 8 tháng phát triển đầy thăng trầm, mới đây, mặc dù chưa release chính thức nhưng Atlas Performance Testing đã để lại dấu ấn qua những thành tích thử nghiệm thực chiến tại nhiều dự án lớn, nhỏ của Sun*. Hãy cùng tìm hiểu về Atlas Performance Testing trong bài viết dưới đây nhé!
Đôi nét về Atlas Performance Testing
Atlas với tên gọi đầy đủ là Atlas Performance Testing là một dự án DevOps trọng điểm, được thai nghén và phát triển bởi đội ngũ kỹ sư lập trình đến từ R&D Unit. Ra đời trong bối cảnh các dự án tại Sun* có nhu cầu cao về kiểm thử hiệu năng, nhưng chưa được triển khai đúng mức do nhiều nguyên nhân khác nhau, Atlas ra đời trở thành một mảnh ghép tiếp theo để hoàn thiện Sun* DevOps Platform, đáp ứng nhu cầu cấp thiết của các dự án trong Sun*, giúp nâng cao chất lượng sản phẩm của Sun* cũng như tăng sự tín nhiệm từ phía đối tác.
Chia sẻ về nguồn gốc chiếc tên thú vị của dự án "Atlas", anh Xuân Hiến - PSM của dự án bật mí: "Vị thần Hy Lạp biểu tượng cho sự thử thách, sức chịu đựng là Atlas. Atlas là một vị thần Titan, được miêu tả là một người đàn ông khổng lồ có khả năng chịu đựng nặng nề và giữ trái đất trên vai của mình. Atlas thường được coi là biểu tượng cho sự mạnh mẽ khi đối mặt với những thử thách khó khăn. Do vậy, hình ảnh này rất hợp để nói đến khả năng chịu tải của một hệ thống nói chung. Và nhờ vào sản phẩm Atlas Performance Testing, các hệ thống sử dụng sản phẩm sẽ có thể cải thiện, tăng cường sức chịu đựng của mình và phục vụ tốt cho khách hàng."
Dự án "khó nhai" với nhiều công nghệ hay ho được áp dụng
Không chỉ ấn tượng từ chiếc tên mang nhiều hàm ý, Atlas Performance Testing cũng thử thách 7 thành viên trong dự án với nhiều công nghệ mới mẻ và hay ho, phải kể đến như:
- Laravel v9: Lựa chọn version mới nhất của Laravel tại thời điểm dựng base của dự án
- Nuxt v3 (Typescript): Lựa chọn version mới nhất của Nuxt tại thời điểm dựng base của dự án
- Golang v1.17: Được lựa chọn do đã được áp dụng rất hiệu quả ở các dự án trong DevOps Platform
Việc áp dụng công nghệ mới vào dự án không phải là chuyện lạ ở Sun*, nó mang đến cơ hội để các thành viên trong dự án thử nghiệm và áp dụng hiệu quả vào sản phẩm. Để áp dụng thuần thục và linh hoạt cả 3 công nghệ trên vào cùng một sản phẩm 'nặng đô', mới đầu, các thành viên trong dự án Atlas cũng gặp không ít rắc rối.
Điển hình như việc sử dụng Nuxt 3 thay vì Nuxt 2 đòi hỏi team phải đối mặt với nhiều thay đổi lớn, từ việc phải nghiên cứu sự thay đổi về cấu trúc tổ chức thư mục, module của framework, tìm hiểu tính tương thích của module và plugins, cũng như nâng cấp kiến thức và kỹ năng của nhóm. Bởi từ trước đó, cả team "chỉ quen dùng mỗi Nuxt 2".
Ngoài ra, Atlas cũng là dự án đầu tiên ở DevOps Platform áp dụng Typescript. Thời gian đầu, các thành viên vẫn cần thời gian làm quen nên gặp khá nhiều lỗi convention. Tuy nhiên, với sự kiên nhẫn và nỗ lực, 7 chàng trai của dự án Atlas đã chiến thắng những khó khăn này và tiếp tục phát triển thành công với Nuxt 3, đưa dự án bước đầu gặt hái được nhiều trái ngọt khi chạy thử nghiệm mặc dù chưa chính thức trình làng công chúng Sun*.
Thành tích thực chiến thử nghiệm của Atlas Performance Tesing tại nhiều dự án tại Sun*
Atlas được xây dựng trở thành một hệ thống giúp người Sun* có thể tiến hành kiểm thử về performance của hệ thống và dịch vụ với việc tạo các kịch bản kiểm thử linh hoạt bằng giao diện người dùng trực quan. Nhờ kết quả mà hệ thống Atlas cung cấp, các dự án có thể xác định cũng như đánh giá băng thông, khả năng xử lý, khả năng mở rộng hay nói chung là hiệu năng của hệ thống dưới khối lượng truy cập, khối lượng công việc xác định. Chính vì vậy, khi có cơ hội sử dụng sản phẩm Atlas Performance Testing, người dùng tại Sun* sẽ được trải nghiệm nhiều tiện ích hay ho, như việc có thể tiến hành kiểm thử performance bằng giao diện trực quan, kiểm thử performance cho các kịch bản phức tạp bằng script được viết bằng Javascript. Không chỉ vậy, nhờ các kết quả chạy mà Atlas cung cấp sau khi chạy test, người dùng có thể dựa vào đó và tiến hành cải thiện performance cho ứng dụng của họ, nhờ đó, tạo được số lượng người dùng lớn, phục vụ cho những test case có yêu cầu cao về lượng người dùng truy cập hệ thống.
Atlas được kickoff từ tháng 10/2022 và dự kiến release chính thức từ quý III/2023. Tuy rằng, trên lý thuyết, dự án chưa thực sự trình làng công chúng Sun*, nhưng trên thực tế, Atlas đã và đang "nằm vùng" tại một số dự án lớn nhỏ trong Công ty để thực hiện chạy thử nghiệm tính năng, bước đầu mang lại nhiều tín hiệu vô cùng tích cực.
- Tại dự án "ông lớn" đến từ Sun* Đà Nẵng: Đây là dự án đầu tiên chạy thử nghiệm sau khi Atlas được release ở nội bộ R&D Unit. Dự án có kịch bản test phức tạp, thời gian đầu chưa đáp ứng được nhưng Atlas đã ngay lập tức cho phát triển tính năng tạo test bằng script nên đã kịp thời đáp ứng các kịch bản đó. Cũng là tiền đề để support cho các kịch bản phức tạp hơn sau này.
- Tại dự án C****h***: Đây là dự án đặc thù có mục tiêu rất cao, khách hàng đặt ra target là 300000 requests/s với 1 số màn hình quan trọng. Tuy nhiên sau khi kết hợp với chạy test với Atlas và điều chỉnh target thì khả năng chịu tải của dự án vẫn rất ấn tượng với con số 50000 người dùng tạo ra 10000 requests/s
- Tại dự án E-Con****: Đây là dự án có các yêu cầu về performance test khá rõ ràng, giúp tiết kiệm được thời gian của cả 2 bên, Atlas team đã tiến hành chạy test và đưa ra được các đề xuất giúp phía dự án cải thiện được performance đáng kể.
Đặc biệt với dự án C****h*** có kết quả rất tốt, ban đầu khi chạy test lần 1, dịch vụ của dự án nói chung chỉ chịu tải được khoảng 2000 requests/s, sau quá trình làm việc của phía Atlas team phối hợp cùng với Infra và Dev đã nâng được khả năng chịu tải lên tới GẤP 5 LẦN (khoảng 10000 requests/s) mà với cùng chi phí Infra như ban đầu.
"Thực sự đây là một tín hiệu tốt, gây dựng sự tin tưởng của phía khách hàng về dịch vụ Performance Test. Đây cũng là một trong những đóng góp giúp dự án C****h*** đã release thành công vào 01/07 mà không có vấn đề gì lớn về performance" - bạn Minh Hoàng, đại diện Atlas chia sẻ thêm.
**** Tên các dự án được mã hóa nhằm đảm bảo yếu tố bảo mật
Mặc dù, thời gian đầu do chưa làm rõ về quy trình, cũng như kinh nghiệm thực chiến của anh em trong dự án còn hạn chế, nên khi việc hỗ trợ các dự án khác trong Công ty gặp nhiều khó khăn. Tuy nhiên, sau khi có cơ hội cọ xát với các dự án thực tế, team Atlas luôn lưu lại những vấn đề gặp phải và tiến hành retro, tìm ra giải pháp giúp cải thiện quy trình. Song song với quy trình, ở phía hệ thống Atlas vẫn luôn liên tục phát triển tính năng mới, cũng như cải thiện performance, UI/UX giúp cho trải nghiệm của người dùng tốt hơn nữa, đáp ứng được nhu cầu của khách hàng khi lựa chọn Atlas. Ngoài ra, việc phối hợp với đội ngũ Dev/QA/Infra của khách hàng cũng rất được mọi người chú trọng, giúp cho quá trình kiểm thử và cải thiện được rút ngắn hơn và đem lại hiệu quả tức thì.
Trong thời gian tới, ngoài việc chính thức trình làng Atlas Performance Testing rộng rãi toàn Sun*, anh em dự án Atlas sẽ tổ chức những buổi hướng dẫn sử dụng, chuyển giao kinh nghiệm kiểm thử hiệu năng cho các Developers, Testers tại CEV, hướng đến việc các dự án có thể tự triển khai việc kiểm thử một cách hiệu quả.