Structures of the Cloud - Nguyễn Thanh Phước - 19110436
Structures of the Cloud
Với sự bùng nổ của điện đoán đám mây (cloud computing) trong những năm gần đây, cùng với những lợi ích mà nó mang lại, chắc hẳn ai trong chúng ta cũng từng nghe qua cái tên Amazon Web Service (AWS) của Amazon.
AWS là công ty con của Amazon - một công ty rất nổi tiếng với trang web thương mại điện tử của mình. Ra đời các dịch vụ đầu tiên từ năm 2006, AWS là một nền tảng điện toán đám mây cung cấp các dịch vụ trực tuyến cho trang web hay ứng dụng. Trải dài trên 27 khu vực địa lý khắp thế giới với 87 vùng khả dụng (Availability Zone) và dự tính bành trướng thêm 7 khu vực: Úc, Canada, Ấn Độ, Israel, New Zealand, Tây Ban Nha và Thụy Sĩ với 21 Availability Zone.
Tuy toàn cầu là vậy nhưng không phải ai cũng biết hết được các thuật ngữ công nghệ của AWS, vậy chúng ta hãy cùng tìm hiểu chúng để không lạc hậu với thế giới nhé:
Cloud computing: là việc cung cấp sức mạnh máy tính, cơ sở dữ liệu, bộ nhớ, ứng dụng và các tài nguyên CNTT khác phù hợp với nhu cầu của chúng ta thông qua internet với tiêu chí pay-as-you-go (xài nhiêu trả nhiêu)
Amazon Web Services (AWS): là một nền tảng cung cấp một loạt các dịch vụ điện toán đám mây.
Cloud storage: là lưu trữ dữ liệu sử dụng nhà cung cấp dịch vụ đám mây (CSP) thay vì máy vật lý.
Server: là một máy tính được thiết kế để xử lý các yêu cầu và cung cấp dữ liệu đến một máy tính khác qua internet hoặc mạng cục bộ. Trong đám mây, một máy chủ được lưu trữ bởi một nhà cung cấp bên ngoài, máy chủ này được truy cập qua internet.
Region: là một khu vực nơi dữ liệu được lưu trữ. Lưu trữ dữ liệu ở vùng (Region) gần bạn nhất là một trong những lý do khiến nó có thể được truy cập với tốc độ cực nhanh.
Availability Zones: là một hoặc nhiều trung tâm dữ liệu chứa nhiều máy chủ. Mỗi Region có nhiều vị trí biệt lập được gọi là vùng sẵn sàng (Availability Zone). Mỗi Availability Zone được tách biệt, nhưng các Availability Zone trong một Region được kết nối với nhau thông qua các liên kết có độ trễ thấp. Availability Zone được biểu thị bằng mã Region theo sau là mã định danh chữ cái, ví dụ: us-east-1a.
Edge Locations: là một trang web có thể lưu trữ dữ liệu để có độ trễ thấp hơn. Thông thường, các vị trí ven (Edge Location) sẽ gần với các khu vực dân cư cao sẽ tạo ra lưu lượng giao thông cao.
Latency: là sự chậm trễ trước khi quá trình chuyển dữ liệu bắt đầu sau khi dữ liệu đã được yêu cầu.
Vì là một dịch vụ, thế nên sẽ có các loại khác nhau để đáp ứng các nhu cầu khác nhau của người dùng.
Có ba mô hình chính cho điện toán đám mây. Mỗi mô hình đại diện cho một phần khác nhau của ngăn xếp điện toán đám mây:
Infrastructure as a Service (IaaS)
Cơ sở hạ tầng dưới dạng dịch vụ (Infrastructure as a Service - IaaS) chứa các khối xây dựng cơ bản cho CNTT đám mây và 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 cung cấp cho bạn mức độ linh hoạt cao nhất và quyền kiểm soát quản lý đối với các tài nguyên CNTT của bạn và giống nhất với các tài nguyên CNTT hiện có mà nhiều bộ phận và nhà phát triển CNTT quen thuộc ngày nay.
IaaS sẽ cung cấp (cho bạn thuê) cơ sở hạ tầng như thuê máy chủ. Khách hàng thay vì phải bỏ một số tiền lớn ra để mua, họ có thể thuê một trang Iaas và đóng tiền sử dụng hàng tháng, như vậy sẽ tiết kiệm hơn nhiều. Một ví dụ cụ thể đó là trang http://www.macincloud.com/. Đại khái trang này cho người dùng thuê máy Mac. Bạn biết đấy, máy Mac khá mắc so với các dòng máy thông thường. Người dùng có thể thuê để đăng ký certificate hoặc dùng Xcode để submit ứng dụng lên appstore. Một vài ví dụ khác về IaaS như: Amazon Web Services (AWS) mình dùng để học cho môn Điện toán đám mây trên trường, Microsoft Azure, Google Compute Engine (GCE).
Platform as a Service (PaaS)
Nền tảng như một dịch vụ (Platform as a Service - PaaS) loại bỏ nhu cầu đối với các tổ chức quản lý cơ sở hạ tầng bên dưới (thường là phần cứng và hệ điều hành) và cho phép bạn tập trung vào việc triển khai và quản lý các ứng dụng của mình. Điều này giúp bạn hiệu quả hơn vì bạn không cần phải lo lắng về việc mua sắm tài nguyên, lập kế hoạch năng lực, bảo trì phần mềm, vá lỗi hoặc bất kỳ công việc nặng nhọc không phân biệt nào khác liên quan đến việc chạy ứng dụng của bạn.
PaaS cung cấp nền tảng để phát triển ứng dụng. Bình thường bạn phải cài IDE, hoặc chạy máy ảo,... để phát triển ứng dụng thì PaaS sẽ cung cấp nền tảng cho các bạn phát triển luôn. Đỡ tốn thời gian để cài đặt, tốn phí mua IDE. Ví dụ điển hình nhất là các trang cho phép tạo ứng dụng di động online như https://appinventor.mit.edu/ mình đã từng dùng để viết app IoT trên Android. Bạn có thể search các từ khóa như create mobile app online. Kết quả trả về sẽ rất nhiều trang PaaS như vậy. Một ví dụ nữa là các trang phát triển web online như c9.io.
Software as a Service (SaaS)
Phần mềm như một dịch vụ (Software as a Service - SaaS) cung cấp cho bạn một sản phẩm đã hoàn thiện được điều hành và quản lý bởi nhà cung cấp dịch vụ. Trong hầu hết các trường hợp, những người đề cập đến SaaS là đề cập đến các ứng dụng của người dùng cuối. Với dịch vụ SaaS, bạn không phải suy nghĩ về cách dịch vụ được duy trì hoặc cơ sở hạ tầng bên dưới được quản lý như thế nào; bạn chỉ cần nghĩ về cách bạn sẽ sử dụng phần mềm cụ thể đó. Một ví dụ phổ biến về ứng dụng SaaS là email dựa trên web, nơi bạn có thể gửi và nhận email mà không cần phải quản lý các tính năng bổ sung cho sản phẩm email hoặc duy trì các máy chủ và hệ điều hành mà chương trình email đang chạy.
SaaS dùng web để lưu trữ ứng dụng cho một hoặc nhiều khách khách hàng sử dụng. Ví dụ thông thường bạn có một phần mềm quản lý hoá đơn điện tử. Người dùng muốn cài đặt sử dụng phải tải file .exe về cài đặt, rồi phải thiết lập cấu hình mới chạy được, hoặc máy khách hàng xài RAM có 128MB à, chạy không nổi, hoặc máy ngon mà bị cháy nhà, khách hàng mất hết dữ liệu. Như vậy sử dụng trực tiếp trên máy tính có nhiều bất lợi. Vì thế SaaS sẽ đưa toàn bộ phần mềm lên mạng. Khách hàng nào muốn xài phần mềm thì cứ đăng ký tài khoản online rồi sử dụng, không cần lo về cài đặt, sao lưu dữ liệu nữa, ... Ví dụ thì bạn cứ search những từ khóa liên quan đến phần mềm quản lý và hậu tố online vào phía sau như hotel management online, school management,... Ở Việt Nam có một trang đang nổi là KiotViet, các bạn có thể tham khảo. Một số mình đã sử dụng có thể kể đến như Dropbox, Slack, Spotify, YouTube, Microsoft Office 365, Gmail
Khi được lựa chọn Region để deploy cloud mình sẽ dựa theo các tiêu chí đánh giá với mức độ như sau:
Như vậy, chúng ta đã hiểu được phần nào AWS và các thuật ngữ cũng như ứng dụng của nó. Chỉ với một cú click chuột bạn đã có thể xây dựng cá một kiến trúc đồ sộ mà không mất quá nhiều thời gian suy nghĩ (nhưng mất nhiều tiền) với độ trễ tính hàng ms. Qua đó, có thể nhận định rằng điện toán đám mây đang ngày càng phát triển và mang lại nhiều lợi ích cho chúng ta
Chào bạn bài của bạn không có trình bài các mô hình Public, Private, Hybric, bạn chưa trình bày được mô hình dịch vụ bạn sử dụng và bạn chưa giải thích chi tiết các tiêu chí liên quan để chọn Region.
ReplyDeleteChào bạn, sau khi đọc bài viết của bạn mình nhận thấy bài viết của bạn đầy đủ kết cấu như 1 bài viết,có tạo rubic, trình bày về iaas, paas, saas khá tốt. Tuy nhiên:
ReplyDelete- Chưa trình bài các mô hình Public, Private, Hybric và so sánh, đưa ví dụ
-chưa trình bày được mô hình dịch vụ bạn sử dụng
-Bảng rubric chưa có giải thích các tiêu chí liên quan đến đựa chọn Region
Hi Phước, mình thấy blog của bạn trình bày rất dễ hiểu. Tuy nhiên, Phước còn thiếu một số ý về hybrid cloud, public cloud, private cloud và cá nhân Phước đã sử dụng qua những mô hình dịch vụ nào.
ReplyDelete