Chương 1. Tổng quan về AWS
Chương này đề cập tới:
Tổng quan về AWS
Lợi ích của AWS
Ứng dụng của AWS
Thiết lập một tài khoản AWS
Ngày nay, hầu hết các giải pháp công nghệ thông tin đều được gán nhãn ‘cloud computing’ (điện toán đám mây) hoặc ngắn gọn là ‘cloud’. Các từ thời thượng kiểu này giúp gia tăng giá trị của giải pháp, và dễ được khách hàng đồng ý triển khai. Tuy nhiên, để tìm hiểu và triển khai được các công nghệ này thì không hề đơn giản. Bởi vậy, để có tính hệ thống, chúng ta sẽ tìm hiểu ý nghĩa của một vài thuật ngữ.
Điện toán đám mây, hay đám mây là một cách nói ẩn dụ về việc cung cấp và sử dụng các tài nguyên thuộc lĩnh vực Công nghệ thông tin. Theo đó, các tài nguyên bị che đi bởi các “đám mây”, đó là các lớp trừu tượng ở giữa, làm cho người dùng không thể nhìn thấy trực tiếp các tài nguyên mà họ sử dụng. Mức độ trừu tượng của đám mây rất đa dạng, từ việc cung cấp máy ảo (MV) đến phần mềm dưới dạng dịch vụ (SaaS) dựa trên các hệ thống phân tán phức tạp. Các tài nguyên luôn ở trạng thái sẵn sàng, để đáp ứng nhu cầu của người dùng với số lượng rất lớn, tuy nhiên, bạn chỉ phải tiền cho những gì bạn sử dụng.
Định nghĩa chính thức của Viện tiêu chuẩn và công nghệ quốc gia Mỹ (NIST):
Điện toán đám mây là:
Một mô hình cho phép truy cập và cấu hình các tài nguyên tính toán dùng chung (như hệ thống mạng, máy ảo, hệ thống lưu trữ, các ứng dụng và các dịch vụ) qua hệ thống mạng
Cho phép sử dụng dịch vụ tùy theo nhu cầu, thuận tiện, mọi lúc, mọi nơi
Khả năng cung cấp dịch vụ và triển khai nhanh chóng, dễ dàng, ít phải tương tác với nhà cung cấp
Điện toán đám mây được chia thành 3 loại:
Public: hệ thống đám mây do một tổ chức quản lý và cho phép cộng đồng sử dụng
Private: hệ thống đám mây bao gồm hạ tầng công nghệ thông tin ảo hóa và phân tán cho một tổ chức
Hybrid: là hệ thống đám mây kết hợp giữa 2 loại public và private
Amazon Web Service (AWS) là một đám mây kiểu public. Sự kết hợp giữa trung tâm dữ liệu bên trong mỗi tổ chức với hệ thống AWS sẽ tạo ra một đám mây kiểu hybrid.
Điện toán đám mây bao gồm các loại dịch vụ sau:
Cơ sở hạ tầng dưới dạng dịch vụ: (IaaS - Infrastructure as a service) cung cấp các tài nguyên hạ tầng như khả năng tính toán, lưu trữ, kết nối mạng, sử dụng các máy ảo như Amazon EC2, Google Compute Engine, Microsoft Azure Virtual Machine.
Hệ thống nền tảng dưới dạng dịch vụ: (PaaS - Platform as a service) cung cấp hệ thống nền tảng để triển khai các ứng dụng người dùng lên đám mây, như AWS Elastic Beanstalk, Google App Engine, và Heroku.
Phần mềm dưới dạng dịch vụ: (SaaS - Software as a service) kết hợp hạ tầng và phần mềm chạy trên đám mây, bao gồm các ứng dụng như Amazon WorkSpaces, Google Apps for Work, và Microsoft 365.
AWS là nhà cung cấp điện toán đám mây với rất nhiều các loại dịch vụ liên quan đến IaaS, PaaS, SaaS.
1.1 Amazon Web Services (AWS) là gì?
Amazon Web Services (AWS) là một nền tảng của dịch vụ web, nó cung cấp các giải pháp cho việc tính toán, lưu trữ và kết nối mạng, ở nhiều mức trừu tượng khác nhau. Ví dụ, ở lớp trừu tượng mức thấp (mức vật lý), bạn có thể gắn các ổ đĩa cứng vào một máy ảo, hoặc ở mức trừu tượng cao (mức ứng dụng), bạn có thể lưu trữ và lấy dữ liệu thông qua một REST API (sử dụng API theo chuẩn REST). Sử dụng các dịch vụ do AWS cung cấp để thiết lập website, chạy các ứng dụng của doanh nghiệp, và khai phá khối dữ liệu khổng lồ. Con người và các hệ máy có thể truy cập dịch vụ web thông qua giao diện đồ họa (UI), hoặc qua Internet bằng các giao thức web thông dụng (như HTTP). Các dịch vụ nổi bật mà AWS đã cung cấp gồm EC2 để tạo máy ảo, S3 để lưu trữ dữ liệu. Các dịch vụ của AWS có thể làm việc hiệu quả với nhau: bạn có thể sử dụng chúng để nhân bản hạ tầng mạng cục bộ đang có hoặc thiết kế từ đầu một hệ thống mới. Bạn trả tiền cho các dịch vụ theo hình thức: dùng bao nhiêu trả tiền bấy nhiêu.
Giả sử bạn là khách hàng của AWS, bạn có thể chọn các trung tâm dữ liệu (data center) của AWS trên phạm vi toàn cầu. Ví dụ, bạn tạo ra một máy ảo ở Nhật như thế nào, thì cũng có thể làm giống vậy để tạo ra máy ảo tại Ireland. Nghĩa là bạn sẽ được phục vụ ở phạm vi toàn cầu.
Bản đồ ở hình 1.1 là các trung tâm dữ liệu của AWS. Mỗi trung tâm dữ liệu sẽ có chính sách truy cập khác nhau; một số trung tâm chỉ cho các tổ chức của chính phủ Mỹ truy cập; một số trung tâm ở Trung Quốc được áp dụng các chính sách riêng; Đã có thêm nhiều trung tâm dữ liệu, vừa được công bố bắt đầu hoạt động ở Canada, Tây Ban Nha, Thụy Sĩ, Israel, Các Tiểu Vương Quốc Arập Thống Nhất, Úc và New Zealand.
Như vậy, chúng ta đã hiểu rõ các thuật ngữ quan trọng, câu hỏi đặt ra là: Bạn có thể làm gì với AWS?
Bạn có thể chạy tất cả các loại ứng dụng trên AWS, bằng cách sử dụng một hoặc kết hợp nhiều dịch vụ với nhau. Các ví dụ trong phần này sẽ cho bạn biết là bạn có thể làm gì với AWS.
1.2.1 Thiết lập một trang thương mại điện tử
John là Giám đốc thông tin (CIO: Chief Information Officer) của một công ty thương mại điện tử tầm trung. Anh ấy muốn xây dựng một trang thương mại điện tử chạy nhanh và tin cậy. Ban đầu, anh ấy đã quyết định đặt trang thương mại điện tử trên máy server ở trong công ty, tuy nhiên, ba năm trước, anh ấy đã thuê các máy chủ của một Trung tâm dữ liệu. Hệ thống gồm: một máy web server để xử lý các yêu cầu của khách hàng, một máy máy lưu trữ thông tin hàng hóa và đơn hàng. John đang đánh giá các ưu điểm của AWS mà công ty của anh ấy có thể tận dụng được, bằng cách chạy đồng thời 2 hệ thống, một ở trong công ty và một ở trên AWS. Xem hình minh họa 1.2.
John không chỉ muốn nâng cấp và di chuyển hạ tầng mạng hiện tại lên AWS mà còn muốn tận dụng hết những ưu điểm mà AWS đang cung cấp. Các dịch vụ đi kèm của AWS còn giúp John có thể hoàn thiện hệ thống hiện thời, cụ thể gồm:
Trang thương mại điện tử bao gồm các nội dung động (như tên, giá các sản phẩm) và các nội dung tĩnh (như logo công ty). Việc chia nội dung web thành 2 loại như vậy giúp giảm tải cho web server và nâng cao hiệu suất của hệ thống bằng cách chuyển các nội dung web tĩnh lên các CDN (content delivery network - mạng phân phối nội dung)
Việc chuyển sang sử dụng các dịch vụ bảo trì trọn gói (maintenance-free services) bao gồm cơ sở dữ liệu, thư mục lưu trữ, và hệ thống DNS đã giúp John có thời gian để quản lý các phần khác của hệ thống, giảm chi phí vận hành và cải tiến chất lượng
Có thể cài đặt nền tảng để chạy trang thương mại điện tử trên nhiều máy ảo. Khi sử dụng AWS, John có thể chạy cùng lượng tài nguyên mà anh ấy đang sử dụng trên máy nội bộ, nhưng chia thành nhiều máy ảo nhỏ hơn mà không mất thêm chi phí. Nếu một trong các máy ảo bị hỏng, hệ thống cân bằng tải (load balancer) sẽ gửi yêu cầu của khách hàng tới các máy ảo còn lại. Thiết lập hệ thống kiểu này giúp nâng cao tính sẵn sàng của trang thương mại điện tử.
Xem hình 1.3 để biết John đã nâng cấp trang thương mại điện tử với AWS như thế nào.
John cảm thấy hài lòng khi chạy trang thương mại điện tử của mình trên AWS. Với việc di chuyển hệ thống hạ tầng của công ty lên đám mây, anh ấy có thể nâng cao độ tin cậy và hiệu suất hoạt động của trang thương mại điện tử.
1.2.2 Chạy ứng dụng Java EE trong mạng nội bộ
Maureen là kỹ sư hệ thống cao cấp trong một tập đoàn đa quốc gia. Trong vài tháng tới, khi hợp đồng với trung tâm dữ liệu kết thúc, cô ấy muốn chuyển một phần các ứng dụng điều hành công ty lên AWS, nhằm giảm chi phí và tăng tính linh hoạt trong vận hành. Cô ấy muốn chạy các ứng dụng doanh nghiệp (như ứng dụng Java EE) gồm một máy server chạy ứng dụng và một máy cơ sở dữ liệu SQL trên AWS. Để làm như vậy, cô ấy cần thiết lập một mạng ảo trên đám mây và kết nối nó với mạng của tập đoàn thông qua kết nối Mạng riêng ảo (VPN: virtual private network). Cô ấy cài các server ứng dụng trên các máy ảo để chạy ứng dụng Java EE. Maureen cũng muốn lưu trữ dữ liệu trong dịch vụ cơ sở dữ liệu SQL (như Oracle Database Enterprise Edition hoặc Microsoft SQL Server EE).
Để bảo mật, Maureen sử dụng kĩ thuật chia mạng con (subnet) để phân tách hệ thống thành các mạng con với các mức bảo mật khác nhau. Bằng việc sử dụng Danh sách kiểm soát truy cập (ACL: access control list), cô ấy có thể kiểm soát lưu lượng vào/ra của mỗi mạng con. Ví dụ, chỉ có các máy trong mạng con “JEE server” mới được phép truy cập cơ sở dữ liệu, điều này giúp bảo vệ các dữ liệu quan trọng. Maureen kiểm soát lưu lượng truy cập Internet bằng kỹ thuật NAT và các luật của tường lửa.
Hình 1.4 minh họa kiến trúc mạng của Maureen.
Maureen đã thực hiện được việc kết nối giữa trung tâm dữ liệu nội bộ với mạng riêng đang chạy trên AWS để khách hàng có thể truy cập JEE server. Bước đầu, Maureen sử dụng VPN để kết nối trung tâm dữ liệu nội bộ với AWS, tuy nhiên, cô ấy cũng đã tính tới việc thiết lập một đường kết nối mạng chuyên dụng để giảm chi phí và tăng thông lượng mạng trong tương lai.
Dự án này là một thành công lớn đối với Maureen. Cô ấy đã rút ngắn thời gian để cài đặt hệ thống ứng dụng của doanh nghiệp từ vài tháng thành vài giờ, vì AWS có thể quản lý các máy ảo, cơ sở dữ liệu và thậm chí cả cơ sở hạ tầng mạng theo yêu cầu trong vòng vài phút. Dự án của Maureen cũng được hưởng lợi vì chi phí cho cơ sở hạ tầng trên AWS thấp hơn so với việc sử dụng hệ thống nội bộ tự xây dựng.
-----
Nhóm đóng góp cho bài viết: Lê Gia Công - Nguyễn Bảo Lâm - Nguyễn Thành Long - Nguyễn Lê Thanh Tỉnh - Trần Thị Ngọc Ánh - Đặng Phương Tây - Phạm Thanh Sơn - Đinh Xuân Việt - Đoàn Cao Nhật Hạ - Lâm Ngọc Yến - Vũ Quang Thanh - Nguyễn Vũ Thịnh
-----
Cập nhật: 29/12/2023