Lựa chọn nhà cung cấp dịch vụ điện toán đám mây

Một phần của tài liệu nghiên cứu kiến trúc hệ thống tích hợp điện toán đám mây và lbs (Trang 46 - 80)

2.3.1. Các nhà cung cấp

Hiện nay các hãng lớn đã bắt đầu và đang trong cuộc chạy đua đến với điện toán đám mây và giành thị phần trong kỹ thuật này. Những nhà cung cấp điện toán đám mây tiêu biểu có thể kể đến nhƣ: Google, IBM, Microsoft, Amazon, Salesforce, Apple… Hình dƣới đây thể hiện doanh số từ dịch vụ điện toán đám mây trên toàn thế giới trong những năm gần đây:

Hình 2. 5: Doanh thu dịch vụ điện toán đám mây theo giai đoạn

Với nguồn doanh thu khổng lồ nhƣ vậy, các nhà cung cấp đang chạy đua về công nghệ và dịch vụ nhằm mang lại quyền lợi tốt nhất cho khách hàng cũng nhƣ dành thị phần trên thị trƣờng tiềm năng này. Hình dƣới đây mô tả tổng kết doanh thu, các loại hình dịch vụ cũng nhƣ những tên tuổi tham gia vào thị trƣờng này:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2. 6: Dịch vụ điện toán đám mây – thị phần và những nhà cung cấp

2.3.2. Ƣu điểm của dịch vụ điện toán đám mây của Google

Google là ngƣời dẫn đầu trong các dịch vụ tìm kiếm trên Internet, nổi tiếng trong những lĩnh vực nhƣ email, mạng xã hội, quảng cáo. Google cũng là một trong các đối thủ nặng ký trong lĩnh vực điện toán đám mây so với Microsoft, Cisco, Red Hat, VMWare. Các dịch vụ điện toán đám mây của Google mang lại nhiều tiện ích cho ngƣời sử dụng muốn xây dựng các ứng dụng dựa trên điện toán đám mây.

Các ƣu điểm của đám mây Google có thể liệt kê nhƣ sau:

Điện toán đám mây cho phép truy cập nhanh hơn, hiệu suất cao hơn. Mỗi khi Google đƣa ra một tính năng mới cho ứng dụng web, ngƣời dùng cập nhật các tính năng này bằng cách làm mới lại trình duyệt. Các ứng dụng chạy trên di động cũng nhận đƣợc các tính năng mới mà không cần phần mềm cập nhật.

Các ứng dụng chạy trên nền web của Google cho phép ngƣời dùng truy cập toàn bộ thông tin của họ qua các thiết bị. Dữ liệu của ngƣời dùng đƣợc lƣu trên đám mây mà không phải đƣợc lƣu tại một máy tính cá nhân nào, vì thế khách hàng có thể kết nối đến các nguồn thông tin và làm việc tốt. Hạ tầng của Google cho phép khách hàng truy cập từ văn phòng, từ nhà, trên đƣờng, qua thiết bị di động.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Đám mây của Google cho phép cộng tác nhanh hơn. Dữ liệu của Google Apps đƣợc lƣu trên đám mây, do đó nhiều ngƣời dùng có thể truy cập và làm việc cho dự án đồng thời.

Google đầu tƣ vào bảo mật giúp bảo vệ khách hàng tốt hơn. Google không chỉ đầu tƣ về mặt vật lý mà còn đầu tƣ cả quy trình bảo mật cho khách hàng. Google thuê rất nhiều chuyên gia bảo mật trên thế giới để bảo vệ hệ thống và nghiên cứu các chính sách bảo mật. Trung tâm dữ liệu đƣợc bảo mật với rất nhiều cấp độ. Google đã cài đặt tiến trình bảo mật đa tầng để bảo vệ dữ liệu của khách hàng.

