Azure Resource Manager – Gia Vị Hoàn Hảo Cho Azure

Báo cáo Magic Quadrant của Gartner về dịch vụ cơ sở hạ tầng (IaaS) vào tháng 8 năm 2016 cho thấy Microsoft đã cung cấp thành công dịch vụ đám mây Azure cho nhiều khách hàng. Azure hiện đang chiếm vị trí thứ hai trong thị phần đứng sau Amazon Web Services và hai nền tảng này đang đẩy các đối thủ cạnh tranh khác rất xa về phía sau. Một trong những yếu tố quan trọng góp phần vào sự thành công của Microsoft là sự chuyển đổi sang IaaS v2 vào năm 2014, trong đó Azure Resource Manager là thay đổi cốt lõi. Điều này dẫn đến việc mở rộng thị phần cho dịch vụ cơ sở hạ tầng của Microsoft Azure và cũng có nhiều lợi ích cho đội ngũ DevOps khi tích hợp hệ thống CI/CD và các giải pháp phân phối/bảo trì.

Azure Service Management đã là quá khứ

Đối với tất cả các hệ thống CNTT, nền tảng quản lý là một nhu cầu hết sức thiết yếu. Azure Service Management (ASM) là nền tảng quản lý ban đầu được thiết kế cho Azure. Năm 2008, vào thời điểm ra mắt, Azure tiếp cận các nhà phát triển như là một public cloud, cung cấp các dịch vụ nền tảng đặc biệt cho việc triển khai và chạy các ứng dụng .NET. Sau đó, nhờ theo dõi sự tăng trưởng đáng kể của AWS EC2 mà Microsoft nhận ra tầm quan trọng của các dịch vụ cơ sở hạ tầng. Năm 2012, Microsoft chính thức gia nhập thị trường IaaS (dịch vụ cơ sở hạ tầng) với máy ảo Azure (Azure VM).

Các developer có thể lập trình để quản lý cơ sở hạ tầng ảo bằng cách sử dụng ASM API qua giao thức SOAP và sau đó REST được hỗ trợ. Ngay từ đầu, ASM đã đủ tốt cho một số dịch vụ nhỏ, nhưng sau đó đã bộc lộ những hạn chế như việc cung cấp tài nguyên rời rạc, tách biệt triển khai và thu hồi…

Việc cung cấp dịch vụ hạ tầng ban đầu có nhiều vấn đề về kết nối, hiệu năng I/O và các API rời rạc khiến cho việc triển khai DevOps trên Azure rất mơ hồ và lộn xộn. Microsoft quyết định thiết kế lại Azure IaaS bằng cách giới thiệu thế hệ tiếp theo của IaaS phiên bản Build 2014 cùng với cổng thông tin mới (new portal). IaaS thế hệ mới – thường được gọi là IaaS v2 hoặc cổng thông tin mới (tên mã Ibiza) đi cùng với một nền tảng quản lý mới gọi là Azure Resource Management (ARM).

Azure Resource Management (ARM)

Nền tảng ARM thay đổi rất nhiều kiến trúc Azure đã đem lại kết quả cải tiến đáng kể và mang lại lợi ích cho cả nhà phát triển, nhà quản trị hệ thống, doanh nghiệp và nhà cung cấp giải pháp tích hợp:

  • Kiểm soát chặt chẽ hệ thống cơ sở hạ tầng với khái niệm Nhóm Tài nguyên (Resource Group), Role Based Access Control (RBAC), gắn thẻ cho tài nguyên (Tag) và cho phép tạo các bộ quy tắc riêng (Policy).
  • Hỗ trợ DevOps triển khai tự động tài nguyên dựa trên mẫu (template) với cơ chế bảo mật Key Vault.

Trong ARM, một khái niệm mới đã được giới thiệu: Resource Group – một gom nhóm logic các tài nguyên Azure, cho phép nhóm các tài nguyên liên quan thành một đơn vị quản lý. Cơ chế quản lý từ ASM cũ là vấn đề lớn khiến các doanh nghiệp không mặn mà áp dụng Azure vì cơ chế bảo mật large-granied đối với các dịch vụ. Với ARM, một hệ thống hoàn chỉnh sử dụng nhiều dịch vụ (tính toán, lưu trữ, network…) hoàn toàn có thể được tổ chức thành một nhóm tài nguyên duy nhất và cho phép cấu hình quyền hạn ở mức tối thiểu (least-privilege principal). Hơn nữa, cơ chế Tag và Policy cung cấp cho các công ty một cách tốt hơn để tổ chức các nguồn lực trong một chiến lược có thể tùy chỉnh mang lại lợi ích to lớn cho việc tìm kiếm, xác định, quản lý và thanh toán. Đây là những điều rất quan trọng khi một lượng lớn tài nguyên được triển khai hoàn toàn tự động.

