Tổng quan
Go giúp doanh nghiệp tự động hóa và mở rộng quy mô
Các nhóm Development Operations (DevOps) giúp tổ chức kỹ thuật tự động hóa tác vụ và cải thiện quy trình tích hợp liên tục, phân phối và triển khai liên tục (CI/CD). DevOps có thể phá vỡ các rào cản phát triển và triển khai công cụ cùng tự động hóa để nâng cao phát triển, triển khai và hỗ trợ phần mềm.
Site Reliability Engineering (SRE) ra đời tại Google để làm cho “các site quy mô lớn của công ty trở nên đáng tin cậy, hiệu quả và có khả năng mở rộng hơn,” Silvia Fressard viết, một chuyên gia tư vấn DevOps độc lập. “Và các phương pháp họ phát triển đáp ứng tốt nhu cầu của Google đến mức các công ty công nghệ lớn khác như Amazon và Netflix cũng áp dụng.” SRE đòi hỏi sự kết hợp giữa kỹ năng phát triển và vận hành, và “trao quyền cho lập trình viên phần mềm quản lý hoạt động hàng ngày của ứng dụng trong môi trường production.”
Go phục vụ cả hai vai trò DevOps và SRE, từ thời gian build nhanh và cú pháp gọn gàng đến hỗ trợ bảo mật và độ tin cậy. Các tính năng đồng thời và mạng của Go cũng làm cho nó lý tưởng cho các công cụ quản lý triển khai đám mây, dễ dàng hỗ trợ tự động hóa trong khi mở rộng về tốc độ và khả năng bảo trì code khi cơ sở hạ tầng phát triển.
Các nhóm DevOps/SRE viết phần mềm từ script nhỏ, đến giao diện dòng lệnh (CLI), đến tự động hóa và dịch vụ phức tạp, và bộ tính năng của Go mang lại lợi ích cho mọi tình huống.
Lợi ích chính
Dễ dàng xây dựng script nhỏ với thư viện chuẩn mạnh mẽ và kiểu tĩnh của Go
Thời gian build và khởi động nhanh của Go. Thư viện chuẩn phong phú của Go, bao gồm các package cho nhu cầu phổ biến như HTTP, I/O file, thời gian, biểu thức chính quy, exec và định dạng JSON/CSV, giúp nhóm DevOps/SRE tập trung thẳng vào logic nghiệp vụ. Thêm vào đó, hệ thống kiểu tĩnh và xử lý lỗi rõ ràng của Go làm cho ngay cả script nhỏ cũng trở nên mạnh mẽ hơn.
Triển khai CLI nhanh chóng với thời gian build nhanh của Go
Mọi site reliability engineer đều đã viết script “dùng một lần” rồi trở thành CLI được hàng chục kỹ sư khác sử dụng mỗi ngày. Và các script tự động hóa triển khai nhỏ trở thành dịch vụ quản lý triển khai. Với Go, DevOps/SRE ở vị trí tốt để thành công khi phạm vi phần mềm chắc chắn mở rộng. Bắt đầu với Go đặt bạn vào vị trí tốt để thành công khi điều đó xảy ra.
Mở rộng và duy trì ứng dụng lớn hơn với bộ nhớ thấp và sinh tài liệu của Go
Bộ gom rác của Go có nghĩa là nhóm DevOps/SRE không phải lo lắng về quản lý bộ nhớ. Và bộ sinh tài liệu tự động của Go (godoc) làm cho code tự tài liệu hóa, giảm chi phí bảo trì và thiết lập các phương pháp tốt nhất ngay từ đầu.
Người dùng nổi bật
| Khách hàng | Giới thiệu ngắn | Dự án sử dụng Go |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bắt đầu
Sách Go về DevOps & SRE
-
Go Programming for Network Operations
-
Go Programming Blueprints
-
Go in Action
-
The Go Programming Language
Giám sát và tracing
-
open-telemetry/opentelemetry-go
API và công cụ đo lường trung lập với nhà cung cấp để giám sát và distributed tracing
-
jaegertracing/jaeger-client-go
Hệ thống distributed tracing mã nguồn mở được phát triển bởi Uber
-
grafana/grafana
Nền tảng mã nguồn mở để giám sát và quan sát
-
istio/istio
Service mesh mã nguồn mở và nền tảng có thể tích hợp
Thư viện CLI
-
spf13/cobra
Thư viện tạo ứng dụng CLI hiện đại mạnh mẽ và chương trình sinh ứng dụng CLI trong Go
-
spf13/viper
Giải pháp cấu hình toàn diện cho ứng dụng Go, xử lý nhu cầu và định dạng cấu hình ngay trong ứng dụng
-
urfave/cli
Framework tối giản để tạo và tổ chức ứng dụng dòng lệnh Go