Với những kinh nghiệm khi tiếp xúc với khách hàng trong ngành điện toán đám mây nhiều năm, tôi thường xuyên nghe được từ nhiều giám đốc CNTT đang phải vật lộn với quá trình chuyển đổi các ứng dụng doanh nghiệp quan trọng sang đám mây công cộng. Trong đa số các trường hợp, họ gặp rất nhiều khó khăn trong việc này và thường chỉ có thể có được một số thành công mang tính hạn chế trong việc chuyển đổi lên đám mây. Nhưng điều mấu chốt là trong một công việc vốn đầy thử thách này, những giám đốc công nghệ mà tôi có dịp gặp gỡ thường không bao giờ bỏ cuộc, thay vào đó, họ đều học được thêm nhiều bài học với mỗi khó khăn và thách thức mà họ gặp phải và sử dụng chúng để cải thiện kết quả cho những lần thử tiếp theo.
Nếu tổ chức của bạn đang tìm cách hiện đại hóa và cải thiện các công cụ làm việc và ứng dụng quan trọng từ hệ thống cũ của bạn, và dự định thực hiện một kế hoạch di chuyển lên đám mây như một phần của quy trình chuyển đổi số của bạn. Tôi tin rằng các bạn đều không muốn lặp lại những lỗi mà trước đây đã nhiều người mắc phải. Vì vậy, phần sau sẽ trình bày cho các bạn một số kiến thức dựa trên những sai sót trước đây mà nhiều doanh nghiệp đã gặp phải, được cô đọng lại để giúp bạn có thể xây dựng một danh sách kiểm tra gồm 10 bước về các lĩnh vực chính mà bạn cần phải xem xét và giải quyết, nhằm tối đa hóa cơ hội di chuyển lên đám mây một cách thành công cũng như không gây lãng phí. Theo đó, 10 bước lập kế hoạch điện toán đám mây như sau:
Bước 1: Thiết lập kiến trúc di chuyển
Trước khi bạn bắt đầu di chuyển đám mây, việc thiết lập kiến trúc di chuyển đóng vai trò rất quan trọng, giống như một bản vẽ thiết kế cho hệ thống mới của bạn bao gồm cả kế hoạch và tất cả các khía cạnh khác trong việc di chuyển lên đám mây mà bạn cần quan tâm.
Chúng ta có thể thấy vai trò cốt lõi của việc thiết lập kiến trúc được thể hiện rõ nét qua việc chúng giúp chúng ta xác định những yếu tố cần thiết phải tái cấu trúc để có thể di chuyển lên đám mây một cách hiệu quả. Các yếu đó có thể kể đến như là:
Thiết kế các chiến lược để di chuyển dữ liệu
Xác định các yêu cầu giải pháp đám mây
Xác định các ưu tiên di chuyển và cơ chế chuyển đổi sản xuất.
Trong quá trình thực hiện một dự án di chuyển lên Đám mây, có nhiều quyết định và kế hoạch kỹ thuật phải được thực hiện, và việc xây dựng cấu trúc di chuyển đóng vai trò quan trọng cho tất cả các khía cạnh của việc di chuyển đối với sự thành công của dự án.
Bước 2: Chọn mức độ tích hợp đám mây
Khi bạn di chuyển một ứng dụng từ trung tâm dữ liệu tại cơ sở sang đám mây, có hai cách bạn có thể di chuyển ứng dụng của mình. Tích hợp đám mây chuyên sâu (deep cloud integration) và tích hợp đám mây không chuyên sâu (shallow cloud integration).
Tích hợp đám mây không chuyên sâu (đôi khi được gọi là “lift and shift” – tạm dịch là nâng và chuyển đổi), Trong mô hình này, các ứng dụng hiện hành được đưa lên đám mây mà không cần phải thực hiện các thay đổi (hoặc có thực hiện nhưng rất hạn chế, sao cho nó có thể hoạt động trên đám mây được là được) mang tính cấu trúc về các tính năng mà các ứng dụng hiện hành đang thực hiện. Trong mô hình này, chúng ta không chỉ sử dụng một mình dịch vụ đám mây, mà sẽ kết hợp với các dịch vụ hạ tầng khác. Mô hình này còn được biết đến là lift-and-shift (nâng và chuyển đổi) vì các ứng dụng trước đây sẽ được “lifted” tức là nâng lên và vẫn giữ nguyên những tính năng và cách thức hoạt động cũ chỉ khác là sẽ được chuyển đổi – “shift” sang môi trường của đám mây.
Motorola Solutions, công ty đã cho outsource rất nhiều về quản lý hạ tầng và ứng dụng, đã sử dụng phương pháp này và cho kết quả là các danh mục của công ty đều tăng độ tin cậy và tính sẵn sàng, tiết kiệm chi phí nhanh chóng.
Các công cụ ảo hoá, ví dụ như VMware, thì rất dễ “lift & shift” và có thể được host lại y nguyên trên các nền tảng được hỗ trợ.
Nói tóm lại, cách tiếp cận của mô hình này chúng ta chỉ thực hiện dịch chuyển ứng dụng sang đám mây và vẫn giữ nguyên hiện trạng ban đầu của chúng.
Tích hợp đám mây chuyên sâu
Ở mô hình này, bạn sửa đổi các ứng dụng của mình trong quá trình di chuyển sao cho có thể tương thích và tận dụng các lợi thế mà đám mây có thể mang lại cho bạn. Như các tiện ích về Dynamic load balancing (với hệ thống đám mây, phương pháp cân bằng tải – load balancing sẽ được hỗ trợ để tối ưu và đạt hiệu suất cao hơn, giúp giảm thiểu các rủi ro về tình trạng ngẽn mạng do lưu lượng truy cập quá lớn hay có máy chủ gặp sự cố), Auto-scaling (một tính năng của hệ thống điện toán đám mây giúp cho việc sử dụng tài nguyên hệ thống có thể co dãn tùy thuộc vào nhu cầu sử dụng, để đảm bảo lượng tài nguyên có sẵn luôn đủ để xử lý những yêu cầu từ hệ thống của bạn và giúp bạn tiết kiệm tài nguyên khi nhu cầu sử dụng thấp)
sửa đổi có thể sửa đổi ứng dụng của mình trong quá trình di chuyển để tận dụng các khả năng chính của đám mây. Không còn gì tuyệt vời hơn khi bạn có thể tận dụng việc tự động mở rộng và cân bằng tải động, hoặc nó có thể phức tạp như việc sử dụng các khả năng tính toán không có máy chủ như AWS Lambda cho các phần của ứng dụng. Ngoài ra, chúng ta cũng có thể có những ứng dụng liên quan đến việc sử dụng kho lưu trữ dữ liệu dành riêng cho đám mây như Amazon S3 hoặc DynamoDB.
Bước 3: Chọn một đám mây hoặc kết hợp nhiều đám mây
Trước khi bạn bắt đầu di chuyển đám mây, hãy giải quyết câu hỏi này: Bạn có muốn chọn một nhà cung cấp đám mây duy nhất và di chuyển ứng dụng của mình để ứng dụng được tối ưu hóa cho môi trường đơn lẻ đó hay bạn muốn ứng dụng của mình chạy trên nhiều nhà cung cấp đám mây?
Tối ưu hóa ứng dụng của bạn để làm việc với một nhà cung cấp đám mây cụ thể tương đối đơn giản. Đội phát triển của bạn chỉ cần có một bộ Giao diện lập trình ứng dụng đám mây để tìm hiểu và các ứng dụng của bạn có thể tận dụng mọi thứ mà nhà cung cấp đám mây bạn chọn cung cấp.
Nhược điểm của phương pháp này là bạn chỉ có thể hợp tác với một nhà cung cấp đám mây. Một khi bạn cập nhật ứng dụng của mình lên hệ thống đám mây, ứng dụng của bạn chỉ có thể hoạt động trên nên tảng của nhà cung cấp đó, việc chuyển đổi ứng dụng của bạn sang một nhà cung cấp khác có thể sẽ mất nhiều công sức như khi bạn bắt đầu di chuyển các ứng dụng lên đám mây. Ngoài ra, việc có một nhà cung cấp đám mây duy nhất có thể tác động tiêu cực đến khả năng đàm phán các điều khoản quan trọng của bạn như là giá cả và cam kết chất lượng dịch vụ với nhà cung cấp đám mây.
Tuy nhiên, ngoài việc lựa chọn một nhà cung cấp duy nhất, chúng ta còn có nhiều mô hình khác là sử dụng nhiều nhà cung cấp đám mây cùng một lúc như:
Một ứng dụng trong một đám mây; một ứng dụng khác trong một đám mây khác.
Có lẽ cách tiếp cận đa đám mây đơn giản nhất là khi bạn cho vận hành một bộ ứng dụng trên nền tảng của một nhà cung cấp đám mây và các ứng dụng khác sẽ vận hành trên nền tảng của các nhà cung cấp khác. Cách tiếp cận này giúp bạn tăng đòn bẩy kinh doanh khi kết hợp với nhiều nhà cung cấp cũng như tăng được tính linh hoạt khi đặt ứng dụng trong tương lai. Ngoài ra, việc kết hợp với nhiều nhà cung cấp đám mây cũng cho phép bạn tối ưu hóa từng ứng dụng đối với từng nền tảng của mỗi nhà cung cấp mà nó chạy.
Chia ứng dụng của bạn trên nhiều nhà cung cấp đám mây
Một số công ty chọn chạy các phần của ứng dụng trong một nhà cung cấp đám mây và các phần khác của ứng dụng đó trong một nhà cung cấp khác. Cách tiếp cận này cho phép bạn sử dụng các lợi thế chính mà mỗi nhà cung cấp có được (ví dụ: một nhà cung cấp có thể có khả năng tốt hơn so với nhà cung cấp khác về tốc độ cơ sở dữ liệu). Rủi ro ở đây là ứng dụng của bạn gắn liền với hiệu suất của cả hai nhà cung cấp và bất kỳ vấn đề nào xảy ra với một trong hai nhà cung cấp đều có thể ảnh hưởng đến trải nghiệm khách hàng khi sử dụng ứng dụng của bạn.
Xây dựng ứng dụng của bạn để được bất khả tri
Một số công ty sẽ định hướng xây dựng ứng dụng của họ để có thể chạy trên mọi nhà cung cấp đám mây bất kỳ. Với phương pháp này, bạn có thể chạy ứng dụng của mình đồng thời trên nhiều nhà cung cấp hoặc phân số lượng ứng dụng của bạn trên các nhà cung cấp. Mô hình này mang đến cho bạn sự linh hoạt tối đa trong các cuộc đàm phán giữa nhà cung cấp vì bạn có thể dễ dàng chuyển tải ứng dụng của bạn từ nhà cung cấp đám mây này sang nhà cung cấp đám mây khác.
Tuy nhiên, nhược điểm mà chúng ta cần phải chú ý đến đó là chúng ta sẽ khó có thể tận dụng được các lợi thế chính của từng nhà cung cấp đám mây, làm giảm lợi ích của việc lưu trữ ứng dụng của bạn trên đám mây. Cách tiếp cận này cũng có thể làm phức tạp quá trình phát triển và xác nhận ứng dụng của bạn.
Bước 4: Thiết lập KPI đám mây
Các chỉ số hiệu suất chính (KPI) là các số liệu mà bạn thu thập về ứng dụng hoặc dịch vụ của mình để đo lường mức độ hiệu quả của nó so với mong đợi của bạn. Bạn có thể đã xác định một số KPI cho các ứng dụng và dịch vụ của mình, nhưng chúng liệu có chắc là những KPI phù hợp cho một ứng dụng hoặc dịch vụ một khi nó ở trên đám mây? KPI chuẩn là khi chúng giúp đánh giá được quá trình di chuyển trên đám mây đang diễn ra của bạn đang diễn ra như thế nào, làm sáng tỏ những vấn đề có thể nhìn thấy hoặc vô hình có thể ẩn giấu trong ứng dụng của bạn. Quan trọng nhất, có lẽ, KPI sẽ có thể giúp bạn xác định khi nào quá trình di chuyển hoàn tất và thành công.
Bước 5: Thiết lập đường cơ sở hiệu suất
Baselining là quá trình đo hiệu suất (trước khi di chuyển) hiện tại của ứng dụng hoặc dịch vụ của bạn để xác định xem hiệu suất (sau di chuyển) trong tương lai của nó có được chấp nhận hay không.
Baselines giúp bạn xác định khoảng thời gian quá trình di chuyển của bạn sẽ hoàn tất và cung cấp xác thực các cải tiến hiệu suất sau di chuyển mà bạn mong đợi. Bạn cũng có thể tham khảo các đường cơ sở trong quá trình di chuyển đám mây để chẩn đoán bất kỳ vấn đề nào phát sinh.
Đặt số liệu cơ bản cho từng KPI mà bạn đã quyết định đo. Xác định thời gian bạn sẽ thu thập dữ liệu để xác định đường cơ sở. Chọn khoảng thời gian cơ bản ngắn (chẳng hạn như một ngày) cho phép bạn thực hiện nhanh hơn, nhưng bạn sẽ không thu thập mẫu hiệu suất đại diện. Chọn một khoảng thời gian dài hơn để cơ sở (chẳng hạn như một tháng) rõ ràng mất nhiều thời gian hơn, nhưng có thể cung cấp nhiều dữ liệu đại diện hơn.
Bạn cũng cần xác định xem bạn chỉ muốn thu thập dữ liệu cơ bản ở mức trung bình hoặc tiêu biểu, hoặc nếu bạn muốn bao gồm dữ liệu được thu thập trong các giai đoạn quan trọng của đỉnh đỉnh đỉnh hay đỉnh cao. Chẳng hạn, nếu bạn là một trang web tin tức, bạn có muốn thu thập dữ liệu trong một ngày với một sự kiện tin tức lớn hay bạn muốn tránh những ngày như vậy?
Tóm lại, bất kể mô hình thu thập dữ liệu nào phù hợp với ngành của bạn, hãy đảm bảo xác định rõ loại dữ liệu bạn sẽ thu thập và trong khoảng thời gian nào để chúng ta có thể theo sát tiến độ cũng như đạt được hiệu suất cao nhất trong quá trình vận hành nó.
Bước 6: Chọn phần ưu tiên di chuyển
Sau khi thiết lập được sơ cơ sở hiệu suất, điều tiếp theo mà chúng ta cần phải quan tâm đó là phải quyết định xem bạn sẽ di chuyển toàn bộ ứng dụng của mình cùng một lúc hay bạn sẽ di chuyển nó sang đám mây theo từng thành phần hoặc dịch vụ.
Đầu tiên, hãy xác định các kết nối giữa các dịch vụ của bạn và dịch vụ nào phụ thuộc vào dịch vụ nào. Đối với các ứng dụng lớn hơn, phức tạp hơn, hãy sử dụng ứng dụng giám sát như APM Relic mới có thể sử dụng bản đồ dịch vụ để tạo sơ đồ phụ thuộc. Sử dụng sơ đồ phụ thuộc để quyết định thành phần nào sẽ được di chuyển và theo thứ tự nào. Nó thường có ý nghĩa để bắt đầu với các dịch vụ có ít phụ thuộc nhất.
Trong trường hợp này, bạn sẽ di chuyển hầu hết các dịch vụ nội bộ của mình trước, sau đó theo dõi các dịch vụ ở vùng “ngoài cùng” của bạn, thường là các dịch vụ gần nhất với khách hàng của bạn. Phương pháp thay thế là bắt đầu với các dịch vụ gần nhất để bạn có thể kiểm soát mọi tác động đến khách hàng của mình.
Bước 7: Thực hiện tái cấu trúc cần thiết
Bạn cần phải thực hiện nhiều công việc trước khi chuyển ứng dụng của bạn lên đám mây để chúng có thể hoạt động một cách hiệu quả và tốt nhất. Bạn sẽ muốn tái cấu trúc ứng dụng của bạn vì:
nó hoạt động hiệu quả với số lượng phiên bản đang chạy khác nhau để cho phép mở rộng quy mô hoạt động, có khả năng giúp bạn tiết kiệm tiền cho chi phí dịch vụ đám mây.
việc sử dụng tài nguyên của bạn có thể tận dụng tốt hơn các khả năng của đám mây động, chẳng hạn như khả năng phân bổ động và phân bổ lại tài nguyên khi cần, thay vì bạn phân bổ tĩnh chúng trước thời hạn. Để di chuyển đến một kiến trúc hướng dịch vụ hơn trước khi di chuyển, để bạn có thể dễ dàng di chuyển các dịch vụ riêng lẻ hơn lên đám mây.
Bước 8: Tạo kế hoạch di chuyển dữ liệu
Di chuyển dữ liệu là một trong những phần khó nhất của di chuyển đám mây. Vị trí của dữ liệu của bạn có thể ảnh hưởng đáng kể đến hiệu suất của ứng dụng của bạn. Di chuyển dữ liệu của bạn lên đám mây khi các phương thức truy cập dữ liệu cục bộ có thể ảnh hưởng đáng kể đến hiệu suất. Điều tương tự cũng đúng nếu dữ liệu vẫn còn trên cơ sở nhưng dịch vụ truy cập nó nằm trong đám mây.
Các tùy chọn để di chuyển dữ liệu bao gồm:
Sử dụng cơ chế đồng bộ hai chiều giữa cơ sở dữ liệu tại chỗ và đám mây của bạn. Khi bạn đã chuyển tất cả người tiêu dùng dữ liệu lên đám mây, hãy xóa cơ sở dữ liệu cơ sở cũ.
Sử dụng cơ sở dữ liệu tại cơ sở với đồng bộ hóa một chiều với cơ sở dữ liệu dựa trên đám mây và cho phép người tiêu dùng chỉ kết nối với phiên bản dữ liệu cơ sở. Khi bạn đã sẵn sàng, hãy vô hiệu hóa quyền truy cập vào phiên bản tại cơ sở để phiên bản dựa trên đám mây trở thành cơ sở dữ liệu chính và cho phép người tiêu dùng dựa trên đám mây truy cập vào cơ sở dữ liệu mới.
Sử dụng dịch vụ di chuyển dữ liệu đám mây, chẳng hạn như các dịch vụ có sẵn từ Amazon Web Services và Microsoft Azure.
Chúng ta không nên đánh giá thấp sự phức tạp và tầm quan trọng của việc lập kế hoạch di chuyển dữ liệu. Không chú ý đến kế hoạch di chuyển dữ liệu của bạn trước khi bạn bắt đầu di chuyển đám mây có thể khiến việc di chuyển không thành công hoặc ít nhất là không đáp ứng được kỳ vọng. Người chịu trách nhiệm di chuyển ứng dụng lên đám mây nên tham gia vào quá trình lập kế hoạch di chuyển dữ liệu để qua đó hiểu rõ và vận hành một cách chuẩn xác hơn.
Bước 9: Chuyển đổi sản xuất
Khi nào và làm thế nào để bạn chuyển đổi hệ thống sản xuất từ giải pháp tiền đề kế thừa sang phiên bản đám mây mới?
Câu trả lời phụ thuộc vào mức độ phức tạp và kiến trúc của ứng dụng của bạn và đặc biệt là kiến trúc dữ liệu và kho dữ liệu của bạn.
Có hai cách tiếp cận phổ biến:
Làm tất cả cùng một lúc: Cho đến khi bạn chuyển toàn bộ ứng dụng hoặc dịch vụ sang đám mây và xác thực rằng nó sẵn sàng hoạt động và sau đó chúng ta mới chuyển sử dụng từ dữ liệu cơ sở sang dữ liệu đám mây.
Làm từng phần theo từng thời điểm: Di chuyển một vài dữ liệu khách hàng qua trước, sau đó kiểm tra rằng mọi thứ vẫn đang hoạt động, và tiếp đến di chuyển thêm một vài dữ liệu khách hàng nữa. Cứ như thế tiếp tục quá trình này cho đến khi bạn chuyển tất cả dữ liệu khách hàng của mình sang ứng dụng dựa trên đám mây.
Bước 10: Phân bổ tài nguyên ứng dụng
Ngay cả sau khi bạn đã hoàn thành việc di chuyển mọi thứ lên đám mây, vẫn còn một vài điều cần xem xét. Quan trọng nhất vẫn là cách là tối ưu hóa tài nguyên. Đám mây được tối ưu hóa để phân bổ tài nguyên động và khi bạn phân bổ tài nguyên (ví dụ: máy chủ) một cách tĩnh, bạn không tận dụng được thế mạnh của đám mây.
Khi bạn di chuyển vào đám mây, hãy đảm bảo các nhóm của bạn có kế hoạch phân phối tài nguyên cho ứng dụng của bạn.
Khi bạn cần phân bổ các tài nguyên bổ sung cho một ứng dụng trên đám mây, chúng thường có sẵn từ nhà cung cấp với hầu hết mọi số lượng trong một thông báo trong giây lát.
Điều này có nghĩa là bạn thường có thể tin tưởng rằng bạn có thể mở rộng quy mô khi cần thiết để đáp ứng nhu cầu, giả sử các nhóm của bạn có sẵn kiến trúc ứng dụng để hỗ trợ mở rộng quy mô động.
“Cloud – Giới thiệu về điện toán đám mây” là một trong 20 chuyên đề thuộc chương trình đào tạo trực tuyến của Trung tâm Hỗ trợ DNNVV phía Bắc (thuộc Cục Phát triển doanh nghiệp, Bộ Kế hoạch và Đầu tư). Chương trình được ngân sách nhà nước hỗ trợ 100% kinh phí. Tìm hiểu thêm về các chuyên đề và đăng ký tham dự miễn phí tại đây: https://vietnamsme.gov.vn/elearning/ |