Cloud Computing nhập môn

1. Cloud computing là gì?

Điện toán đám mây (Cloud Computing) là một thuật ngữ thường được sử dụng để mô tả các trung tâm dữ liệu khổng lồ dành cho số lượng lớn người dùng và tổ chức với quy mô kinh tế lớn, khả năng mở rộng cao và lượng dự phòng kỹ thuật lớn. Ngoài ra, thuật ngữ điện toán đám mây thường được sử dụng để mô tả việc sử dụng tài nguyên máy tính được phân phối qua Internet. Thuật ngữ đám mây xuất phát từ việc sử dụng biểu tượng hình đám mây thể hiện sự trừu tượng của cơ sở hạ tầng khá phức tạp cho phép xử lý các dịch vụ phần mềm, phần cứng, điện toán và lưu trữ dữ liệu.

Chúng ta có thể hiểu Cloud Computing một cách ngắn gọn như sau: Cloud Computing là mô hình cho phép người dùng truy cập vào các tài nguyên thông qua internet (cloud), và trả theo mức sử dụng.

2. Bài toán cloud computing giải quyết

Trước đây, nếu bạn muốn tạo một ứng dụng và muốn deploy nó lên web, bạn sẽ cần mua một máy chủ (server) vật lý. Điều này là cần thiết để chạy các trang web của bạn trên mạng toàn cầu, để khi ai đó truy cập trang web của bạn từ máy tính của họ bằng trình duyệt (máy khách), request có thể được gửi đến server của bạn và trả lại trang web cho người dùng. Tuy nhiên, việc mua những server này rất tốn kém và không hiệu quả, vì chẳng hạn, nếu bạn chỉ cần sức mạnh tính toán do một server rưỡi cung cấp, thì bạn vẫn cần mua hai server. Những chi phí này cực kỳ tốn kém, và cloud computing được tạo ra để giải quyết vấn đề này. Cloud computing cho phép người dùng trả phí theo mức sử dụng.

Bên cạnh bài toán về chi phí, cloud computing còn giúp cho doanh nghiệp có thể giải quyết những vấn đề khác, ví dụ như:

Phải tập trung nhiều cho các vấn đề IT, cơ sở hạ tầng: Với cloud computing, các doanh nghiệp có thể tập trung vào việc kinh doanh, không cần phải quan tâm quá nhiều tới các vấn đề của phần cứng, hay là việc cài đặt, những loại trách nhiệm này sẽ được chuyển sang cho nhà cung cấp dịch vụ cloud computing.

Hạn chế trong việc truy cập vào các tài nguyên: Tính di động và kết nối liên tục là mong muốn của hầu hết người dùng hiện nay. Công nghệ cloud computing cho phép người dùng có thể sử dụng đám mây ở bất cứ đâu, miễn là bạn có Internet và có thiết bị truy cập internet. Người dùng có thể truy cập và sử dụng, quản lý các tài nguyên từ PC, máy tính bảng, điện thoại thông minh,… điều này cũng giúp cho việc phát hiện, xử lý các vấn đề nếu có được nhanh chóng, kịp thời hơn, vì không cần thiết phải tới văn phòng công ty để truy cập vào các máy chủ vật lý.

Các công nghệ bị lỗi thời: Trước đây, có thể do ngân sách và nguồn lực, mà các doanh nghiệp, người dùng vẫn phải chấp nhận việc sử dụng các công nghệ lạc hậu. Khi làm việc với cloud computing, người dùng sẽ nhận được cập nhật tự động. Điều này cho phép doanh nghiệp luôn có thể sử dụng các công nghệ mới và hiện đại.

Business continuity (tính liên tục trong kinh doanh) kém: Tính liên tục trong kinh doanh là một vấn đề vô cùng quan trọng đối với các doanh nghiệp. Các vấn đề tồi tệ có thể xảy ra bất cứ lúc nào, từ thiên tai đến mất điện. Để có thể xây dựng được nhiều data center ở các nơi khác nhau nhằm hạn chế các ảnh hưởng từ những vấn đề này là một điều không dễ dàng với rất nhiều doanh nghiệp. Khi sử dụng cloud computing, các dữ liệu kinh doanh được bảo vệ và có thể sao lưu liên tục giữa các data center của nhà cung cấp. Khi các vấn đề xảy ra trên 1 khu vực địa lý, bạn vẫn có thể truy cập dữ liệu của mình lại một cách nhanh trong từ các vị trí tạm thời và các thiết bị tạm thời. Điều này sẽ giúp các doanh nghiệp tránh được các rủi ro từ việc gián đoạn trong kinh doanh.

Mất nhiều thời gian để xây dựng các tài nguyên mới: Với cloud computing, thật dễ dàng để thiết lập và chạy các giải pháp mới. Chỉ cần những cú click chuột, nhà cung cấp dịch vụ có thể thiết lập cho người dùng các tài nguyên ngay lập tức. Điều này làm giảm thời gian cần thiết để có được tài nguyên mới và mang lại năng suất cao hơn, hiệu quả kinh doanh cũng có thể được cải thiện.

Cứng nhắc trong việc thiết lập công suất cần thiết: Theo truyền thống, các doanh nghiệp phải phán đoán công suất họ cần. Việc này dẫn đến sự cứng nhắc và không hiệu quả trong việc thiết lập công suất cần thiết. Cloud computing cho phép người dùng mở rộng hoặc thu hẹp dựa trên nhu cầu – đây là một sức hút lớn đối với hầu hết các doanh nghiệp.

3. Câu chuyện của cloud computing

