Các thành phần gốc đám mây
Bằng cách tiếp cận gốc đám mây, các nhà phát triển ứng dụng có thể vượt qua những thách thức mà họ phải đối mặt hàng ngày về tính nhanh nhẹn, độ tin cậy và bảo mật. Không phải tất cả các ứng dụng đều giống nhau và trong một số trường hợp, điều quan trọng là phải ưu tiên các đặc điểm nhất định hơn các đặc điểm khác. Tuy nhiên, bất kể nhu cầu là gì, có một số khối xây dựng cơ bản cho các ứng dụng gốc đám mây, bao gồm:
- Microservices
- Containers
- Functions
- APIs
- DevOps
Khi nói đến kiến trúc gốc đám mây, nó có thể được triển khai theo hai cách khác nhau — tối ưu hóa để kiểm soát cơ sở hạ tầng hoặc tối ưu hóa cho năng suất của nhà phát triển.
Kiểm soát cơ sở hạ tầng cung cấp quyền kiểm soát những gì bạn đang chạy, bạn đang chạy nó ở đâu và nó hoạt động như thế nào. Khi bạn có các yêu cầu như cần sử dụng cơ sở mã kế thừa hoặc các thư viện tùy chỉnh yêu cầu quyền truy cập thời gian chạy, bạn muốn tối ưu hóa cho việc kiểm soát cơ sở hạ tầng và sử dụng các vùng chứa với Kubernetes để sắp xếp chúng.
Nếu bạn không có những ràng buộc như vậy, bạn có thể tối ưu hóa cho kiến trúc năng suất của nhà phát triển. Sau đó, bạn có thể xây dựng các dịch vụ vi mô bằng cách sử dụng các chức năng hướng sự kiện (event-driven functions) mà không phải lo lắng về máy chủ, cho phép bạn tập trung vào mã, thay vì cơ sở hạ tầng.
Khi các ứng dụng được xây dựng dưới dạng microservices, tốc độ phát hành có thể tăng lên vì các thay đổi đối với bất kỳ thành phần nào dễ thực hiện hơn. Microservices giúp các ứng dụng mở rộng quy mô và phát triển nhanh hơn, cho phép đổi mới và đẩy nhanh thời gian đưa ra thị trường. Các dịch vụ vi mô này có thể được phân phối dưới dạng containers, gói mã ứng dụng và các phần phụ thuộc lại với nhau để tăng tính di động hoặc dưới dạng các chức năng (functions), cung cấp trải nghiệm máy tính theo yêu cầu hướng sự kiện mở rộng với khả năng triển khai mã do sự kiện kích hoạt. Thông thường, các dịch vụ nhỏ này được hiển thị dưới dạng các API nhẹ và được vận chuyển bằng cách sử dụng các quy trình và công cụ DevOps để tự động hóa việc xây dựng, kiểm tra và phân phối (xem Chương 1, Bắt đầu với Nền tảng ứng dụng Azure và Chương 2, Công cụ dành cho nhà phát triển và đám mây dành cho nhà phát triển).