Bản dịch tóm tắt từ: https://www.cnpatterns.org/infrastructure-cloud
Phương pháp giúp khám phá và lựa chọn cơ sở hạ tầng phù hợp, đồng thời tránh những cạm bẫy phổ biến như vendor lock-in và xây dựng các giải pháp tùy chỉnh không cần thiết.
Automated Infrastructure
Một công ty đang chuyển sang cloud native và áp dụng các phương pháp như Microservices, Phân phối liên tục và các phương pháp khác. Các nhóm độc lập và yêu cầu dịch vụ hỗ trợ nhanh chóng từ Platform Team. Hầu hết các tác vụ hoạt động được thực hiện theo yêu cầu bởi Ops team.
Phần lớn các tác vụ vận hành cần được tự động hóa. Tự động hóa làm giảm sự phụ thuộc giữa các nhóm, cho phép thử nghiệm nhanh hơn và dẫn đến phát triển nhanh hơn
Containerized Apps
Nhóm đang xây dựng một ứng dụng phân phối có thể tăng và giảm quy mô. Trong khi đó, các nhóm riêng biệt đang xây dựng các microservices và họ cần nhanh chóng đưa chúng qua nhiều môi trường thử nghiệm và phát triển khác nhau trong suốt quá trình sản xuất. Có nhiều runtime environments khác nhau, chẳng hạn như personal laptops, trong quá trình phát triển và private hay public clouds khác nhau cho thử nghiệm, tích hợp và production.
Khi một ứng dụng được đóng gói trong container với tất cả các phụ thuộc cần thiết, nó không dựa vào runtime environment cơ bản và do đó có thể chạy một cách linh hoạt trên bất kỳ nền tảng nào
Continuous Delivery
Các team đang thực hiện Tích hợp liên tục, vì vậy mỗi thay đổi được tự động xây dựng và thử nghiệm riêng biệt trong thời gian rất ngắn. Các developer commit những thay đổi ít nhất một lần mỗi ngày.
Giữ chu kỳ phát triển / thử nghiệm / phân phối ngắn có nghĩa là mã nguồn luôn sẵn sàng cho production và các tính năng có thể được phát hành ngay lập tức cho khách hàng — và phản hồi của họ nhanh chóng được gửi lại cho đội ngũ phát triển
Continuous Deployment
Nhóm đang sử dụng Phân phối liên tục và xây dựng một hệ thống phân tán bằng cách sử dụng microservices. Không có quy định cũng như bất kỳ hạn chế nào khác đối với việc triển khai hoàn toàn tự động.
Triển khai liên tục tự động và liền mạch đẩy mã nguồn đã được chấp nhận trong chu kỳ Tích hợp liên tục / Phân phối liên tục vào môi trường production
Dynamic Scheduling
Một ứng dụng có hàng tá microservices độc lập và các nhóm phát triển muốn triển khai từng service nhiều lần trong ngày trên nhiều nền tảng private và public cloud.
Một chương trình điều phối (thường là Kubernetes) là cần thiết để tổ chức việc triển khai và quản lý các microservices trong một ứng dụng phân tán để triển chúng trên các máy tính ngẫu nhiên tại thời điểm thực thi.
Full Production Readiness
Core Team đang đẩy mạnh nền tảng cloud native. Nền tảng mới và một số ứng dụng đầu tiên được chuyển sang được lên kế hoạch cho việc phân phối lên production một cách đầy đủ trong thời gian sớm nhất.
Đảm bảo nền tảng của bạn được cung cấp đầy đủ CI / CD, bảo mật, giám sát, khả năng quan sát và các tính năng khác cần thiết cho production-ready trước khi cố gắng đưa nó vào hoạt động
Lift and Shift at the End
Hầu hết các ứng dụng hiện có đã được tái cấu trúc và chuyển sang nền tảng mới. Một số hệ thống cũ vẫn chưa nhưng nó ổn định và không thay đổi quá thường xuyên.
Điều quan trọng là không tiếp cận chuyển đổi cloud native bằng cách đơn giản như cố gắng “Lift and Shift” toàn bộ hệ thống hiện có lên đám mây. Thay vào đó hãy di chuyển các mảnh từng phần của hệ thống
Observability
Các nhóm đang chuyển sang microservices, và ngày càng có nhiều thành phần hơn — số lượng các thành phần đang tăng lên. Các phương pháp giám sát truyền thống không thể nhận ra các lỗi của toàn bộ hệ thống.
Hệ thống phân tán cloud native yêu cầu cái nhìn sâu sắc liên tục về hành vi của tất cả các service đang chạy để hiểu hành vi của hệ thống và dự đoán các sự cố hoặc sự cố tiềm ẩn
Private Cloud
Một công ty trong ngành được quản lý chặt chẽ mà theo luật, không được phép sử dụng public cloud hoặc công ty trong bất kỳ lĩnh vực nào gần đây đã đầu tư lớn vào cơ sở hạ tầng on-premises mới. Trong bối cảnh Private cloud, các dịch vụ được cung cấp qua cơ sở hạ tầng riêng tư — mặc dù không nhất thiết là on-premises — cho mục đích sử dụng riêng của một tổ chức và thường được quản lý thông qua tài nguyên nội bộ.
Phương pháp tiếp cận private cloud, được vận hành qua internet hoặc trên cơ sở hạ tầng cơ sở thuộc sở hữu của công ty, có thể mang lại lợi ích của các dịch vụ điện toán đám mây như AWS trong khi chỉ giới hạn quyền truy cập đối với một số người dùng được chọn
Public Cloud
Bạn đang chuyển sang microservices, liên tục phát triển cơ sở mã nguồn của mình và các nhóm hiện yêu cầu tự động hóa để Phân phối liên tục. Số lượng công việc thủ công sẽ giảm xuống, nhưng chi phí bảo trì phần cứng sẽ tăng lên.
Thay vì sử dụng phần cứng của riêng bạn, hãy dựa vào phần cứng được quản lý bởi các public cloud provider bất cứ khi nào có thể
Risk-Reducing Deployment Strategies
Bạn có một hệ thống cloud native với các yêu cầu về tính khả dụng cao. Các nhóm đang xây dựng các microservices và phát hành chúng một cách độc lập và thường xuyên.
Sử dụng các chiến thuật phát hành để giảm nguy cơ xảy ra sự cố khi các thay đổi được đưa vào hệ thống production
Self Service
Công ty đang chuyển từ Waterfall sang Agile và, trong một cấu trúc gồm các nhóm hoạt động và phát triển riêng biệt, đang hướng tới việc thiết lập microservices, CD và public(hoặc private) cloud. Các nhóm đang chạy nhiều thử nghiệm và PoC và nhằm mục đích giảm chi phí thử nghiệm.
Trong cloud native, mọi người đều có thể thực hiện việc cung cấp và triển khai của riêng họ mà không có sự phân chia giữa các nhóm
One thought on “CNPATTERNS – INFRASTRUCTURE & CLOUD PATTERNS”