Dữ liệu và các hoạt động của ngƣời dùng đƣợc ghi lại trên nhiều trung tâm dữ liệu. Nếu một trung tâm dữ liệu không thể truy cập đƣợc vì bất kỳ lý do gì, hệ thống sẽ chuyển sang trung tâm dữ liệu khác mà không ngắt hoạt động của ngƣời dùng.

Google Apps cung cấp tính mềm dẻo và điều khiển mở rộng. Quy định sử dụng dịch vụ của Google Apps cho thấy khách hàng vẫn sở hữu dữ liệu của họ trong Google Apps, khách hàng hoàn toàn có thể lấy dữ liệu của họ khỏi Google Apps trong trƣờng hợp họ không sử dụng dịch vụ nữa. Google Apps cung cấp các điều khiển để quản trị hệ thống có thể quản lý việc truy cập sử dụng các dịch vụ của họ. Giao diện lập trình ứng dụng của Google Apps cho phép quản trị hệ thống xây dựng các chức năng và tích hợp với các công nghệ khác.

Ngoài ra, việc chạy các ứng dụng trên trình duyệt web giúp khách hàng tiết kiệm chi phí. Khách hàng có thể tiết kiệm thời gian và tiền bạc vì không phải quan tâm đến bản quyền phần mềm, các bản vá và các cập nhật định kỳ.

2.4. Google App Engine (GAE)

2.4.1. Tổng quan về Google App Engine

Google App Engine (thƣờng đƣợc gọi tắt là GAE hoặc App Engine) đƣợc ra mắt lần đầu vào tháng 8/2008, là nền tảng PaaS đƣợc Google cung cấp nhằm phát triển các ứng dụng web và đƣợc lƣu trữ tại Trung tâm quản lý dữ liệu Google (Google-managed data center). Các ứng dụng đƣợc đóng gói và chạy trên các máy chủ.

Google App Engine cho phép ngƣời dùng chạy các ứng dụng web trên nền tảng kiến trúc Google. Các ứng dụng App Engine đƣợc xây dựng và quản lý một cách dễ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

dàng. Với App Engine, không cần phải bảo trì máy chủ, ngƣời dùng upload các ứng dụng và nó luôn sẵn sàng phục vụ.

App Engine tự động tổng hợp yêu cầu cho các ứng dụng nhƣ: tự động tổng hợp các yêu cầu của ứng dụng, tự động xác định vị trí các tài nguyên cần thiết để ứng dụng có thể đáp ứng các yêu cầu của ngƣời dùng.

Ngƣời dùng có thể sử dụng domain đƣợc cung cấp bởi Google Apps hoặc sử dụng domain riêng cho các ứng dụng của mình. Các ứng dụng có thể đƣợc chia sẻ rộng rãi hoặc giới hạn cho một nhóm ngƣời dùng nhất định.

Khi sử dụng, Google App Engine miễn phí sử dụng tài nguyên, chỉ tính chi phí băng thông, mở rộng lƣu trữ. Nói cách khác, ngƣời dùng chỉ phải trả cho những tài nguyên mà mình sử dụng. Không có phí thuê bao hay các khoản phụ phí khác. Các tài nguyên đƣợc sử dụng nhƣ dung lƣợng lƣu trữ, băng thông… đều đƣợc quản lý sử dụng với hiệu quả tối đa cho ngƣời dùng.Theo thống kê và đánh giá, hoạt động của các ứng dụng là 99.95%.

Giới hạn sử dụng

Google App Engine cần phải có tài khoản Google để kích hoạt. Mỗi tài khoản cho phép đăng ký tối đa 10 ứng dụng. Giới hạn này có thể thay đổi theo chính sách của Google và đội ngũ kỹ thuật của Google.

Google App Engine cũng đặt ra giới hạn cho các ứng dụng miễn phí.

Quota Limit

Time per request 60 sec per normal request, 10 minutes for tasks, unlimited for backends (adsbygoogle = window.adsbygoogle || []).push({});

