- vừa được xem lúc

Bài 1. Xác định chiến lược cho dự án

0 0 4

Người đăng: Nguyễn Trọng Quản

Theo Viblo Asia

Chào các bạn. Bài viết này sẽ là phát súng đầu tiên trong seri của mình. Chính xác là khâu chuẩn bị cho cả dự án migration này. Bạn không thể làm gì nếu như bạn không lên kế hoạch trước, vạch ra các đường đi nước bước cụ thể. Vì vậy với mình khi được giao nhiệm vụ, mình đã lên kế hoạch cụ thể cho dự án. và dứoi đây là những thứ mình đã chuẩn bị:

1. Nhân sự

Chắc chắn rồi. Để thực hiện được dự án này, bạn cần phải có con ngừoi với những vai trò khác nhau. Một mình bạn hay team devops sẽ là không đủ. Hãy thông báo trước với mọi ngừoi về công việc bạn sắp làm việc để họ có thể thu xếp thừoi gian hỗ trợ bạn. Tổi thiếu với mình thì sẽ là như sau:

Devops team: Sẽ là tốt hơn nếu như có nhiều hơn 2 thành viên. Nhưng nếu chỉ có 1 như mình, không lo vì còn có các team khác hỗ trợ.

Dev team: Cực kì quan trọng.

QC team: Cũng quan trọng không kém. Họ sẽ đảm bảo về ứng dụng của bạn hoạt động đúng khi được đưa lên môi trường mới.

Partner team ( Optional ) Nếu bạn dịch chuyển hệ thống của bạn lên đám mây nào, thì trước hết bạn hãy tìm cho mình một partner team đủ tin cậy để đồng hành cùng bạn trong dự án. Có thể kể đến các lợi ích sau:

  • Partner sẽ thay mặt cho nhà cung cấp dịch vụ cloud hỗ trợ bạn trong toàn bộ quá trình bạn sử dụng dịch vụ. Hãy tận dụng họ trong quá trình dịch chuyển lên cloud.
  • Credits: Khi làm việc với hãng và partner, công ty bạn sẽ nhận được khoản credits đáng kể để phục vụ quá trình dịch chuyển. Ví dụ như bạn cần khoảng 2 - 3 tháng để xây dựng hạ tầng mới trên cloud và đưa toàn bộ ứng dụng lên đó. Thì hãng sẽ cấp cho bạn một mức credits để cover cho khoảng thời gian dịch chuyển đó cho đến khi tất cả các ứng dụng của bạn chạy ổn định trên môi trường mới.
  • Discount: Khi thanh toán hoá đơn hàng tháng của dịch vụ cloud qua partner, bạn sẽ nhận được mức discount từ 5 - 15% hoá đơn thàng tháng. Sẽ giảm đáng kể chi phí đó.

2. Xác định các hệ thống và thứ tự được đưa lên

Không phải là một phát bạn đưa tất cà các hệ thống ứng dụng của bạn lên cloud. Hãy chia nhỏ ra từng cụm một, xác định độ ưu tiên ta sẽ đưa lần lượt từng cụm dịch vụ lên. Sẽ rất rủi ro và vất vả nếu như bạn đưa tất cả chúng lên cùng lúc. Như với công ty của mình có 3 cụm dịch vụ chính như sau: POS, PaygateEwallet, với mỗi một cụm sẽ có đội Dev và QC khác nhau. Vậy làm sao xác định được thứ tự đưa lên cloud. Mình đưa ra gợi ý như sau:

  • Dựa vào độ phức tạp: Mỗi một cụm dịch vụ sẽ có quy mô khác nhau. Dịch vụ nào có quy mô nhỏ mình sẽ đưa lên trước. Lấy kinh nghiệm cho các cụm dịch vụ sau. Bạn có thể dựa vào số lượng microservice, số lượng database của mỗi dịch vụ để phân chia quy mô.
  • Dựa vào active user: Nếu cụm nào có số lượng active user nhỏ hơn. Hãy đưa cụm đó lên trước.
  • Các tiêu chí khác: Tuỳ thuộc vào tính chất của mỗi dịch vụ để bạn cân nhắc xem: dịch vụ nào của công ty là quan trọng nhất, dịch vụ nào mang lại nhiều doanh thu nhất. Cái nào nhất, đưa lên sau cùng.

Vậy thì với các dịch vụ của công ty mình có một bảng so sánh như sau:

Dịch vụ Microservices Active User Doanh thu
POS < 10 Ít Nhỏ
Paygate < 30 Lớn Lớn
Ewallet < 100 Nhỏ Nhỏ

Dựa vào bảng so sánh này, mình quyết định phần chia thứ tự các dịch vụ được đưa lên cloud như sau: POS, Ewallet, Paygate

3. Hãy chuẩn bị thật kĩ càng sự hiểu biết về hệ thống của bạn

Hãy nắm các hệ thống của bạn trong lòng bàn tay . Nếu bạn không muốn phát sinh nhiều vấn đề trong toàn bộ quá trình dịch chuyển của bạn.

Tổng kết

Vậy đúc kết lại, chiến lược của mình sẽ như sau:

  • Chuẩn bị về mặt nhân lực đầy đủ cho dự án. Và tìm kiếm một partner phù hợp.
  • Chia nhỏ hệ thống thành từng cụm dịch và đưa lên lần lượt. Không vội vàng, chậm mà chắc.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đề thi interview DevOps ở Châu Âu

Well. Chào mọi người, mình là Rice - một DevOps Engineers ở đâu đó tại Châu Âu.

0 0 95

- vừa được xem lúc

In calculus, love also means zero.

Mình nhớ hồi năm 2 đại học, thầy giáo môn calculus, trong một giây phút ngẫu hứng, đã đưa ra cái definition này. Lúc đấy mình cũng không nghĩ gì nhiều.

0 0 67

- vừa được xem lúc

Chuyện thay đổi

Thay đổi là một thứ gì đó luôn luôn đáng sợ. Cách đây vài tháng mình có duyên đi làm cho một banking solution tên là X.

0 0 53

- vừa được xem lúc

Pet vs Cattle - Thú cưng và gia súc

Khái niệm. Pets vs Cattle là một khái niệm cơ bản của DevOps. Bài viết này sẽ nói về sự phát triển của các mô hình dịch vụ từ cốt lõi Pets and Cattle. 1.

0 0 37

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 92

- vừa được xem lúc

Kubernetes - Học cách sử dụng Kubernetes Namespace cơ bản

Namespace trong Kubernetes là gì. Tại sao nên sử dụng namespace.

0 0 117