Sự khởi đầu khiêm tốn của đám mây

Bạn có thể sẽ ngạc nhiên khi biết rằng ý tưởng về “điện toán đám mây” thời hiện đại đã có từ những năm 1950, khi các máy tính lớn quy mô lớn được cung cấp cho các trường học và tập đoàn. Cơ sở hạ tầng phần cứng khổng lồ của máy tính lớn (mainframe) được lắp đặt trong cái có thể được gọi là “phòng máy chủ” (vì phòng thường chỉ có thể chứa một máy tính lớn duy nhất). Nhiều người dùng có thể truy mainframe lớn thông qua “dumb terminals”—các trạm có chức năng duy nhất là để truy cập vào mainframe.

Có thể nói khởi đầu của cloud computing là việc cho phép nhiều người dùng chia sẻ quyền truy cập vào cùng một lớp lưu trữ dữ liệu(storage layer) và nguồn CPU. Do chi phí mua và bảo trì mainframe cao, nhiều tổ chức không thể mua cho mỗi người dùng một mainframe được. Do đó, việc chia sẻ mainframe và cho phép truy cập từ bất kỳ trạm nào đã trở thành thông lệ. Việc chia sẻ giúp cho một tổ chức sẽ nhận được lợi tức đầu tư tốt hơn vào phần công nghệ phức tạp này.

Công nghệ ảo hóa (Virtualization) đã thay đổi tất cả

Hai mươi năm sau, vào những năm 1970, IBM đã phát hành một hệ điều hành có tên là VM cho phép quản trị viên trên các hệ thống mainframe System/370 của họ có nhiều hệ thống ảo hoặc “máy ảo (VM)” trên một node vật lý duy nhất. Hệ điều hành VM đã đưa việc chia sẻ quyền truy cập của mainframe của những năm 1950 lên một tầm cao mới bằng cách cho phép nhiều môi trường điện toán riêng biệt cùng tồn tại trong cùng một môi trường vật lý.

Hầu hết các chức năng cơ bản của bất kỳ phần mềm ảo hóa nào mà bạn thấy ngày nay đều có thể bắt nguồn từ hệ điều hành VM đời đầu này. Mỗi máy ảo đều chạy các hệ điều hành tùy chỉnh (custom operating systems) hoặc hệ điều hành khách (guest operating systems) có bộ nhớ, CPU và ổ cứng riêng – mặc dù thực tế là các tài nguyên đó đã được chia sẻ. Virtualization đã trở thành động lực công nghệ và là chất xúc tác cho một số bước phát triển lớn nhất trong lĩnh vực truyền thông và điện toán.

Vào những năm 1990, các công ty viễn thông trước đây chỉ cung cấp các kết nối dữ liệu điểm-điểm chuyên dụng duy nhất đã bắt đầu cung cấp các kết nối mạng riêng ảo hóa (virtualized private network connections) – với chất lượng dịch vụ tương tự như các dịch vụ chuyên dụng nhưng chi phí thì đã giảm đi rất nhiều. Thay vì xây dựng cơ sở hạ tầng vật lý để cho phép nhiều người dùng có kết nối riêng, các công ty viễn thông đã cung cấp cho người dùng quyền truy cập chung vào cùng một cơ sở hạ tầng vật lý. Thay đổi này cho phép các công ty viễn thông thay đổi lưu lượng khi cần thiết, dẫn đến cân bằng mạng tốt hơn và kiểm soát nhiều hơn việc sử dụng băng thông.

Khi ảo hóa gặp Internet

Khi Internet trở nên dễ tiếp cận hơn, bước tiếp theo là thực hiện ảo hóa trực tuyến. Nếu bạn đang ở trong thị trường để mua máy chủ cách đây 10 hoặc 20 năm, bạn sẽ biết rằng chi phí của phần cứng vật lý – mặc dù không ở cùng mức với các mainframe của những năm 1950 – là khá cao. Ngày càng có nhiều người bày tỏ nhu cầu được trực tuyến, chính virtualization đã đưa điều này trở thành hiện thực.

Máy chủ được ảo hóa thành môi trường lưu trữ chia sẻ (shared hosting environments), máy chủ riêng ảo (virtual private servers) và máy chủ ảo chuyên dụng (virtual sedicated dervers) sử dụng cùng loại chức năng do VM OS cung cấp vào những năm 1950.

Điều này trông như thế nào trong thực tế? Giả sử công ty của bạn yêu cầu 13 hệ thống vật lý để chạy các trang web và ứng dụng của bạn. Với ảo hóa, bạn có thể lấy 13 hệ thống riêng biệt đó và chia chúng thành hai node vật lý. Rõ ràng, loại môi trường này giúp tiết kiệm chi phí cơ sở hạ tầng và giảm thiểu số lượng phần cứng thực tế mà bạn cần để đáp ứng nhu cầu của công ty mình.

Khi chi phí phần cứng máy chủ dần giảm xuống, nhiều người dùng có thể đủ khả năng mua máy chủ chuyên dụng của riêng họ. Nhưng họ gặp phải một vấn đề khác: Một máy chủ không đủ để cung cấp các tài nguyên cần thiết. Thị trường chuyển từ mong muốn “Những máy chủ này đắt tiền; hãy chia chúng ra” thành “Những máy chủ này rẻ; hãy tìm ra cách kết hợp chúng”. Do sự thay đổi đó, sự hiểu biết cơ bản nhất về “điện toán đám mây” đã ra đời.

Và Cloud Computing đã được sinh ra