HTTP response size 32 MB Datastore item size 1 MB Application code size 150 MB

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Free Quota

Google App Engine có các chính sách hỗ trợ những ngƣời dùng mới. Khi mới bắt đầu sử dụng dịch vụ, ngƣời sử dụng sẽ không phải trả bất cứ chi phí nào trong một giới hạn cho phép gọi là free quota. Với free quota, tất cả các ứng dụng đƣợc phép lƣu trữ lên đến 1GB dung lƣợng, đƣợc cung cấp đủ tài nguyên CPU và băng thông cho phép dịch vụ có thể phục vụ 5 triệu yêu cầu/tháng. Các thông số cụ thể của Free Quota đƣợc thể hiện trong bảng dƣới đây:

Quota Limit (Per day)

Instantce-hours 28 hours Emails 100 (5000 admin emails) Bandwidth in Unlimited Bandwidth out 1GB Datastore 1GB Datastore Operations 50k Blob Storage 5 GB XMPP API 10k stanzas

Channel API 100 channels openned Conversion API 100 conversions URLFetch API

calls per day 657,000

Bảng 2. 2: Bảng mô tả free quota của một ứng dụng GAE miễn phí

2.4.2. Môi trƣờng chạy thực và lƣu trữ dữ liệu

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Google App Engine cung cấp hai môi trƣờng chạy thực cho ứng dụng: môi trƣờng Java và môi trƣờng Python.

-Python web framework đã hoạt động trên Google App Engine bằng cách tích hợp GAE và Django, CherryPy, Pylons…

-Google App Engines hỗ trợ lập trình ứng dụng bằng ngôn ngữ Java, với công nghệ lõi là Servlet 2.5 Technology đƣợc dùng trên Web Server mã nguồn mở Jetty Web Server, đi kèm với một số công nghệ nhƣ JSP.

Lưu trữ dữ liệu

Các đối tƣợng dữ liệu trong lƣu trữ dữ liệu App Engine đƣợc gọi là các thực thể. Mỗi thực thể có thể có một hoặc nhiều thuộc tính. Mỗi thực thể cũng có một khóa để phân biệt các thực thể với nhau. Những thực thể này là nền tảng xây dựng lên một cơ sở dữ liệu để quản lý tập dữ liệu lớn trên những ứng dụng đã đƣợc xây dựng

Vào tháng 11/2011, Google giới thiệu và cung cấp dịch vụ cơ sở dữ liệu Google Cloud SQL nhằm hỗ trợ JDBC và DB – API. Dịch vụ này cho phép ngƣời dùng khởi tạo, cấu hình và sử dụng cơ sở dữ liệu quan hệ trong các ứng dụng App Engines. Dịch vụ sử dụng Engine MySQL Version 5.1.59 và kích thƣớc cơ sở dữ liệu tối đa không quá 10GB.

2.4.3. Phát triển ứng dụng App Engine trên nền tảng ngôn ngữ Java

Các ứng dụng của Google App Engines có thể đƣợc phát triển trên nền tảng Java, việc giao tiếp dữ liệu sử dụng các Datastore thông qua chuẩn Java Data Object.

Các nhà phát triển có thể phát triển ứng dụng của mình trên môi trƣờng Java bằng cách sử dụng các công cụ hỗ trợ phát triển web bằng Java. Các ứng dụng có thể đƣợc tích hợp với môi trƣờng sử dụng Java Servlet Standard, và có thể sử dụng các công nghệ phát triển ứng dụng web nhƣ JSP.

