Kiwi.com đã chuyển đổi quy trình làm việc của mình như thế nào với GitLab và Docker
Vấn đề lớn đầu tiên mà GitLab giải quyết chính là sự dễ dàng tích hợp với Docker, cho phép các nhóm phát triển tận dụng vùng chứa như một phương tiện chính để đóng gói phần mềm. Trước đây, họ chưa từng làm việc trong các thùng chứa, nhưng với GitLab CI, các thùng chứa đã trở thành nền tảng phổ biến ở mọi nơi. Viscreanu chia sẻ: “Khi đã có sẵn nền tảng đó và một cách dễ dàng để kiểm tra mã cũng như tự động hóa quá trình triển khai, mọi thứ được tích hợp mượt mà đến mức chúng tôi có thể kích hoạt các hành động trực tiếp từ GitLab”. “Hiện tại, chúng tôi đã có tự động hoá triển khai, bảo trì phần phụ thuộc tự động, quét phần phụ thuộc, quét giấy phép phần phụ thuộc và gần như tự động hóa tất cả.”
Nhờ tính năng tự động hóa của GitLab, Kiwi.com hiện đạt trung bình:
- 4.000 cam kết mỗi ngày
- 1.500 lượt triển khai mỗi tháng
- 47.000 bài kiểm tra mỗi tháng
- 5.000 yêu cầu hợp nhất (MR) mỗi tháng
Khi vùng chứa đã được thiết lập vững chắc trong tổ chức, Kiwi.com đã trải nghiệm qua nhiều nền tảng vùng chứa khác nhau, nhưng hầu hết đều hạn chế khả năng mở rộng dịch vụ. Sau khi khắc phục các giới hạn và tạo ra giải pháp phù hợp với nhu cầu thực tế, họ không muốn đầu tư thêm vào những sản phẩm không còn phát triển hoặc không còn phù hợp. Các nhà phát triển tìm kiếm một hệ thống có thể quản lý tài nguyên một cách nhất quán và cho phép xây dựng công cụ dựa trên giải pháp đó. Viscreanu nhận định lý do chính là “Sự tỉnh táo. Không thể nào theo dõi tất cả các công cụ khi công ty lớn nếu không tự động hóa và đồng bộ hoá mọi thứ.”
Việc tích hợp GitLab với Kubernetes đã giúp công việc trở nên đơn giản hơn rất nhiều, đặc biệt là nhờ mức độ tích hợp mượt mà với phần còn lại của hệ thống. Viscreanu và nhóm của anh còn đẩy mạnh việc áp dụng cơ sở hạ tầng như mã, sử dụng Terraform trong GitLab CI. Điều này giúp họ triển khai, tạo mới, chỉnh sửa và quản lý các thành phần hạ tầng một cách tự động, giảm thiểu thao tác thủ công. Anh nhấn mạnh: “Nếu không có trong CI và GitLab, những thay đổi sẽ không được thực hiện.”
Duy trì mọi thứ trong CI tạo ra một bản ghi toàn diện về mọi thay đổi và cung cấp một nguồn thông tin duy nhất, minh bạch. “Lúc đầu, tôi cho rằng CI/CD là tính năng chính và cho đến nay, nó vẫn là tính năng được chúng tôi yêu thích nhất. Chúng tôi sử dụng Git như nguồn thông tin chính xác để ngăn chặn việc các thay đổi bị phân tán và bị lãng quên sau một thời gian,” Viscreanu chia sẻ.
Trước khi áp dụng GitLab, việc triển khai thường diễn ra chậm do không chắc chắn liệu mã được đẩy lên có hoạt động đúng hay không. Lúc đó, cách duy nhất để kiểm tra là triển khai rồi mới phát hiện ra lỗi. Giờ đây, dù số lượng dịch vụ, nhân viên, dự án và kiến trúc vi mô lớn mạnh, việc triển khai vẫn nhanh gọn nhờ CI. Viscreanu khẳng định: “Với CI, ngay cả khi không nắm bắt hết mọi thứ, chúng tôi vẫn tin tưởng vào nó, ít nhất với các quy trình quan trọng. Với CD và cách tiếp cận phát hành từng đợt, nếu bản phát hành có lỗi, chúng tôi có thể phản ứng nhanh để hạn chế ảnh hưởng tới khách hàng.”
Nếu bạn đang tìm kiếm giải pháp giúp tối ưu hóa tự động hóa quy trình phát triển phần mềm và quản lý hạ tầng hiệu quả như Kiwi.com, hãy liên hệ ngay với Softribution để được tư vấn và lựa chọn giải pháp phù hợp nhất cho doanh nghiệp của bạn.