Bằng cách cài đặt và định cấu hình một phần mềm được gọi là trình ảo hóa (hypervisor) trên nhiều node vật lý, một hệ thống sẽ đại diện cho toàn bộ tài nguyên của môi trường như thể những tài nguyên đó nằm trong một node vật lý duy nhất.

Để hình dung môi trường đó, các nhà công nghệ đã sử dụng các thuật ngữ như “điện toán tiện ích” (utility computing) và “điện toán đám mây” (cloud computing), vì tổng của các bộ phận dường như là một khối tài nguyên máy tính ảo mà bạn có thể phân chia khi cần (giống như các công ty viễn thông đã làm trong những năm 1990). Trong các môi trường điện toán đám mây này, việc thêm tài nguyên vào “đám mây” thật dễ dàng—thêm một server vào rack và và cấu hình để nó trở thành một phần của hệ thống lớn hơn.

Khi công nghệ phát triển, các hypervisors được cải thiện và phân phối tài nguyên một cách đáng tin cậy, nhiều công ty đã quyết định tạo ra môi trường lớn hơn. Họ muốn cung cấp các lợi ích của đám mây cho những người dùng không có sẵn nhiều máy chủ vật lý để tạo cơ sở hạ tầng điện toán đám mây của riêng họ. Những người dùng đó có thể đặt hàng “cloud computing instances” (còn được gọi là “cloud servers”) bằng cách đặt mua các tài nguyên họ cần từ nhóm có sẵn tài nguyên đám mây hơn. Vì các server đã trực tuyến nên quá trình khởi tạo một một instance gần như diễn ra ngay lập tức. Do các chi phí hoạt động ít hơn khi một instance được đặt hàng hoặc hủy bỏ (vì nó được xử lý bởi phần mềm), nên việc quản lý môi trường dễ dàng hơn nhiều.

4. Các đặc điểm cơ bản của môi trường đám mây