Sử dụng nền tảng Java 6 để phát triển ứng dụng với JRE 6 và các thƣ viện đi kèm, nhà phát triển có thể tiếp cận tất cả các dịch vụ App Engines thông qua sử dụng Java Standard APIs. Đối với các Datastore của App Engine, Java SDK có tích hợp các chuẩn JDO (Java Data Object) và JPA (Java Persistence API) nhằm hỗ trợ việc sử dụng tài nguyên Datastore. Bên cạnh đó, các App Engine có thể sử dụng JavaMaik API để gửi thƣ điện tử, thông điệp thông qua dịch vụ App Engine Mail.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Tóm lại, ngƣời phát triển sử dụng ngôn ngữ lập trình Java và các bộ thƣ viện APIs để phát triển các ứng dụng web cho JVM. Với việc sử dụng các JVM, ngƣời phát triển có thể sử dụng các ngôn ngữ khác để phát triển ứng dụng web nhƣ: JavaSript, Ruby, Scala…

2.4.4. Môi trƣờng ứng dụng

App Engine cung cấp môi trƣờng cho phép xây dựng ứng dụng đơn giản nhƣng hoạt động có độ tin cậy cao. Các đặc điểm của môi trƣờng ứng dụng App Engines bao gồm:

-Dịch vụ dynamic web, đƣợc hỗ trợ đầy đủ các công nghệ web hiện đại. -Lƣu trữ tin cậy hỗ trợ các truy vấn, sắp xếp và tác vụ.

-Tự động điều chỉnh cân bằng tải nhằm tạo hiệu suất phục vụ cao nhất. -API hỗ trợ xác thực ngƣời dùng và gửi thƣ điện tử bằng tải khoản Google. -Bộ giả lập hoàn chỉnh hỗ trợ cho ngƣời dùng có thể phát triển ứng dụng và thử nghiệm trong môi trƣờng ảo trên máy tính trƣớc khi đƣa lên mạng.

-Hỗ trợ các yêu cầu nằm ngoài giới hạn các web request. -Hỗ trợ lịch trình hoạt động các tác vụ theo thời gian tự động.

2.5. Nghiên cứu mô hình tổ chức dữ liệu trên đám mây

Điện toán đám mây cung cấp cho các tổ chức nguồn tài nguyên không giới hạn để thực hiện các ứng dụng tính toán dữ liệu chuyên sâu quy mô lớn một cách có hiệu quả về mặt chi phí. (adsbygoogle = window.adsbygoogle || []).push({});

Thách thức đối với tính toán dữ liệu chuyên sâu đó là việc quản lý và xử lý khối lƣợng dữ liệu tăng dần theo cấp số nhân hàng ngày, giảm các chu kỳ phân tích dữ liệu liên quan để hỗ trợ các ứng dụng một cách kịp thời, thiết thực, phát triển các thuật toán mới có khả năng mở rộng việc tìm kiếm và xử lý lƣợng lớn dữ liệu.

Trong khi các CSDL truyền thống chia sẻ kiến trúc và cấu trúc CSDL gần nhƣ theo một mẫu chung (ví dụ nhƣ lập trình động, chỉ mục B-tree …) thì sự khác biệt trong việc thực hiện các dịch vụ dựa trên đám mây là rất lớn. Trong khi vẫn còn quá sớm khi đƣa ra một kiến trúc “kinh điển” cho tất cả các dịch vụ dựa trên đám mây, nội

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

dung tiếp theo sẽ cố gắng để phân tích các biến thể kiến trúc, tạo tiền đề cho một so sánh ban đầu giữa các biến thể này trên phƣơng diện hiệu suất và chi phí.

Các dịch vụ dựa trên đám mây trong những năm gần đây chủ yếu sử dụng cơ sở dữ liệu phân tán xuất phát từ nhu cầu thực tế, hiệu quả công việc, độ tin cậy và tính sẵn sàng…

Các loại kiến trúc cơ sở dữ liệu (CSDL) phân tán

Kiến trúc cổ điển

Hình 2. 7: Kiến trúc cổ điển

