Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 1-Bài 1. Công nghệ Đám mây (Cloud) là gì?

Tác giả: Dương Nguyễn Phú Cường
Ngày đăng: Hồi xưa đó

Điện toán đám mây là gì?

Điện toán đám mây là việc phân phối các tài nguyên CNTT theo nhu cầu qua Internet với chính sách thanh toán theo mức sử dụng. Thay vì mua, sở hữu và bảo trì các trung tâm dữ liệu và máy chủ vật lý, bạn có thể tiếp cận các dịch vụ công nghệ, như năng lượng điện toán, lưu trữ và cơ sở dữ liệu, khi cần thiết, từ nhà cung cấp dịch vụ đám mây như Amazon Web Services (AWS), Microsoft Azure, Google Cloud.

Ai sử dụng điện toán đám mây?

Các tổ chức thuộc mọi loại hình, quy mô và ngành hoạt động đang dùng dịch vụ đám mây cho nhiều trường hợp sử dụng, như sao lưu dữ liệu, khôi phục sau thảm họa, email, máy tính để bàn ảo, phát triển và kiểm thử phần mềm, phân tích dữ liệu lớn và ứng dụng web tương tác với khách hàng. Ví dụ: các công ty chăm sóc sức khỏe đang sử dụng dịch vụ đám mây để phát triển các phương pháp điều trị phù hợp hơn cho bệnh nhân. Các công ty dịch vụ tài chính đang sử dụng dịch vụ đám mây để tăng cường phát hiện và ngăn chặn gian lận theo thời gian thực. Và các nhà sản xuất trò chơi điện tử đang sử dụng dịch vụ đám mây để cung cấp các trò chơi trực tuyến cho hàng triệu người chơi trên toàn thế giới.

Lợi ích của điện toán đám mây

Nhanh chóng

Đám mây cho phép bạn dễ dàng tiếp cận nhiều công nghệ để bạn có thể đổi mới nhanh hơn và phát triển gần như mọi thứ mà bạn có thể tưởng tượng. Bạn có thể nhanh chóng thu thập tài nguyên khi cần–từ các dịch vụ cơ sở hạ tầng, như điện toán, lưu trữ, và cơ sở dữ liệu, đến Internet of Things, machine learning, kho dữ liệu và phân tích, v.v. Bạn có thể triển khai các dịch vụ công nghệ một cách nhanh chóng và tiến hành từ khâu ý tưởng đến khâu hoàn thiện nhanh hơn một vài cấp bậc cường độ so với trước đây. Điều này cho phép bạn tự do thử nghiệm, kiểm thử những ý tưởng mới để phân biệt trải nghiệm của khách hàng và chuyển đổi doanh nghiệp của bạn.

Quy mô linh hoạt

Với điện toán đám mây, bạn không phải cung cấp tài nguyên quá mức để xử lý các hoạt động kinh doanh ở mức cao nhất trong tương lai. Thay vào đó, bạn cung cấp lượng tài nguyên mà bạn thực sự cần. Bạn có thể tăng hoặc giảm quy mô của các tài nguyên này ngay lập tức để tăng và giảm dung lượng khi nhu cầu kinh doanh của bạn thay đổi.

Tiết kiệm chi phí

Nền tảng đám mây cho phép bạn thay chi phí vốn (trung tâm dữ liệu, máy chủ vật lý, v.v.) bằng chi phí biến đổi và chỉ phải chi trả cho những tài nguyên CNTT mà bạn sử dụng. Bên cạnh đó, chi phí biến đổi cũng sẽ thấp hơn nhiều so với chi phí bạn tự trang trải do tính kinh tế theo quy mô.

Triển khai trên toàn cầu chỉ trong vài phút

Với đám mây, bạn có thể mở rộng sang các khu vực địa lý mới và triển khai trên toàn cầu trong vài phút. Ví dụ: AWS có cơ sở hạ tầng trên toàn thế giới, vì vậy, bạn có thể triển khai ứng dụng của mình ở nhiều địa điểm thực tế chỉ bằng vài cú nhấp chuột. Đặt các ứng dụng gần hơn với người dùng cuối giúp giảm độ trễ và cải thiện trải nghiệm của họ.

Các loại điện toán đám mây

Công nghệ điện toán đám mây đang đem đến cho các nhà phát triển và bộ phận CNTT khả năng tập trung vào những điều quan trọng nhất và tránh các công việc vô hình như thu mua, bảo trì và hoạch định công suất. Với công nghệ điện toán đám mây ngày càng trở nên phổ biến, nhiều mô hình và chiến lược triển khai khác nhau đã xuất hiện giúp đáp ứng nhu cầu cụ thể của nhiều đối tượng người dùng khác nhau. Mỗi loại dịch vụ đám mây và phương pháp triển khai đều đem đến cho bạn nhiều mức độ kiểm soát, độ linh hoạt và khả năng quản lý khác nhau. Việc nắm bắt sự khác biệt giữa Cơ sở hạ tầng dưới dạng dịch vụ, Nền tảng dưới dạng dịch vụ và Phần mềm dưới dạng dịch vụ cũng như các chiến lược triển khai mà bạn có thể sử dụng sẽ giúp bạn quyết định xem bộ dịch vụ nào phù hợp nhất với nhu cầu của bạn.