Thành phần quan trọng tiếp theo của ARM là Resource Template – một JSON file chứa các cấu hình tài nguyên có thể được triển khai nhiều lần với kết quả nhất quán giống nhau. Trước khi có ARM, không có cách thức tiêu chuẩn để xác định và cấu hình việc triển khai tài nguyên Azure, dẫn đến có nhiều lỗi khi triển khai theo kịch bản thủ công. Resource Template có hai phần: template file và parameter file. Template file khai báo các tài nguyên và các kết nối của chúng, parameter file chứa các tham số truyền vào trong quá trình triển khai. Sự tách biệt này làm giảm đi sự phức tạp của việc duy trì các môi trường khác nhau như CI, Test, Staging, Production. Hơn nữa, một hệ thống lớn có nhiều tài nguyên khác nhau có thể được chia thành các template file nhỏ và độc lập để dễ quản lý, chỉnh sửa và một template file tổng thể chứa tất cả các template con cần thiết. Để tăng tốc thời gian triển khai, Microsoft cũng cung cấp cơ chế triển khai song song tự động quét qua template file chính để triển khai các tài nguyên độc lập cùng một lúc. Tất cả các template file ARM có thể được triển khai trong cả Azure (Microsoft Public Cloud) và Azure Stack (Private Cloud) và dễ dàng tích hợp các tiện ích mở rộng với các công nghệ hiện có như Chef, Puppet…

Ngoài ra, Microsoft cũng giải quyết các vấn đề phổ biến về lộ các thông số bí mật trong scripted file bằng cách thông qua dịch vụ Key Vault. Khi system admin cần truyền vào một giá trị an toàn (password, primary key…), họ có thể lưu trữ giá trị đó như một bí mật (secret) trong Azure Key Vault, sau đó tham khảo giá trị đó trong file tham số mà không sợ tiết lộ cũng như phải nhập giá trị một cách thủ công khi triển khai.

Từ khi nào đã yêu ARM?

Vào ngày 2 tháng 12 năm 2015, cổng thông tin Azure đã đạt được General Availability (GA) status. Nhu cầu thiết kệ hệ thống với ARM mới hoặc chuyển đổi từ ASM sang ARM ngày càng gia tăng. Một trong những khách hàng của chúng tôi là một công ty đa quốc gia chuyên cung cấp các sản phẩm kiểm soát nhiệt như sưởi ấm, thông gió, điều hòa không khí và làm lạnh với quy mô công nghiệp trên toàn thế giới. Họ muốn mở rộng cơ sở hạ tầng công ty của họ với Azure để thúc đẩy thỏa thuận hợp tác đạt được với Microsoft trong năm 2016. Giải pháp này phải được xây dựng trên Azure IaaS v2 và được yêu cầu hỗ trợ kết nối xuyên lục địa, tính sẵn sàng cao và khả năng khôi phục sau thảm họa.

Với mối quan hệ hợp tác lâu dài với Microsoft, nhóm chuyên gia tư vấn của Microsoft đã khuyên khách hàng của mình nên làm việc với đội ngũ chuyên gia của FPT Software để giúp họ thiết kế giải pháp. Nhóm của chúng tôi phải trải qua vòng phỏng vấn từ đội ngũ kiến trúc sư giải pháp của Microsoft. Kết quả phỏng vấn tốt đẹp đem lại cơ hội cho nhóm gồm 3 thành viên của ban Giải pháp & Công nghệ đến trụ sở IT của khách hàng ở Hoa Kỳ làm việc trong 2 tháng.

Sau khi tiến hành quy trình đánh giá, nhóm đã thành công trong việc cung cấp cho khách hàng bản thiết kế cơ sở hạ tầng trên Azure để đáp ứng các yêu cầu và các kịch bản tự động hóa để triển khai giải pháp một cách nhanh chóng. Hơn nữa, chúng tôi cũng đã tư vấn một số kinh nghiêm thực tiễn để giúp khách hàng quản trị môi trường tài nguyên trên Azure một cách tốt nhất.

Tại FPT Software, chúng tôi luôn tập trung vào việc xây dựng năng lực công nghệ điện toán đám mây. Với nhiều dự án thành công trong cả IaaS và PaaS của Azure, FPT Software tự tin để tiếp tục cung cấp dịch vụ chuyên nghiệp cho khách hàng.

Công nghệ luôn thay đổi, và người làm công nghệ lại càng phải tìm tòi, học hỏi và cập nhật mỗi ngày trên chặng đường trở thành Guru.

Nguyễn Trần Đăng Khoa – FPT Software

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *