Slide thumbnail

Cập nhật kiến thức Google Cloud

Kiến thức

DevOps trên Google Cloud: công cụ để tăng tốc độ phát triển phần mềm

11/06/2021

Tại ForgeRock, họ đã sớm sử dụng và tiếp cận Kubernetes, xem nó như một nền tảng chiến lược. Chạy trên Kubernetes cho phép ForgeRock thúc đẩy hỗ trợ multicloud trên Google Kubernetes Engine (GKE), Amazon (EKS) và Azure (AKS). Vì vậy, bất kể khách hàng của họ đang chạy trên đám mây nào, ForgeRock đều có thể tích hợp liền mạch các sản phẩm của mình vào môi trường của khách hàng. 

 

 

Việc giúp các nhà phát triển và nhà điều hành của ForgeRock dễ dàng hơn trong việc xây dựng, triển khai và quản lý các ứng dụng có vai trò quan trọng trong khả năng liên tục cung cấp các giải pháp chất lượng cao cho khách hàng. ForgeRock luôn tìm kiếm các công cụ để cải thiện năng suất và giữ cho các nhà phát triển tập trung vào viết code thay vì cấu hình. Bộ công cụ DevOps của Google Cloud đã sắp xếp hợp lý ba phương pháp cụ thể để giúp các nhà phát triển của họ làm việc hiệu quả: 

 

1. Giúp nhà phát triển làm việc hiệu quả trong IDEs

Năng suất của nhà phát triển là cốt lõi cho sự thành công của bất kỳ tổ chức nào, bao gồm cả ForgeRock. Vì các nhà phát triển dành phần lớn thời gian trong IDE mà họ lựa chọn, mục tiêu của ForgeRock là giúp các nhà phát triển viết các ứng dụng Kubernetes trong IDE mà họ biết và yêu thích dễ dàng hơn. Cloud Code giúp họ một cách chính xác về điều đó: nó làm cho quá trình xây dựng, triển khai, mở rộng quy mô và quản lý cơ sở hạ tầng và ứng dụng Kubernetes trở nên dễ dàng. 

 

Đặc biệt, làm việc với cú pháp và lược đồ Kubernetes YAML cần có thời gian và rất nhiều lần thử và sai để thành thạo. Nhờ hỗ trợ tạo YAML trong Cloud Code, đội Developer có thể dễ dàng tránh được công việc phức tạp và tốn thời gian khi viết các tệp YAML tại ForgeRock. Với sự hỗ trợ của tác giả YAML, các nhà phát triển tiết kiệm thời gian đối với mọi lỗi. Các đoạn mã nội tuyến, phần hoàn thành và xác thực giản đồ của Cloud Code, hay còn gọi là “linting”, hợp lý hóa hơn nữa hoạt động với các tệp YAML. 

 

Các lợi ích của CloudCode cũng mở rộng đến phát triển nội bộ. Lặp lại cục bộ trên các ứng dụng Kubernetes thường yêu cầu nhiều bước thủ công, bao gồm xây dựng container images, cập nhật tệp kê khai Kubernetes và triển khai lại các ứng dụng. Làm đi làm lại các bước này có thể là một việc vặt. Cloud Code supports Skaffold under the hood, theo dõi các thay đổi khi chúng đến và tự động xây dựng lại và đăng ký lại — giảm các nhiệm vụ phát triển lặp đi lặp lại. 

 

Cuối cùng, việc phát triển cho Kubernetes thường liên quan đến việc chuyển đổi giữa IDE, tài liệu, mẫu, v.v. Cloud Code giảm thiểu việc chuyển đổi ngữ cảnh này với Kubernetes code sample. Với các mẫu, Google Cloud có thể giúp các nhà phát triển mới thiết lập và chạy nhanh chóng. Họ dành ít thời gian hơn để tìm hiểu về cấu hình và quản lý ứng dụng — và dành nhiều thời gian hơn cho việc viết và phát triển mã.

 

2. Thúc đẩy tự động hóa end-to-end

Để cải thiện hơn nữa năng suất của nhà phát triển, Google đã tập trung vào tự động hóa end-to-end: từ viết mã trong IDE đến tự động kích hoạt các đường ống CI / CD và chạy mã trong quá trình sản xuất. Đặc biệt, Tekton, Cloud Build, Container Registry và GKE đóng vai trò quan trọng đối với Forgerock khi Google Cloud hợp lý hóa luồng mã, phản hồi và khắc phục thông qua các quy trình xây dựng và triển khai. Quá trình trông giống như sau:

 

 

DevOps trên Google Cloud: công cụ để tăng tốc độ phát triển phần mềm

 

 