Mô hình điện toán đám mây

Có ba mô hình chính dành cho điện toán đám mây. Mỗi mô hình đại diện cho các phần khác nhau của cụm điện toán đám mây.
Ba loại điện toán đám mây chính bao gồm Cơ sở hạ tầng dưới dạng Dịch vụ, Nền tảng dưới dạng Dịch vụ và Phần mềm dưới dạng Dịch vụ. Mỗi loại điện toán đám mây cung cấp các cấp độ kiểm soát, tính linh hoạt và quản lý khác nhau để bạn có thể chọn bộ dịch vụ phù hợp với nhu cầu của mình.

Cơ sở hạ tầng dưới dạng dịch vụ (IaaS)

Nền tảng dưới dạng dịch vụ (PaaS)

Phần mềm dưới dạng dịch vụ (SaaS)

Cơ sở hạ tầng dưới dạng dịch vụ, đôi khi được viết tắt là IaaS, bao gồm các khối dựng cơ bản dành cho nền tảng CNTT đám mây và thường cung cấp quyền truy cập các tính năng mạng, máy tính (phần cứng ảo hoặc trên phần cứng chuyên dụng) và dung lượng lưu trữ dữ liệu. Cơ sở hạ tầng dưới dạng dịch vụ sẽ đem đến cho bạn mức độ linh hoạt cũng như khả năng kiểm soát quản lý tài nguyên CNTT cao nhất và gần giống nhất với các tài nguyên CNTT hiện hữu quen thuộc với nhiều bộ phận CNTT và nhà phát triển hiện nay. IaaS chứa các khối xây dựng cơ bản cho đám mây CNTT. IaaS thường cung cấp quyền truy cập vào các tính năng mạng, máy tính (ảo hoặc trên phần cứng chuyên dụng) và không gian lưu trữ dữ liệu. IaaS đem đến cho bạn mức độ linh hoạt cũng như khả năng kiểm soát quản lý tài nguyên CNTT cao nhất. IaaS gần giống nhất với các tài nguyên CNTT hiện tại mà nhiều bộ phận CNTT và nhà phát triển hiện nay rất quen thuộc. Nền tảng dưới dạng dịch vụ giúp bạn không cần quản lý cơ sở hạ tầng ngầm của tổ chức (thường là phần cứng và hệ điều hành) và cho phép bạn tập trung vào công tác triển khai cũng như quản lý các ứng dụng của mình. Điều này giúp bạn làm việc hiệu quả hơn do bạn không cần phải lo lắng về việc thu mua tài nguyên, hoạch định dung lượng, bảo trì phần mềm, vá lỗi hay bất kỳ công việc nặng nhọc nào khác có liên quan đến việc vận hành ứng dụng. PaaS giúp bạn không cần quản lý cơ sở hạ tầng ngầm của tổ chức (thường là phần cứng và hệ điều hành) và cho phép bạn tập trung vào công tác triển khai cũng như quản lý các ứng dụng của mình. Điều này giúp bạn làm việc hiệu quả hơn do bạn không cần phải lo lắng về việc thu mua tài nguyên, hoạch định dung lượng, bảo trì phần mềm, vá lỗi hay bất kỳ công việc nặng nhọc nào khác có liên quan đến việc vận hành ứng dụng. Phần mềm dưới dạng dịch vụ sẽ cung cấp cho bạn sản phẩm hoàn chỉnh được nhà cung cấp dịch vụ vận hành và quản lý. Trong hầu hết trường hợp, khi nhắc đến "Phần mềm dưới dạng dịch vụ", mọi người thường nghĩ đến ứng dụng dành cho người dùng cuối. Với sản phẩm SaaS, bạn sẽ không phải để tâm đến chuyện bảo trì dịch vụ hay quản lý cơ sở hạ tầng cơ bản, mà bạn chỉ cần tính xem sẽ sử dụng phần mềm cụ thể đó như thế nào. Một ví dụ thường thấy của ứng dụng SaaS là email trên nền tảng web: bạn có thể gửi và nhận email mà không phải quản lý việc bổ sung tính năng vào sản phẩm email hay bảo trì máy chủ và hệ điều hành dùng cho chương trình email. SaaS cung cấp cho bạn sản phẩm hoàn chỉnh được nhà cung cấp dịch vụ vận hành và quản lý. Trong hầu hết các trường hợp, khi nhắc đến SaaS, mọi người thường nghĩ đến ứng dụng dành cho người dùng cuối (chẳng hạn như email trên nền tảng web). Với SaaS, bạn không cần phải nghĩ cách duy trì dịch vụ hoặc cách quản lý cơ sở hạ tầng ngầm. Bạn sẽ chỉ cần nghĩ cách bạn sẽ sử dụng phần mềm cụ thể đó.

Giải thích