Theo NIST (https://www.nist.gov/), để trở thành môi trường cloud hoàn trình, thì môi trường đó cần phải có 5 đặc điểm cơ bản:

On-demand self-service (Người dùng tự cấu hình dịch vụ theo yêu cầu):

Các tài nguyên được cung cấp theo nhu cầu của người dùng và nó phải được thực hiện với rất ít hoặc không có sự can thiệp của nhà cung cấp dịch vụ.

Broad network access (Truy cập mọi lúc, mọi nơi):

Người dùng có thể truy cập môi trường cloud computing và làm việc ở bất cứ nơi đâu và thời gian nào mà không bắt buộc tới văn phòng, đăng nhập vào máy chủ vật lý của công ty.

Resource pooling (Hồ chứa tài nguyên):

Các nhà cung cấp dịch vụ cloud computing sẽ có các trung tâm dữ liệu với cơ sở hạ tầng hiện đại, nhằm đáp ứng nhu cầu sử dụng đa dạng của người dùng.

Measured service (Dịch vụ được đo lường):

Dịch vụ cloud có hệ thống ghi và báo cáo lưu lượng sử dụng của khách hàng. Nhờ đó, khách hàng có thể biết chính xác lưu lượng tài nguyên mình đã sử dụng để thanh toán và điều chỉnh thiết bị sử dụng.

Rapid elasticity or expansion (Co giãn nhanh chóng):

Dịch vụ cloud cho phép người dùng chủ động nâng cấp hoặc giảm lượng tài nguyên cần sử dụng theo nhu cầu của mình theo từng thời điểm.

5. Các lợi ích của cloud computing

Mang đến sự linh hoạt cho người dùng

Cloud computing cho phép người dùng có thể truy cập để làm việc mọi lúc mọi nơi. Bên cạnh đó, người dùng có thể chủ động nâng cấp/giảm tài nguyên hoặc lựa chọn dịch vụ phù hợp với nhu cầu của mình.

Khả năng tự phục hồi sau sự cố

Mô hình cloud computing có cơ chế dự phòng sao lưu thường xuyên trên mạng Internet. Nhờ đó, người dùng không phải lo lắng các dữ liệu quan trọng bị mất đi khi gặp các sự cố trong quá trình sử dụng.

Chia sẻ dữ liệu

Cloud computing cho phép chia sẻ dữ liệu qua mạng Internet. Nhờ đó, những người dùng ở bất cứ nơi nào trên thế giới có thể truy cập vào dữ liệu được chia sẻ và sử dụng.

Tiết kiệm chi phí

Người dùng sẽ tiết kiệm được chi phí khi sử dụng máy chủ ảo đám mây vì họ chỉ phải trả tiền cho các dịch vụ và nhu cầu sử dụng của mình.

Thêm nữa, người dùng không phải tốn chi phí mua thiết bị, lắp đặt, vận hành và bảo trì như máy chủ vật lý, hay trả tiền cấu hình như với máy chủ ảo (VPS).

Đảm bảo an toàn, liên tục và tính bảo mật cao

Những đơn vị cung cấp dịch vụ máy chủ ảo uy tín sẽ có những trung tâm dữ liệu lớn, nơi có hệ thống máy chủ vật lý hiện đại. Cơ sở hạ tầng như điện, cáp quang, hệ thống phòng cháy chữa cháy luôn sẵn sàng để đảm bảo không gây ra các gián đoạn cho người dùng.

Thêm nữa, điện toán đám mây được thiết kế bởi nhiều lớp bảo mật nên đảm bảo được tính bảo mật cao.

6. Các mô hình dịch vụ cloud

Infrastructure as a Service (IaaS)

IaaS là một dạng điện toán đám mây cung cấp các tài nguyên điện toán, mạng và lưu trữ cơ bản cho người tiêu dùng theo yêu cầu, qua internet và trả tiền theo phương thức pay-as-you-go.
IaaS cho phép người dùng mở rộng và thu hẹp tài nguyên khi cần, giảm thiểu các chi phí vốn trả trước (up-front capital expenditures) cao hoặc phải sở hữu các hạ tầng không cần thiết, đặc biệt trong trường hợp khối lượng công việc “tăng đột biến”.

IaaS cung cấp khả năng kiểm soát tài nguyên ở mức thấp nhất trong cloud.

IaaS nổi lên như một mô hình điện toán phổ biến vào đầu những năm 2010 và kể từ thời điểm đó, nó đã trở thành mô hình trừu tượng tiêu chuẩn (standard abstraction mode) cho nhiều loại khối lượng công việc. Tuy nhiên, với sự ra đời của các công nghệ mới, chẳng hạn như container và serverless, cũng như sự gia tăng của microservices, IaaS vẫn là mô hình phổ biến hơn hết.

IaaS được tạo thành từ một tập hợp các tài nguyên vật lý và ảo hóa cung cấp cho người tiêu dùng các khối xây dựng (building blocks) cơ bản cần thiết để chạy các ứng dụng và workload trên cloud:

  • Data center vật lý: Các nhà cung cấp IaaS sẽ quản lý các trung tâm dữ liệu lớn trên khắp thế giới, chứa các máy vật lý cần thiết để cung cấp năng lượng cho các lớp trừu tượng (layers of abstraction) khác nhau ở trên chúng và cung cấp cho người dùng cuối trên web. Trong hầu hết các mô hình IaaS, người dùng cuối không tương tác trực tiếp với cơ sở hạ tầng vật lý, nhưng nó được cung cấp dưới dạng dịch vụ cho họ.
  • Compute: IaaS thường được hiểu là tài nguyên điện toán được ảo hóa. Các nhà cung cấp quản lý các trình ảo hóa và người dùng cuối sau đó có thể provision các “instance” ảo theo chương trình với lượng compute và memory mong muốn. Hầu hết các nhà cung cấp cung cấp cả CPU và GPU cho các loại khối lượng công việc khác nhau. Cloud compute cũng thường đi kèm với các dịch vụ hỗ trợ như tự động thay đổi quy mô (auto scaling) và cân bằng tải (load balancing).
  • Network: Kết nối mạng trên đám mây là một dạng Software Defined Networking, trong đó phần cứng mạng truyền thống, chẳng hạn như bộ định tuyến (routers) và bộ chuyển mạch (switches), được cung cấp programmatically, thường thông qua API.
  • Storage: Ba loại lưu trữ đám mây chính là block storage, file storage và object storage. Object storage là phương pháp tốt nhất khi lưu trữ các dữ liệu static. Block và file storage phổ biến trong các trung tâm dữ liệu truyền thống nhưng thường có thể gặp khó khăn với quy mô, hiệu suất và đặc điểm phân tán của đám mây. Vấn đề chính mà object storage cố gắng giải quyết là khả năng mở rộng. Chúng ta có thể thấy sự tăng trưởng bùng nổ về dữ liệu hiện nay. Tốc độ chúng ta tạo dữ liệu không ngừng tăng lên. Thêm vào đó, các ứng dụng cloud native đang ngày càng phát triển và scaling là nhu cầu tất yếu. Do đó, mặc dù không thể thay thế hoàn toàn cho block và file storage, nhưng trong số ba, object storage đang dần trở thành phương thức lưu trữ phổ biến nhất trên đám mây, có một số ý kiến còn cho rằng object storage là giải pháp lưu trữ tốt nhất cho các ứng dụng cloud native (devops.com/why-object-storage-is-best-for-c..)

Đối với nhiều người dùng cuối, đặc biệt là các công ty có dữ liệu nhạy cảm hoặc yêu cầu cần tuân thủ nghiêm ngặt, họ mong đợi việc tăng cường bảo mật và quyền riêng tư trong public cloud. Virtual private cloud (VPC) có thể là một cách để tạo ra sự cô lập bổ sung cho các tài nguyên cơ sở hạ tầng đám mây mà không làm giảm tốc độ, quy mô hoặc chức năng. VPC cho phép người dùng cuối tạo mạng riêng cho một đối tượng thuê (tenants) trong public cloud. Chúng cung cấp cho người dùng quyền kiểm soát việc tạo các subnet, lựa chọn dải địa chỉ IP, tường lửa ảo (virtual firewalls), security groups, network ACLs, site-to-site virtual private networks (VPNs) và load balancing.

Có nhiều lý do để người dùng lựa chọn IaaS cho việc phát triển workloads, chẳng hạn như:

  • Pay-as-you-go: Không giống như CNTT truyền thống, IaaS không yêu cầu bất kỳ chi phí vốn trả trước (upfront, capital expenditures) nào và người dùng cuối chỉ bị tính phí cho những gì họ sử dụng.

  • Tốc độ: Với IaaS, người dùng có thể provision lượng tài nguyên nhỏ hoặc lớn chỉ trong vài phút, thử nghiệm ý tưởng mới một cách nhanh chóng hoặc nhân rộng những ý tưởng đã được chứng minh nhanh hơn.

  • Tính khả dụng: Thông qua những thứ như multizone regions, tính khả dụng và khả năng phục hồi của các ứng dụng đám mây có thể vượt xa các phương pháp truyền thống.

  • Scale: Với khả năng tự động thay đổi quy mô tài nguyên, thật đơn giản để chuyển từ một instance của application hoặc workloads sang nhiều instance.

  • Độ trễ và hiệu suất*:* Với phạm vi địa lý rộng lớn của hầu hết các nhà cung cấp IaaS, thật dễ dàng để đưa các ứng dụng và dịch vụ đến gần người dùng hơn, giảm độ trễ và cải thiện hiệu suất.

IaaS được sử dụng phổ biến nhất cho các workload customer-facing websites và web applications, data storage, phân tích, data warehousing, backup và recovery cho các on – prem workloads. IaaS cũng phù hợp để triển khai và chạy các ứng dụng và phần mềm kinh doanh phổ biến, chẳng hạn như SAP.

IaaS vs. containers vs. serverless

IaaS trừu tượng hóa nhiều thành phần cấp thấp để nhà phát triển có thể tập trung vào logic nghiệp của doanh nghiệp, nhưng nó vẫn yêu cầu người dùng cuối quản lý hệ điều hành, phần mềm trung gian và thời gian chạy.

IaaS thường sử dụng nhiều tài nguyên và hiệu quả hơn về mặt tài chính so với điện toán truyền thống, nhưng việc tạo ra một máy ảo vẫn có thể hơi tốn thời gian và mỗi máy ảo đều mang theo chi phí hoạt động dưới dạng hệ điều hành.

Container và serverless là hai mô hình đám mây mới hơn đang thách thức mô hình IaaS truyền thống để giành ưu thế đối với một số class và workload của các ứng dụng cloud native.

Serverless tiến xa nhất so với bất kỳ mô hình nào, trừu tượng hóa gần như mọi thứ trừ business logic, mở rộng quy mô một cách hoàn hảo theo nhu cầu và thực sự đúng là pay-as-you-go.

Khi thế giới hướng nhiều hơn đến các kiến trúc microservices —nơi các ứng dụng được phân tách thành các phần nhỏ, được triển khai độc lập, quản lý dữ liệu của riêng chúng và giao tiếp qua API — serverless và container ngày càng trở nên phổ biến hơn.

Ngày nay, IaaS truyền thống, cho đến nay là mô hình điện toán trưởng thành nhất trên đám mây và kiểm soát phần lớn thị phần trong không gian này, nhưng container và serverless những công nghệ ưu tiên được sử dụng khi nó hợp lý.

Ví dụ IaaS: Amazon Web Services, Google Cloud,…

Platform as a Service (PaaS)

PaaS cung cấp nền tảng dựa trên đám mây (cloud-based platform) để phát triển, chạy, quản lý ứng dụng. Các nhà cung cấp dịch vụ host, quản lý và duy trì tất cả phần cứng và phần mềm có trong nền tảng, lưu trữ, kết nối mạng, cơ sở dữ liệu, middleware, runtimes, frameworks, công cụ phát triển – cũng như các dịch vụ liên quan để bảo mật, nâng cấp hệ điều hành và phần mềm, sao lưu, v.v.

Người dùng truy cập PaaS thông qua giao diện người dùng đồ họa (GUI), các team dev hoặc DevOps có thể cộng tác (collaborate) trong toàn bộ vòng đời của ứng dụng bao gồm coding, integration, testing, delivery, deployment, và feedback.

Lợi ích chính của PaaS là nó cho phép khách hàng xây dựng, thử nghiệm, triển khai chạy, cập nhật và thay đổi quy mô ứng dụng nhanh hơn và tiết kiệm chi phí hơn so với nếu họ phải xây dựng và quản lý nền tảng on – premises. Các lợi ích khác bao gồm:

  • Thời gian đưa sản phẩm ra thị trường nhanh hơn: PaaS cho phép các nhóm phát triển cải tiến môi trường phát triển, thử nghiệm và sản xuất trong vài phút, so với vài tuần hoặc vài tháng.

  • Thử nghiệm và áp dụng các công nghệ mới với ít rủi ro hơn: Các nền tảng PaaS thường bao gồm quyền truy cập vào nhiều loại tài nguyên mới nhất của application stack. Điều này cho phép các công ty thử nghiệm các hệ điều hành, ngôn ngữ và các công cụ khác mà không cần phải đầu nhiều vào cơ sở hạ tầng cần thiết để chạy chúng.

  • Đơn giản hóa việc hợp tác (collaboration): Là một dịch vụ dựa trên đám mây, PaaS cung cấp môi trường phát triển phần mềm dùng chung, cho phép các nhóm phát triển và vận hành truy cập vào tất cả các công cụ họ cần, từ mọi nơi có kết nối Internet.

  • Có thể mở rộng hơn: Với PaaS, các tổ chức có thể mua thêm dung lượng để xây dựng, thử nghiệm, dàn dựng và chạy các ứng dụng bất cứ khi nào họ cần.

  • Ít phải quản lý hơn: PaaS giảm tải việc quản lý cơ sở hạ tầng, các bản vá, cập nhật và các tác vụ quản trị khác cho nhà cung cấp dịch vụ đám mây.

PaaS có thể được sử dụng trong các trường hợp như:

  • Quản lý và phát triển API: Với các built-in frameworks, PaaS giúp các nhóm phát triển, chạy, quản lý và bảo mật API dễ dàng hơn để chia sẻ dữ liệu và chức năng giữa các ứng dụng.

  • Internet of Things (IoT): PaaS hỗ trợ nhiều ngôn ngữ lập trình (Java, Python, Swift, v.v.), các công cụ và môi trường ứng dụng được sử dụng để phát triển ứng dụng IoT và xử lý dữ liệu theo thời gian thực từ các thiết bị IoT.

  • Agile development và DevOps: Các giải pháp PaaS thường bao gồm tất cả các yêu cầu của chuỗi công cụ DevOps và cung cấp khả năng tự động hóa tích hợp để hỗ trợ CI/CD.

  • Cloud-native development và chiến lược hybrid cloud: Các giải pháp PaaS hỗ trợ các công nghệ phát triển dựa trên đám mây – microservices, containers, Kubernetes, serverless – cho phép các nhà phát triển xây dựng một lần, sau đó triển khai và quản lý nhất quán trên các môi trường private cloud, public cloud và on-premises.

Ví dụ về PaaS: AWS Elastic Beanstalk, Google App Engine, Microsoft Windows Azure,…

Software as a Service (SaaS)

SaaS (đôi khi được gọi là cloud application services) là phần mềm ứng dụng sẵn sàng sử dụng được host trên cloud. Người dùng trả phí hàng tháng hoặc hàng năm để sử dụng một ứng dụng hoàn chỉnh từ web browser, desktop client hay mobile app. Ứng dụng và tất cả cơ sở hạ tầng cần thiết để cung cấp ứng dụng đó – máy chủ, storage, mạng, middleware, phần mềm ứng dụng, data storage – đều do nhà cung cấp SaaS quản lý.

Nhà cung cấp quản lý tất cả các bản nâng cấp và bản vá cho phần mềm. Thông thường, nhà cung cấp đảm bảo mức độ khả dụng, hiệu suất và bảo mật như một phần của thỏa thuận cấp độ dịch vụ (SLA). Khách hàng có thể thêm nhiều người dùng và lưu trữ dữ liệu theo yêu cầu với chi phí bổ sung.

Ngày nay, có rất nhiều ứng dụng productivity được cung cấp dưới dạng SaaS. SaaS cung cấp giải pháp thay thế đơn giản hơn, có thể mở rộng hơn và tiết kiệm chi phí hơn đáng kể so với on-premises software.

Lợi ích chính của SaaS là người dùng không cần quan tâm đến việc quản lý cơ sở hạn tầng hay update ứng dụng, tất cả những gì người dùng phải làm là tạo một tài khoản, trả phí và bắt đầu sử dụng. Nhà cung cấp xử lý mọi thứ khác, từ bảo trì phần cứng và phần mềm máy chủ đến quản lý quyền truy cập và bảo mật của người dùng, lưu trữ và quản lý dữ liệu, triển khai nâng cấp và vá lỗi, v.v.

Các lợi ích khác của SaaS bao gồm:

  • Rủi ro tối thiểu: Nhiều sản phẩm SaaS cung cấp thời gian dùng thử miễn phí hoặc phí hàng tháng thấp cho phép khách hàng dùng thử phần mềm để xem liệu phần mềm có đáp ứng nhu cầu của họ hay không với ít hoặc không có rủi ro tài chính.

  • Năng suất mọi lúc/mọi nơi: Người dùng có thể làm việc với các ứng dụng SaaS trên mọi thiết bị có trình duyệt và kết nối internet.

  • Khả năng mở rộng dễ dàng: Thêm người dùng đơn giản như đăng ký và thanh toán cho chỗ ngồi mới; khách hàng có thể mua thêm bộ nhớ dữ liệu với bằng cách trả thêm 1 khoản phí.

Một số nhà cung cấp SaaS thậm chí còn cho phép tùy chỉnh sản phẩm của họ bằng cách cung cấp giải pháp PaaS đồng hành. Một ví dụ nổi tiếng là Heroku, một giải pháp PaaS cho Salesforce.

SaaS vs. PaaS vs. IaaS: quản lý dễ dàng vs kiểm soát

SaaS, Paas, IaaS không loại trừ lẫn nhau; hầu hết các tổ chức sử dụng nhiều hơn một giải pháp và nhiều tổ chức lớn hơn ngày nay sử dụng cả ba, thường kết hợp với IT truyền thống.

Rõ ràng, giải pháp as-a-service mà khách hàng chọn trước hết phụ thuộc vào chức năng mà khách hàng yêu cầu và chuyên môn của đội ngũ nhân viên. Ví dụ: một tổ chức không có chuyên môn CNTT nội bộ để định cấu hình và vận hành các máy chủ từ xa sẽ không phù hợp với IaaS; một tổ chức không có nhóm phát triển thì không cần PaaS.

Nhưng trong một số trường hợp, bất kỳ mô hình nào trong ba mô hình as-a-service cũng sẽ là giải pháp khả thi. Trong những trường hợp này, các tổ chức thường so sánh các giải pháp dựa trên sự dễ dàng quản lý mà các giải pháp cung cấp, so với sự kiểm soát mà họ từ bỏ.

Ví dụ: giả sử một tổ chức lớn muốn cung cấp ứng dụng quản lý quan hệ khách hàng (CRM) cho nhóm bán hàng của mình. Nó có thể:

  • Chọn một giải pháp SaaS CRM, giảm tải toàn bộ công việc quản lý hàng ngày cho nhà cung cấp bên thứ ba, nhưng cũng từ bỏ mọi quyền kiểm soát đối với các tính năng và chức năng, lưu trữ dữ liệu, quyền truy cập của người dùng và bảo mật.

  • Chọn giải pháp PaaS và xây dựng ứng dụng CRM tùy chỉnh. Trong trường hợp này, công ty sẽ chuyển trách nhiệm quản lý cơ sở hạ tầng và tài nguyên phát triển ứng dụng cho nhà cung cấp dịch vụ đám mây. Khách hàng sẽ giữ quyền kiểm soát hoàn toàn đối với các tính năng của ứng dụng, nhưng họ cũng sẽ chịu trách nhiệm quản lý ứng dụng và dữ liệu liên quan.

  • Xây dựng cơ sở hạ tầng IT trên đám mây bằng cách sử dụng IaaS và sử dụng nó để xây dựng nền tảng và ứng dụng phát triển của riêng mình. Nhóm IT của tổ chức sẽ có toàn quyền kiểm soát hệ điều hành và cấu hình máy chủ, nhưng cũng chịu trách nhiệm quản lý và bảo trì chúng, cùng với nền tảng phát triển và ứng dụng chạy trên chúng.

7. Các mô hình triển khai dịch vụ cloud

Public Cloud

Public Cloud là hạ tầng điện toán được dùng cho tất cả các khách hàng trên hạ tầng dùng chung của nhà cung cấp dịch vụ. Dữ liệu các mỗi đối tượng thuê cloud ( cloud tenant) được tách biệt một các logic với nhau.

Những lo ngại về bảo mật từng là trở ngại số một đối với các tổ chức khi xem xét sử dụng public cloud. Do đó, public cloud được nhận định rằng phù hợp với các tổ chức nhỏ và vừa, các yêu cầu về bảo mật không quá cao.

Với sự phổ biến của container – có thể tăng cường bảo mật đáng kể trong các kiến trúc cloud native – và các dịch vụ public cloud ngày càng chú trọng hơn về bảo mật, tuân thủ các tiêu chuẩn và quy định của ngành được nhà cung cấp chứng nhận, độ bảo mật của public cloud đã có thể tiệm cận với các môi trường hạ tầng on – premises, các doanh nghiệp lớn ngày nay đã ứng dụng public cloud vào việc kinh doanh của mình nhiều hơn. Theo nhà cung cấp phần mềm bảo mật McAfee, ngày nay 52% công ty trải nghiệm bảo mật trên đám mây tốt hơn so với tại chỗ. (businesswire.com/news/home/20190617005945/e..)

Private Cloud

Phục vụ cho các doanh nghiệp, cá nhân có nhu cầu sử dụng máy chủ ảo đám mây riêng, không chia sẻ với người ngoài.

Mô hình này được cho là phù hợp với những doanh nghiệp lớn vì họ có nhu cầu sử dụng máy chủ nhiều và muốn đảm bảo tính bảo mật cao.

Thông thường, private cloud được vận hành ở on – premises, đằng sau tường lửa của công ty khách hàng, nhưng nó cũng có thể được lưu trữ trên cơ sở hạ tầng của nhà cung cấp đám mây chuyên dụng hoặc bên thứ ba. Trong cả hai trường hợp, công ty khách hàng có quyền truy cập độc quyền, riêng biệt vào cơ sở hạ tầng.

Private cloud cho phép một công ty tận dụng hiệu quả của đám mây đồng thời cung cấp khả năng kiểm soát tốt hơn đối với tài nguyên, bảo mật dữ liệu và tuân thủ quy định, đồng thời tránh tác động tiềm ẩn về hiệu suất và bảo mật của việc chia sẻ tài nguyên với một khách hàng đám mây khác.

Một phép loại suy phổ biến ví private cloud với việc sở hữu một ngôi nhà dành cho một gia đình và public cloud với việc thuê một căn hộ hoặc chung cư trong một tòa nhà nhiều đơn vị.

Trong private cloud, khách hàng thường chịu trách nhiệm quản lý và duy trì cơ sở hạ tầng, bao gồm lập kế hoạch năng lực (capacity planning) để đảm bảo rằng phần cứng khả dụng có thể đáp ứng nhu cầu hiện tại và tương lai, cấp phép và cài đặt phần mềm cũng như giám sát và thực thi các chính sách bảo mật.

Một số lợi thế có thể có của private cloud so với public cloud bao gồm:

  • Khả năng tùy chỉnh ứng dụng và cơ sở hạ tầng tốt hơn.
  • Kiểm soát và bảo mật tốt hơn vì khối lượng công việc chạy phía sau tường lửa của đối tượng thuê (cloud tenants), mặc dù mức bảo mật tổng thể phụ thuộc vào môi trường của đối tượng thuê đó. (nghĩa là nếu môi trường của cloud tenant tốt, thì mức bảo mật sẽ tốt hơn, và ngược lại)

  • Đơn giản hóa việc tuân thủ các quy định của ngành hoặc chính phủ.

Private cloud thường đi kèm với các chi phí trả trước (up-front) cao hơn và chi phí duy trì cũng cao hơn public cloud. Tuy nhiên các dịch vụ mới của public cloud như VPC đã mang lại nhiều lợi ích cho doanh nghiệp mà không cần thiết phải áp đặt gánh nặng quản lý hoặc chi phí tương tự.

Về cơ bản, không có sự phân biệt rõ ràng rằng loại cloud nào tốt hơn, mà sẽ chủ yếu dựa vào nhu cầu của bạn. Public cloud sẽ tốt hơn private cloud nếu những điều sau đây là đúng:

  • Khả năng mở rộng và tính linh hoạt—khả năng bổ sung dung lượng ngay lập tức hoặc tự động để đáp ứng với lưu lượng truy cập tăng đột biến—rất quan trọng đối với bạn.

  • Bạn muốn tránh chi phí vốn trả trước (upfront capital expenses) và thích chi phí hoạt động liên tục (ongoing operating expenses) có thể dự đoán được hơn.

  • Bạn muốn truy cập không giới hạn vào các tài nguyên cụ thể có sẵn thông qua nhà cung cấp đám mây công cộng.

Tuy nhiên, nếu bạn có nhu cầu về bảo mật, quy định hoặc cơ sở hạ tầng chuyên biệt cao, muốn kiểm soát tối đa môi trường đám mây của mình và nhận thấy rằng khối lượng công việc của bạn có các kiểu sử dụng có thể dự đoán được, thì private cloud sẽ phù hợp hơn.

Hybrid Cloud

Đây là loại hình kết hợp giữa public cloud và private cloud, cho phép người dùng lựa chọn cùng lúc các dịch vụ của 2 để phù hợp với từng nhu cầu của mình.

Ví dụ, hybrid cloud cho phép một công ty lưu giữ dữ liệu nhạy cảm và thực hiện các legacy applications quan trọng (không thể dễ dàng di chuyển lên đám mây) tại chỗ (on – premises) trong khi tận dụng đám mây công cộng cho các ứng dụng SaaS, PaaS để triển khai nhanh các ứng dụng mới và IaaS để có thêm dung lượng lưu trữ hoặc tính toán theo yêu cầu.

Phần lớn những người áp dụng đám mây doanh nghiệp (enterprise cloud adopters) chuyển sang kiến trúc hybrid cloud để họ có thể linh hoạt chọn môi trường đám mây tốt nhất (private hoặc public) cho từng khối lượng công việc của họ hoặc di chuyển khối lượng công việc giữa các đám mây khi nhu cầu của họ thay đổi.

Community Cloud

Phục vụ các doanh nghiệp và cá nhân có nhu cầu chia sẻ hạ tầng và dữ liệu cho những doanh nghiệp và cá nhân khác, nhằm mục đích chia sẻ thông tin nhanh chóng. Đám mây cộng đồng là cơ sở hạ tầng được chia sẻ bởi một số tổ chức có cùng mối quan tâm.

Nhưng tại sao community cloud lại quan trọng đối với cả nhà cung cấp dịch vụ cũng như các ngành và cộng đồng sử dụng chúng?

Đối với các khách hàng trong ngành đặc biệt như tổ chức tài chính, tổ chức chính phủ hoặc các công ty dược phẩm, community cloud cung cấp khả năng đạt được những lợi ích của điện toán đám mây nhưng vẫn tuân thủ các yêu cầu trong ngành của họ. Nhà cung cấp dịch vụ đảm nhận gánh nặng đối với các chứng nhận bắt buộc như Đạo luật về trách nhiệm giải trình và cung cấp thông tin bảo hiểm y tế (HIPAA), các tiêu chuẩn bảo mật dữ liệu của ngành thẻ thanh toán (PCI), v.v.

Một khía cạnh hấp dẫn khác có thể là thực tế là hàng xóm của khách hàng trong community cloud rất có thể là người cùng ngành. Trong community cloud chính phủ, việc chia sẻ cơ sở hạ tầng (như bản chất của public cloud) chỉ được thực hiện giữa các tổ chức chính phủ khác, điều này có thể giúp họ tránh khỏi những lo ngại nhất định về bảo mật mà họ có với các public cloud. Mặc dù community cloud vẫn là sản phẩm thị trường ngách (niche products), nhưng chúng ngày càng trở nên quan trọng hơn với việc áp dụng đám mây chung trong các ngành. Chúng có thể là một giải pháp tốt cho cả nhà cung cấp dịch vụ, những người nhận được lợi nhuận tốt hơn với các dịch vụ có giá trị cao hơn và cho khách hàng, những người có thể chắc chắn rằng các nhu cầu cụ thể của ngành và các yêu cầu quy định được đáp ứng một cách chuyên nghiệp. Thực tế là chỉ những khách hàng trong cùng ngành mới có mặt trên một community cloud như vậy có thể giúp nâng cao niềm tin vào điện toán đám mây, ngay cả đối với những ngành nhạy cảm và được quản lý chặt chẽ.

8. AWS cloud

AWS cloud bao gồm một tập hợp các sản phẩm điện toán, lưu trữ, cơ sở dữ liệu, phân tích, kết nối mạng, di động, công cụ dành cho nhà phát triển, công cụ quản lý, IoT, bảo mật và ứng dụng doanh nghiệp: các tài nguyên được cung cấp theo yêu cầu của người dùng, khả dụng trong vài giây, với định giá thanh toán theo mức sử dụng. Với hơn 200 dịch vụ đầy đủ tính năng có sẵn từ các trung tâm dữ liệu trên toàn cầu, Đám mây AWS có mọi thứ bạn cần để phát triển, triển khai và vận hành các ứng dụng của mình, đồng thời giảm chi phí, trở nên linh hoạt hơn và đổi mới nhanh hơn.

Bạn có thể xem thêm giới thiệu về AWS Cloud tại video dưới đây:

https://www.youtube.com/watch?v=a9__D53WsUs

Danh sách các dịch vụ AWS Cloud đang cung cấp, bạn có thể xem thêm tại đây:

https://docs.aws.amazon.com/whitepapers/latest/aws-overview/amazon-web-services-cloud-platform.html?pg=cloudessentials

Tài liệu tham khảo tóm tắt use case 1 số dịch vụ của AWS:
https://github.com/open-guides/og-aws