ForgeRock bắt đầu bằng cách phát triển tệp kê khai Kubernetes và tệp dockerfiles bằng cách sử dụng CloudCode. Sau đó, họ sử dụng Skaffold để xây dựng  containers cục bộ, trong khi CloudBuild giúp tích hợp liên tục (CI). CloudBuild GitHub app cho phép chúng ta tự động hóa xây dựng và kiểm tra như một phần của công việc GitHub. Cloud Build khác biệt với các công cụ tích hợp liên tục khác vì nó hoàn toàn không có máy chủ. Nó tăng và giảm quy mô để đáp ứng với tải, không cần Google Cloud cung cấp trước máy chủ hoặc trả trước để có thêm dung lượng. Họ trả tiền cho các tài nguyên chính xác đã sử dụng. 

 

Sau khi image được tạo bởi Cloud Build, nó sẽ được lưu trữ, quản lý và bảo mật trong của Google Container Registry. Cũng giống như Cloud Build, Container Registry không có máy chủ, vì vậy ForgeRock chỉ trả tiền cho những gì họ sử dụng. Ngoài ra, vì Container Registry đi kèm với tính năng tự động quét lỗ hổng bảo mật, nên mỗi khi họ tải một image mới lên Container Registry, cũng có thể quét nó để tìm các lỗ hổng. 

 

Tiếp theo, một đường ống Tekton được kích hoạt, triển khai các docker images được lưu trữ trong Container Registry và Kubernetes biểu hiện cho một cụm GKE đang chạy. Cùng với Cloud Build, Tekton là một phần quan trọng trong quy trình CI / CD tại ForgeRock. Quan trọng nhất, vì Tekton đi kèm với các nguyên mẫu gốc Kubernetes được chuẩn hóa, họ có thể tạo các quy trình phân phối liên tục rất nhanh chóng.

 

Sau khi triển khai, Tekton kích hoạt một bộ thử nghiệm chức năng để đảm bảo rằng các ứng dụng ForgeRock triển khai hoạt động như mong đợi. Kết quả kiểm tra được đăng lên kênh Slack của nhóm để tất cả các nhà phát triển có quyền truy cập tức thì và hiểu rõ hơn về từng cụm. Từ đó, ForgeRock có thể cung cấp cho khách hàng yêu cầu thành phẩm của họ.

 

DevOps trên Google Cloud: công cụ để tăng tốc độ phát triển phần mềm

 

 

3. Thúc đẩy mô hình và thực hành multicloud

Ngành công nghiệp đã chứng kiến một sự thay đổi đối với multicloud.Các tổ chức đã áp dụng các chiến lược Multi Cloud để giảm thiểu sự khóa cửa của nhà cung cấp, tận dụng các giải pháp tốt nhất trong lớp, cải thiện hiệu quả chi phí và tăng tính linh hoạt thông qua sự lựa chọn. 

 

ForgeRock là những người ủng hộ lớn cho tính năng Multi Cloud. Một phần của điều đó đến từ thực tế là sản phẩm quản lý danh tính và quyền truy cập của họ hoạt động trên Google Cloud, AWS và Azure. Việc phát triển các sản phẩm sử dụng công nghệ mã nguồn mở như Kubernetes đã đặc biệt hữu ích trong việc thúc đẩy khả năng tương tác này. 

 

Tekton là một dự án quan trọng khác đã cho phép ForgeRock ngăn chặn việc khóa nhà cung cấp. Nhờ Tekton, các đường ống phân phối liên tục của họ có thể triển khai trên bất kỳ cụm Kubernetes nào. Quan trọng nhất, vì các đường ống Tekton chạy trên Kubernetes, các đường ống này có thể được tách ra khỏi thời gian chạy. Giống như Tekton và Kubernetes, cả Cloud Build và Container Registry đều dựa trên công nghệ mở.  Community-contributed builders  official builder images cho phép họ kết nối với nhiều công cụ khác nhau như một phần của quá trình xây dựng. Và cuối cùng, với sự hỗ trợ cho các công nghệ mở như Google Cloud buildpacks trong Cloud Build, họ có thể  build containers mà không cần đến Docker. 

 

Giúp các nhà phát triển và nhà điều hành xây dựng, triển khai và quản lý các ứng dụng dễ dàng hơn là rất quan trọng cho sự thành công của bất kỳ tổ chức nào. Thúc đẩy năng suất của nhà phát triển trong IDE, tận dụng tự động hóa end-to-end và hỗ trợ các mẫu và thực tiễn đa đám mây chỉ là một số cách mà ForgeRock đang cố gắng đạt được. Để tìm hiểu thêm về ForgeRock và triển khai Nền tảng nhận dạng ForgeRock vào cụm Kubernetes của bạn, hãy xem mã nguồn mở của ForgeRock – ForgeOps kho lưu trữ trên GitHub.

 

 

 

Nguồn: Gimasys

Kiến thức

Trung tâm cập nhật và hỗ trợ dành cho quản trị viên và người dùng