KHÁI NIỆM LÀM PHẦN MỀM
On-Premise Tự mua phần cứng, tự lắp mạng, mua IP tĩnh, gắn domain, cài hệ điều hành, cài runtime (Java, PHP, MySQL), deploy ứng dụng,…  để mọi người có thể dùng ứng dụng của mình
IaaS Azure sẽ tạo cho bạn một con server ảo (VPS), có sẵn Windows/Linux, có sẵn mạng và IP.  Bạn chỉ việc ssh/remote desktop vào server đó, cài PHP/C#/NodeJS, deploy ứng dụng là xong.
PaaS Azure/AWS/cty hosting đã tạo sẵn cho bạn một môi trường có sẵn PHP/C#/NodeJS. Bạn chỉ cần upload code lần đó là sản phẩm đã chạy được.
SaaS Bạn sử dụng Application do một bên cung cấp, không cần cài đặt server gì. Khi có vấn đề cứ hú bên đó sửa!

Một số nhà cung cấp dịch vụ CLOUD điển hình ở các tầng dịch vụ:

KHÁI NIỆM NHÀ CUNG CẤP
SaaS Google Apps, Dropbox, Salesforce, Cisco WebEx, Concur, GoToMeeting
PaaS AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache Stratos, OpenShift
IaaS DigitalOcean, Linode, Rackspace, Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure, Google Compute Engine (GCE)

Vai trò mô hình hóa của các loại điện toán đám mây

Mô hình triển khai điện toán đám mây

Đám mây

Ứng dụng trên nền tảng đám mây được triển khai đầy đủ trên đám mây và tất cả các bộ phận của ứng dụng đều chạy trên đám mây. Các ứng dụng trên đám mây được tạo trên đám mây hoặc đã được di chuyển lên đám mây từ cơ sở hạ tầng hiện hữu để tận dụng lợi ích của điện toán đám mây. Ứng dụng trên nền tảng đám mây có thể được xây dựng trên các bộ phận cơ sở hạ tầng cấp thấp hoặc có thể sử dụng các dịch vụ cấp cao hơn giúp loại bỏ các yêu cầu quản lý, thiết kế kiến trúc và thay đổi quy mô của cơ sở hạ tầng cốt lõi của ứng dụng.

Lai

Triển khai theo hình thức lai là một cách để kết nối các cơ sở hạ tầng và ứng dụng giữa các tài nguyên trên nền tảng đám mây và các tài nguyên hiện hữu không nằm trên đám mây. Phương pháp triển khai lai phổ biến nhất là giữa cơ sở hạ tầng hiện hữu tại chỗ và trên đám mây để mở rộng và phát triển cơ sở hạ tầng của tổ chức lên đám mây trong khi vẫn duy trì kết nối các tài nguyên đám mây với hệ thống nội bộ. Để biết thêm thông tin về cách AWS có thể trợ giúp bạn trong việc triển khai lai, vui lòng truy cập trang kiến trúc lai của chúng tôi.

Tại chỗ

Việc triển khai tài nguyên tại chỗ, bằng các công cụ ảo hóa và quản lý tài nguyên, đôi khi còn được gọi là "đám mây riêng". Việc triển khai tại chỗ không đem đến nhiều lợi ích của điện toán đám mây nhưng đôi khi được chọn vì khả năng cung cấp tài nguyên chuyên dụng. Trong hầu hết trường hợp, mô hình triển khai này vừa tương tự như cơ sở hạ tầng CNTT kế thừa vừa sử dụng các công nghệ ảo hóa và quản lý ứng dụng để thử và tăng khả năng tận dụng tài nguyên.

Mô hình tháp theo Công nghệ Cloud

Làm sao lựa chọn giữa IaaS, PaaS hoặc SaaS

Các bạn thấy đấy, các mô hình này đi từ thấp tới cao
  • Càng ở cấp thấp, các bạn càng phải quản lý nhiều hơn (tự thuê và quản lý server, tự cài OS và runtime). Việc này sẽ tốn nhiều công sức và tiền bạc (để thuê nhân viên IT). Tuy nhiên, bạn sẽ control được nhiều hơn, có thể thoải mái chọn sữa bò, chọn phần cứng, chọn hệ điều hành,.
  • Lên cao hơn, các bạn sẽ dùng nhiều dịch vụ do bên khác cung cấp hơn. Bạn sẽ đỡ tốn công làm những thứ lặt vặt như lắp mạng, quản lý server, mà bên dịch vụ sẽ lo hết cả.
  • Ở những cấp cao hơn, bạn sẽ thoải mái hơn, nhưng sẽ ít control và lựa chọn hơn. Do vậy, lựa chọn như thế nào là tùy vào nhu cầu của công ty, của business.
  Ở Việt Nam, đa phần các công ty lớn dùng dạng On-Premise, tự xây dựng hệ thống hạ tầng vì họ có tiền để nuôi team IT. Ở nước ngoài, các công ty startup, công ty vừa và nhỏ thường dùng IaaS hoặc PaaS do Google, Amazon, Azure cung cấp để đỡ tốn chi phí cho IT. Phần lớn các công ty đều sử dụng SaaS cho các hoạt động thường ngày (thay vì tự phát triển):
  • Slack để giao tiếp giữa các thành viên
  • Jira để quản lý task
  • Confluence hoặc Google Docs để quản lý document
  • Skype hoặc Zoom.us để họp online