Client  Web Server + Application Server  DB Server  SAN (Storage) Hình 2.1 mô tả kiến trúc cơ sở dữ liệu cổ điển đƣợc sử dụng trong hầu hết các ứng dụng CSDL hiện nay. Yêu cầu của ngƣời dùng sẽ đƣợc chuyển đến các máy có sẵn chạy web hoặc các trình ứng dụng qua một cân bằng tải. Các máy chủ mạng sẽ xử lý các yêu cầu của ngƣời dùng và máy chủ ứng dụng sẽ thực thi các ứng dụng đã đƣợc thiết lập, ví dụ nhƣ Java hoặc C++ đƣợc nhúng vào SQL (hoặc LINQ hay bất kỳ ngôn ngữ lập trình CSDL nào). Ngôn ngữ nhúng SQL đƣợc chuyển tới máy chủ CSDL để dịch yêu cầu của ngƣời dùng, trả về kết quả và có thể cập nhật lên CSDL. Để ổn định, máy chủ CSDL lƣu trữ tất cả dữ liệu và kết nối với thiết bị lƣu trữ. Giao diện giữa máy chủ CSDL và hệ thống lƣu trữ là các khối vật lý của dữ liệu (ví dụ mỗi khối có dung lƣợng 64KB) sử dụng các truy vấn get và put. Hệ thống lƣu trữ nguyên thủy sử dụng ổ đĩa có thể kết nối với máy tính chạy CSDL hoặc có thể tổ chức trong mạng lƣu trữ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

(storage area network – SAN). Thay cho các đĩa cững, hệ thống lƣu trữ thế hệ sau có thể dùng các đĩa bán dẫn, các bộ nhớ chính hoặc kết hợp rất nhiều các thiết bị lƣu trữ.

Kiến trúc CSDL cổ điển có rất nhiều ƣu điểm: Thứ nhất: Nó cho phép sử dụng các thành phần tốt nhất tại tất cả các tầng. Thứ hai: Kiến trúc cổ điển cho phép khả năng mở rộng và tính co giãn tại tầng lƣu trữ và web/ứng dụng (storage and web/application server layer). Chẳng hạn nhƣ, thông lƣợng của ứng dụng cần phải đƣợc điều chỉnh để đáp ứng sự gia tăng của client, ta có thể thêm các máy tính ở tầng máy chủ web/ứng dụng để xử lý lƣợng công việc tăng thêm này. Tƣơng tự nhƣ vậy, máy tính tại tầng này có thể đƣợc tắt đi hoặc sử dụng với mục đích khác khi khối lƣợng công việc giảm. Tại tầng lƣu trữ, máy tính (hoặc ổ đĩa) có thể đƣợc thêm vào hoặc gỡ ra phụ thuộc vào việc tăng băng thông của hệ thống lƣu trữ để tăng khối lƣợng công việc hoặc để xử lý việc thay đổi về kích cỡ của CSDL.

Khả năng xảy ra nút cổ chai trong kiến trúc cổ điển chính là ở máy chủ CSDL. Nếu máy chủ bị quá tải, chỉ cách giải quyết là mua một chiếc máy khác mạnh hơn. Máy tính đƣợc dùng làm máy chủ CSDL thƣờng là những máy khá đắt tiền vì nó phải chuẩn bị để giải quyết một khối lƣợng công việc lớn. Do đó, kiến trúc cổ điển bị giới hạn cả về khả năng mở rộng và giá cả, hai mục đích quan trọng của điện toán đám mây.

Kiến trúc phân đoạn

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 2.8 đã chỉ ra cách làm kiến trúc cổ điển thích nghi đƣợc với điện toán đám mây đã tạo nên cách dùng của kiến trúc phân đoạn. Ý tƣởng rất đơn giản, thay vì có một máy chủ CSDL duy nhất để điều khiển toàn bộ CSDL, CSDL sẽ đƣợc phân hoạch

Một phần của tài liệu nghiên cứu kiến trúc hệ thống tích hợp điện toán đám mây và lbs (Trang 46 - 80)