Nếu bạn là 1 tín đồ của nền tảng điện toán đám mây Microsoft Azure, ắt hẳn đâu đó trong mấy ngày nay bạn đã nghe được thông tin Microsoft vừa chính thức mở bán Microsoft Azure Stack, một sản phẩm được coi là “vũ khí chiến lược” của Microsoft trong “cuộc chiến” về thị phần cloud computing với các đối thủ lớn khác như Amazon hay Google.
Bài viết ngày hôm nay mình sẽ cũng các bạn tìm hiểu về Microsoft Azure Stack, nó là gì và tại sao lại được coi là “vũ khí chiến lược” của Microsoft trong cuộc chiến về cloud? Hãy cùng tìm hiểu trong bày viết này!
Microsoft Azure Stack là gì?
Là câu hỏi lớn và câu trả lời cũng chính là nội dung chính của bài viết. Tuy nhiên, để hiểu được đúng ý nghĩa của Microsoft Azure Stack, mình muốn cùng các bạn tìm hiểu lý do tại sao Microsoft lại phát triển Azure Stack thay vì trực tiếp giới thiệu về sản phẩm này (những thông tin mang tính giới thiệu bạn có thể hoàn toàn dễ dàng tìm đọc được trên trang chủ của sản phẩm:)).
Azure Stack được phát triển từ chính những thách thức của công nghệ điện toán đám mây.
Công nghệ điện toán đám mây và những thách thức
Cloud Computing hay công nghệ điện toán đám mây là một nền tảng công nghệ đang được rất nhiều cá nhân cũng như các công ty lớn & nhỏ quan tâm, và được coi là một yếu tố quan trọng trong việc thúc đẩy nền Công nghiệp 4.0 (Industry 4.0) cũng như xu hướng Digital Transformation hiện nay. Tuy nhiên, ứng dụng & sử dụng công nghệ điện toán đám mây không phải là một câu chuyện “muốn là được”. Rất nhiều các hãng lớn hiện nay như Microsoft, Amazon, Google hay IBM đều có những giải pháp, dịch vụ cloud tân tiến, tuy nhiên việc tiếp cận, thuyết phục khách hàng để sử dụng các giải pháp cloud của họ vẫn là một bài toán đau đầu bởi những nguyên nhân sau:
- Các vấn đề pháp lý: Ở một số quốc gia, dữ liệu của một số lĩnh vực nhất là các lĩnh vực liên quan tới chính phủ như ngân hàng, y tế bị cấm lưu chuyển ra ngoài lãnh thổ của quốc gia đấy, dẫn đến việc sử dụng các giải pháp public cloud là bất khả thi.
- Các vấn đề về đường truyền: Việc sử dụng giải pháp cloud đồng nghĩa với việc chấp nhận dữ liệu, dịch vụ của họ sẽ được lưu tại các máy chủ của hãng cung cấp và có một thực tế rằng chưa một hãng cung cấp dịch vụ cloud nào có datacenter đặt tại tất cả các quốc gia trên Thế giới (Microsoft Azure có số lượng datacenter nhiều nhất trong số các nhà cung cấp dịch vụ cloud tuy nhiên tính đến thời điểm viết bài viết này thì nền tảng cloud này mới phủ datacenter được tại 38 vùng mà thôi!). Điều này sẽ phát sinh 1 vấn đề về đường truyền nhất là các quốc gia không có datacenter của hãng và có đường truyền ra nước ngoài phụ thuộc vào tuyến cáp biển như Việt Nam chẳng hạn. Mặc dù một số các hãng lớn có các giải pháp để xử lý vấn đề này như Microsoft Azure có ExpressRote hay Amazon có AWS Direct Connect, cho phép thiết lập một đường truyền riêng giữa máy chủ của khách hàng với datacenter của hãng, nhưng giải pháp này thường có chi phí khá cao và không phải khách hàng nào cũng có đủ năng lực để sử dụng.
- Các vấn đề về chuyển đổi: Đối với những công ty đang có sẵn các giải pháp phần mềm, không phải tất cả họ đều có nhu cầu di chuyển toàn bộ giải pháp của họ lên cloud mà chỉ có nhu cầu di chuyển một phần hoặc mở rộng thêm các mô-đun mới trên nền tảng công nghệ điện toán đám mây. Điều này dẫn tới một vấn đề là làm sao để đảm bảo thành phần chạy trên cloud với các thành phần chạy trên hệ thống on-premises có thể nói chuyện & hoạt động mượt mà với nhau.
- Tư duy sở hữu: Cái gì mình nhìn thấy được, “sờ nắn” được, kiểm soát được ở mức vật lý thì mới mang lại cảm giác an tâm. Mặc dù các hãng cung cấp dịch vụ cloud đều có những tiêu chuẩn về bảo mật rất cao với dữ liệu của khách hàng khi lưu trên các dịch vụ cloud của họ nhưng vì không thể kiểm soát được ở mức vật lý nên sự tín nhiệm để sử dụng các dịch vụ public cloud là không cao.
- và còn nhiều lý do khác nữa…
public cloud là gì? public cloud là một mô hình dịch vụ điện toán đám mây mà các dịch vụ được cung cấp rộng rãi trên Internet, cho phép mọi người dùng đều có thể sử dụng được. Trái ngược với mô hình public cloud là private cloud, mặc dù cũng cung cấp các dịch vụ giống với public cloud (có thể khác với kiến trúc riêng), tuy nhiên các dịch vụ trong private cloud được thiết kế chỉ để sử dụng ở trong 1 tổ chức hoặc 1 quốc gia cụ thể nào đấy.
on-premises là gì? Trong bài viết này on-premises được hiểu là mô hình IT truyền thống, mô hình mà các công ty sẽ thuê hoặc mua các máy chủ và đặt tại các datacenter riêng của họ (tự xây dựng hoặc đi thuê).
Mô hình hybrid cloud
Để giải quyết phần lớn các vấn đề trên, mô hình hybrid cloud ra đời. Hybrid cloud là mô hình điện toán đám mây được cấu thành bởi sự pha trộn giữa public cloud, private cloud và on-premises, với khả năng điều phối giữa các hạ tầng trên, cho phép di chuyển workload giữa chúng khi cần, giúp tối ưu hóa chi phí & mang lại cho người sử dụng nhiều lựa chọn triển khai giải pháp phần mềm hơn.
Hybrid cloud phù hợp với những bài toán có workload có tính chất thay đổi lớn như hệ thống đặt hàng chẳng hạn, hệ thống này sẽ phải đối mặt với lượng giao dịch lớn trong những dịp lễ, khuyến mãi. Hybrid cloud là một lựa chọn phù hợp khi hệ thống đặt hàng nói trên ở những ngày bình thường có thể chạy trên private cloud hoặc on-premises, tuy nhiên khi có yêu cầu cần sử dụng tài nguyên máy tính lớn hơn như để xử lý lượng giao dịch lớn vào dịp lễ, khuyến mãi, có thể lấy từ một dịch vụ public cloud. Một ví dụ khác của việc sử dụng mô hình hybrid cloud đó là trong các bài toán big data, khi dữ liệu có thể được lưu ở private cloud hoặc on-premises và sử dụng tài nguyên máy tính trên public cloud để thực hiện tính toán, phân tích với khả năng scale để thực hiện các tác vụ tính toán lớn.
Tuy nhiên hybrid cloud không đơn giản chỉ là việc kết nối hạ tầng on-premises, private cloud hay public cloud với nhau, việc triển khai mô hình hybrid cloud đối mặt với nhiều thách thức về mặt kỹ thuật và quản lý:
- Đảm bảo tính ổn định, độ trễ (latency), băng thông (bandwidth) phù hợp của đường truyền mạng cũng như xây dựng một kiến trúc mạng hợp lý (điều hướng, thiết lập firewall) là một thách thức rõ ràng trong việc triển khai mô hình hybrid cloud.
- Việc quản lý giữa các dịch vụ cloud khác nhau cũng là một thách thức lớn. Mỗi một nền tảng cloud hay hạ tầng on-premises có một cơ chế quản lý riêng và độc lập với nhau do vậy rất khó để có được 1 cái nhìn tổng quan về tổng số lượng các dịch vụ được triển khai và trạng thái của chúng.
Để giải quyết được thách thức về mặt quản lý, xây dựng một lớp orchestration (điều phối) là một giải pháp có tính khả thi cao. Lớp orchestration này sẽ cung cấp một giao diện duy nhất cho các tác vụ liên quan tới cloud và nó sẽ tương tác với các nền tảng cloud, hạ tầng on-premises thông qua API, có khả năng theo dõi và kiểm soát các hoạt động tập trung, mang đến một cái nhìn tổng quan hơn về các dịch vụ được sử dụng.
Tuy nhiên, mỗi nền tảng cloud hay hạ tầng on-premises có những tập API riêng do vậy lớp orchestration cần phải có những thành phần kiểu driver (hoạt động giống driver được cài đặt để sử dụng được các thiết bị ngoại vi như chuột, bàn phím cho máy tính) để chuyển đổi tập API riêng của từng nền tảng cloud, hạ tầng on-premises sang một chuẩn chung để có thể sử dụng được.
Giải pháp của Microsoft cho hybrid cloud
Các vấn đề trong việc triển khai hybrid cloud nói trên Microsoft không phải là hãng không bị chịu ảnh hưởng. Bản thân Microsoft cũng có các dịch vụ public cloud của họ – Microsoft Azure. Mặc dù được xây dựng với mục tiêu trở thành một “hybrid cloud platform” tuy nhiên hướng tiếp cận hybrid của Microsoft mới chỉ dừng lại ở việc cho phép các ứng dụng, dữ liệu trên on-premises và Azure có thể tương tác với nhau cho đến khi “gã khổng lồ phần mềm này” cho ra mắt Microsoft Azure Stack.
Microsoft Azure Stack là một thành phần mở rộng của Microsoft Azure, mang đến cho người sử dụng khả năng triển khai & chạy các dịch vụ Azure ngay trên hạ tầng on-premises của họ, từ đó cho phép xây dựng một môi trường hybrid cloud có “tính nhất quán” cao.
Hệ sinh thái One Azure
Tính nhất quán ở đây được thể hiện qua việc đảm bảo một phương pháp phát triển giống nhau khi xây dựng các ứng dụng chạy trên Azure và Azure Stack, cùng tập API, cùng các công cụ DevOps, giao diện quản lý giống nhau, từ đó giúp nâng cao năng suất làm việc của lập trình viên. Với tính nhất quán của Azure & Azure Stack, người sử dụng sẽ có được sự linh hoạt trong việc lựa chọn sử dụng hạ tầng để chạy ứng dụng cũng như lưu trữ dữ liệu dựa trên các yêu cầu như luật pháp, nhu cầu bảo vệ dữ liệu nhạy cảm, khả năng tùy chỉnh hay độ trễ của đường truyền mạng mà từ đó lựa chọn lưu trữ trên datacenter của Microsoft, của nhà cung cấp dịch vụ hay ngay trong datacenter riêng của người sử dụng.
Tính nhất quán cũng được Microsoft thể hiện qua việc đảm bảo mang đến một hệ sinh thái “One Azure” với khả năng nhanh chóng xây dựng các ứng dụng trên cloud sử dụng các giải pháp mã nguồn mở hoặc các phần mềm được phát triển bởi cộng đồng như Mesos, Blockchain, Cloud Foundry, RedHat, SUSE Linux, Chef hay Docker qua các template được cấu hình sẵn trên Azure Marketplace.
Sử dụng Azure Stack như thế nào?
Azure Stack không đơn giản chỉ là một bộ cài phần mềm mà bạn có thể tải về đâu đó trên Internet và cài đặt nó lên máy chủ của bạn. Để sử dụng được Azure Stack cần phải có một sự kết hợp của cả phần cứng lẫn phần mềm dựa trên các tiêu chuẩn cụ thể mà Microsoft đưa ra.
Hiện tại, Microsoft cung cấp Azure Stack dưới dạng “hệ thống tích hợp” (Azure Stack integrated systems) tức là một gói hệ thống bao gồm phần cứng (máy chủ) được cài đặt sẵn Azure Stack và cấu hình theo yêu cầu của khách hàng. Tính đến thời điểm viết bài viết này, Microsoft đã hợp tác với Dell EMC, HPE, Lenovo, Cisco và Huawei trong việc tích hợp Azure Stack vào trong một số dòng máy chủ của họ.
Ở đợt công bố mở bán, Azure Stack sẽ xuất hiện ở 46 quốc gia trong đó có Việt Nam qua các kênh phân phối của các đối tác phần cứng của Microsoft.
Azure Stack Development Kit
Để tạo điều kiện cho các nhà phát triển có thể xây dựng các giải pháp PoC (proof-of-concept) với Azure Stack, Microsoft cung cấp Azure Stack Development Kit (ASDK), một bộ kit cho phép triển khai Azure Stack trên một node máy chủ hoàn toàn miễn phí với mục đích dùng thử & nghiên cứu. Ngoài ra, Azure Stack Development Kit cũng có thể được sử dụng làm môi trường phát triển.
Để sử dụng được Azure Stack Development Kit, máy tính của bạn phải đáp ứng được những yêu cầu cơ bản về phần cứng, phần mềm và mạng của Azure Stack. Theo yêu cầu phần cứng của Azure Stack được Microsoft công bố, cấu hình tối thiểu để chạy được ASDK là một máy tính có 1 ổ đĩa OS có dung lượng tối thiểu 200 GB cộng thêm 4 ổ đĩa có dung lượng tối thiểu 140 GB/ổ đĩa, CPU có tối thiểu 12 core vật lý, 96 GB RAM tối thiểu, BIOS hỗ trợ Hyper-V + SLAT và trong trạng thái bật. Chi tiết về yêu cầu phần cứng cho ASDK các bạn có thể tham khảo tại đây.
Azure Stack tính phí sử dụng như thế nào?
Giống với Azure, Azure Stack cũng sử dụng mô hình tính phí “pay-as-you-use” (dùng bao nhiêu trả bấy nhiêu). Bạn có thể sử dụng các dịch vụ IaaS và PaaS trong Azure Stack mà không cần trả bất kỳ chi phí nào trước và sử dụng chung subscription (thuê bao), cam kết tài chính và các công cụ thanh toán giống với Azure. Tuy nhiên, mô hình tính phí “pay-as-you-go” này chỉ có thể được mua qua EA (Enterprise Agreement) hoặc qua các kênh phân phối CSP (Cloud Solution Provider).
Chi tiết về mô hình pay-as-you-use cùng bảng giá dịch vụ cụ thể của Azure Stack bạn có thể tham khảo thêm tại đây.
Bắt đầu với Azure Stack như thế nào?
Để bắt đầu với Azure Stack, có 3 bước sau được Microsoft khuyến nghị:
- Develop: Xây dựng bản prototype của ứng dụng của bạn trên nền tảng điện toán đám mây Microsoft Azure.
- Validate: Cài đặt Azure Stack Development Kit để xác nhận tính ổn định, tính khả thi của ứng dụng trên môi trường hybrid cloud với Azure Stack.
- Deploy: Mua các hệ thống được tích hợp Azure Stack (Azure Stack integrated systems) để triển khai ứng dụng của bạn ở môi trường thực tế.
Kết luận
Có thể thấy rõ ràng rằng với việc tung ra Azure Stack, Microsoft đã phần nào giải quyết được một lượng tương đối các vấn đề gặp phải của mô hình hybrid cloud khi cung cấp một môi trường có tính nhất quán cao giữa nền tảng public cloud (Azure) và hạ tầng on-premises (Azure Stack) cùng một hệ sinh thái “One Azure” đồng nhất.
Mặc dù đang đứng ở vị trí thứ 2, ngay sau đối thủ là Amazon Web Services, tuy nhiên mình có một sự tự tin rằng Azure Stack sẽ sớm giúp Microsoft thu hẹp được khoảng cách với Amazon hoặc thậm trí là vượt lên dẫn đầu trong thị phần về cloud computing khi xu hướng sử dụng mô hình hybrid cloud đang được cộng đồng vô cùng ưa chuộng.
Theo Lion Pham