Hướng dẫn về kiến trúc điện toán đám mây (Cloud Computing)
Việc lựa chọn một kiến trúc điện toán đám mây sao cho phù hợp sẽ phụ thuộc vào những yêu cầu dịch vụ công nghệ và kinh doanh của tổ chức. Bài viết hôm nay Bizfly Cloud sẽ giúp bạn hiểu sâu hơn về các mô hình đám mây khác nhau bao gồm: kiến trúc đám mây cơ bản, kiến trúc phức tạp và các đám mây lai.
>> Tìm hiểu thêm: Hybrid cloud là gì ? Ứng dụng như thế nào trong kinh doanh và cuộc sống
Việc chuyển đổi sang đám mây có thể khó gặp những khó khăn ban đầu. Quá trình chuyển đổi sẽ gặp khó khăn tại khâu thiết kế và lập kế hoạch, vì phần lớn các quyết định hiện nay rơi vào phía khách hàng nhiều hơn. Sự thay đổi này đích thực là một con dao hai lưỡi. Cụ thể, nó cho phép khách hàng có quyền kiểm soát nhiều hơn đối với thiết kế, lựa chọn công nghệ, kinh tế và rủi ro. Nó cũng đặt nhiều gánh nặng kiến trúc cloud computing vào khách hàng hơn, những khách hàng này là những người không có đủ trình độ kinh nghiệm về solution design mà nhiều nhà cung cấp dịch vụ thực hiện.
Các kiến trúc điện toán đám mây cơ bản (Baseline cloud computing architectures) là các building blocks nền tảng cho các ý tưởng thiết kế nền tảng (cornerstone design ideas). Những sắp xếp thiết kế phổ biến này có thể được sử dụng để khởi động các giải pháp (solution efforts). Các kiến trúc cơ bản rất hữu ích khi tận dụng các mẫu điện toán đám mây chuẩn. Các mẫu đại diện cho các yêu cầu dịch vụ đám mây, trong khi các kiến trúc cơ sở cung cấp các mô hình hữu ích để xử lý các thành phần kiến trúc chung và các yêu cầu liên quan của chúng.
Các phần sau sẽ được xây dựng dựa trên những phần trước đó. Thành phần tính toán cơ bản (baseline compute component) sẽ chú ý đến một web layer, application layer, và database layer, mỗi layer lại có một mức lưu trữ. Các thuộc tính lưu trữ sẽ thay đổi dựa trên các yêu cầu thiết kế. Gần như tất cả các thiết kế hiện đại sẽ có các web, app, và database layers trong thiết kế của chúng.
Loại phân lớp này được gọi là tiering. Hầu hết các thiết kế sẽ có ba hoặc bốn tiers. Tiers thường là số các lớp riêng lẻ tách biệt giữa điểm vào môi trường (environment entry point) và dữ liệu đích (destination data). Ví dụ, three-tier architecture có web layer, app layer, và database layer. Một single-server architecture sẽ có tất cả ba lớp nằm trên cùng một máy chủ ảo hoặc máy chủ vật lý.
Trong bài này, VCCloud sẽ giới thiệu các chủ đề sau:
- Các kiểu kiến trúc cơ bản
- Mô hình OSI và mô tả lớp
- Kiểu kiến trúc phức hợp
- Kiến trúc cho mây lai
Các kiểu kiến trúc cơ bản
Các loại kiến trúc cơ bản khác nhau như sau.
1. Single server
Các mẫu máy chủ đơn đại diện cho việc sử dụng một máy chủ, ảo hoặc vật lý, có chứa một máy chủ web, một ứng dụng và một cơ sở dữ liệu. Một ví dụ là LAMP Stack (Linux, Apache, MySQL, PHP). Kiến trúc máy chủ đơn không phổ biến, vì chúng có một rủi ro bảo mật cố hữu khi một thỏa hiệp có thể thỏa hiệp tất cả. Những kiến trúc này thường được triển khai cho công việc phát triển, cho phép các nhà phát triển nhanh chóng xây dựng các chức năng mà không gặp khó khăn với các vấn đề kết nối và giao tiếp giữa các máy chủ khác nhau, ở các vị trí khác nhau.
2. Single-site
Kiến trúc Single-site giống single server architecture và phân chia tất cả các lớp thành các cá thể compute instances của chúng, tạo ra kiến trúc ba tầng (three-tier architecture). Với tất cả các tài nguyên tính toán nằm trong cùng một vị trí, single-site architecture được tạo ra. Có hai phiên bản của single-site architectures: non- redundant và redundant.
3. Non-redundant three-tier architectures (Kiến trúc ba tầng không dự phòng)
Non-redundant three-tier architectures (ở bên phải) được sử dụng để tiết kiệm chi phí và tài nguyên nhưng đồng nghĩa với việc phải chấp nhận rủi ro cao hơn. Một lỗi duy nhất trong bất kỳ thành phần nào, một điểm hỏng hóc duy nhất, có thể chặn lưu lượng truy cập vào hoặc ra khỏi môi trường một cách chính xác. Cách tiếp cận này thường chỉ được sử dụng cho các môi trường phát triển hoặc thử nghiệm. Hình dưới đây cho thấy mỗi lớp, hoặc tầng, như một máy chủ riêng biệt, ảo hoặc vật lý. Không nên sử dụng loại thiết kế này cho môi trường sản xuất.
4. Redundant three-tier architectures (Kiến trúc ba tầng dự phòng)
Redundant three-tier architectures thêm một bộ các thành phần khác dành cho dự phòng. Các thành phần thiết kế bổ sung sẽ làm tăng độ phức tạp, nhưng cần thiết cho một thiết kế failover và recovery protection. Thiết kế cơ sở hạ tầng dự phòng đòi hỏi một kế hoạch tốt cho các thành phần trong mỗi lớp (quy mô theo chiều ngang), cũng như một kế hoạch về cách lưu lượng sẽ chuyển từ lớp này sang lớp khác (mở rộng theo chiều dọc).
Single points of failure (Điểm duy nhất của thất bại)
Trong các kiến trúc dự phòng (redundant architectures), các thành phần trùng lặp loại bỏ sự hiện diện của điểm lỗi duy nhất khi chỉ có một thiết bị hoặc một thành phần trong layer. Với một thành phần trong một lớp, chỉ có một lối vào và một lối ra. Một thiết bị thứ hai bổ sung nhiều điểm vào và ra cho thiết kế, loại bỏ điểm lỗi duy nhất liên quan đến single-component layer designs.
Dự phòng so với khả năng phục hồi (Redundancy versus resiliency)
Dự phòng và khả năng phục hồi thường bị nhầm lẫn với nhau. Tuy cả hai đều có liên quan với nhau nhưng chúng không thể hoán đổi cho nhau. Dự phòng có thể hiểu là việc thực hiện để ngăn chặn thất bại, ngụ ý rằng nó sẽ xảy ra trước khi một vấn đề xảy ra. Khả năng phục hồi liên quan đến việc tìm giải pháp sau khi một vấn đề đã xảy ra. Tóm lại, dự phòng là trước khi vấn đề xảy ra, ngược lại phục hồi là sau khi vấn đề xảy ra.
Ví dụ, cơ sở dữ liệu dự phòng với khả năng replication có thể được tận dụng. Nhiều thành phần và bản sao của dữ liệu tạo ra một redundant design. Nếu primary side của cặp cơ sở dữ liệu không thành công, primary side sẽ đẩy mạnh đến primary và bắt đầu nhận tải trong lúc bên failed side tự sửa lỗi. Chức năng failover và self-healing chính là khả năng phục hồi. Cả hai đều có liên quan, nhưng không thể hoán đổi cho nhau.
>> Tham khảo thêm: Failover và Load Balancing - các khái niệm cơ bản
Mở rộng theo chiều ngang (Horizontal scaling)
Trang web XYZ có một máy chủ web duy nhất. Một sự cố lưới điện gần đây đã làm cho công ty phải có những động thái liên quan đến việc xác định ngân sách có sẵn cho các thành phần dự phòng ở mỗi layer của thiết kế hiện tại. Để thêm dự phòng, chúng ta cần phải mở rộng quy mô theo chiều ngang của web server layer bằng cách thêm các máy chủ web bổ sung, loại bỏ một điểm không thành công. Lưu lượng truy cập sẽ được chuyển đến cả hai máy chủ như thế nào? Làm thế nào để các gói tin biết được nên đi đến máy chủ web nào và đường dẫn nào để vào và ra, tất cả được kết nối ra sao?
Cân bằng tải là một thành phần thiết kế chính khi thêm dự phòng vào thiết kế. Một bộ cân bằng tải đơn sẽ giúp phân bổ lưu lượng truy cập trên nhiều máy chủ, nhưng một bộ cân bằng tải đơn lại tạo ra một điểm lỗi khác (single point of failure). Để dự phòng tốt hơn, chúng ta cần thêm hai hoặc nhiều cân bằng tải vào thiết kế.
Cân bằng tải kiểm soát các mẫu lưu lượng truy cập. Có khá nhiều cấu hình thú vị bạn có thể cân nhắc khi quyết định cách kiểm soát và phân phối lưu lượng truy cập. Phân phối có thể liên quan đến loại lưu lượng truy cập, nội dung, mẫu lưu lượng truy cập hoặc khả năng đáp ứng các yêu cầu của máy chủ. Cân bằng tải giúp xử lý lưu lượng hợp lý; lưu lượng truy cập được xử lý như thế nào ở lớp vật lý?
>> Tham khảo thêm: Load balancer là gì? Giải pháp cân bằng tải hoàn hảo cho server
OSI model and layer description
OSI stack là một công cụ tuyệt vời khi làm việc với các thiết kế phức tạp. Mỗi layer trong OSI stack phải được xem xét trong thiết kế và có mục đích nhất định. Thiết kế luôn bắt đầu ở lớp vật lý, làm việc lên stack từ dưới lên trên (Sơ đồ phía dưới). Nhiều bộ cân bằng tải ngày nay hoạt động ở tất cả các lớp của OSI stack. Quay lại câu hỏi: làm thế nào nhiều bộ cân bằng tải được kết nối vật lý với nhiều máy chủ tạo nhiều đường dẫn vào và ra? Nhiều switch cũng có thể được yêu cầu. Ngày nay, nhiều cân bằng tải kết hợp mật độ port của switch, khả năng định tuyến của router và chức năng logic của cân bằng tải, tất cả trong một thiết bị đơn giản hóa thiết kế giúp tiết kiệm chi phí.
>> Tham khảo thêm: Tìm hiểu về mô hình OSI là gì? Các lớp trong mô hình OSI
Web layer và application layers thường có thể được thu gọn vào cùng một máy chủ. Nhưng về khía cạnh bảo mật, nếu máy chủ bị xâm nhập, cả hai dịch vụ này đều có khả năng bị xâm nhập theo. Chúng được tích hợp chặt chẽ và hiệu suất được tăng đáng kể bằng cách sử dụng tốc độ system bus thay vì kết nối mạng chậm hơn và các thiết bị bổ sung.
Từ các single server designs đến single site đến single site redundant, mỗi thiết kế đều được xây dựng dựa trên cái trước đó. Thiết kế dự phòng thu gọn cả web và ứng dụng trên cùng một máy chủ ảo hoặc vật lý. Cân bằng tải được thêm vào thiết kế để ủy quyền tải trên nhiều máy chủ. Máy chủ cơ sở dữ liệu được hiển thị dưới dạng bản sao lưu chính với bản sao giữa chúng. Kiến trúc dự phòng này có thể bảo vệ chống lại các vấn đề với các ứng dụng do hệ thống không có sẵn và downtime. Các cân nhắc về khả năng phục hồi có thể bao gồm cấu hình RAID cho các ổ đĩa cơ sở dữ liệu, cách cơ sở dữ liệu được sao lưu và khôi phục, cách các ứng dụng và thiết bị xử lý thông tin trạng thái và phiên, cách cơ sở dữ liệu xây dựng lại sau khi mất dữ liệu hoặc ổ đĩa.
Logical and physical designs
Designs có thể logical hoặc physical. Các sơ đồ logic minh họa cách mọi thành phần kết hợp với nhau như thế nào trong thiết kế. Loại bỏ một số kết nối vật lý có thể giúp người xem tập trung vào các luồng logic thông qua thiết kế. Ngược lại, layouts vật lý có thể không bao gồm nhiều chi tiết và cấu hình logic để tập trung người xem vào các đặc điểm vật lý và thuộc tính của thiết kế.
Autoscaling architecture
Lợi ích chính của điện toán đám mây là khả năng tiêu thụ những gì cần thiết khi cần thiết. Autoscaling mô tả khả năng mở rộng theo chiều ngang (tức là, tăng hoặc giảm số lượng các máy chủ đang chạy) khi nhu cầu người dùng ứng dụng thay đổi theo thời gian. Autoscaling thường được sử dụng trong các web/app tiers trong các baseline architectures đã được đề cập phía trên. Trong hình dưới đây, một máy chủ bổ sung được thêm tự động dựa trên nhu cầu và ngưỡng cài đặt.
>> Tìm hiểu thêm: Auto scaling là gì? Sử dụng auto scaling đem lại những ích lợi quan trọng gì?
Cân bằng tải phải được cấu hình sẵn hoặc được cấu hình tự động để xử lý các máy chủ mới được thêm vào.
BizFly Cloud Server là hạ tầng máy chủ ảo vận hành hơn 200 website tin tức, báo chí thuộc hệ thống VCCorp, phục vụ hơn 2000 khách hàng trên khắp cả nước. Trong đó có nhiều khách hàng lớn như: Đài truyền hình VTV, Tập đoàn Vingroup, Bệnh viện Thu Cúc, Ahamove, Sapo, Chứng khoán Hà Nội SSI…
Dành cho độc giả quan tâm tới giải pháp máy chủ ảo BizFly Cloud Server có thể truy cập tại: https://bizflycloud.vn/cloud-server