1.6.1. Ưu điểm
Điện toán đám mây giúp giảm chi phí máy tính. Để chạy các ứng dụng web của điện toán đám mây, các máy tính cá nhân không cần phải có hiệu suất cao và giá thành cao, cũng không cần phải có khả năng xử lý mạnh hoặc dung lƣợng lớn.
Điện toán đám mây giúp cải thiện hiệu suất của các máy tính cá nhân vì các máy tính này không cần phải cài nhiều chƣơng trình và chỉ có một số ít chƣơng trình và tiêns trình đƣợc nạp vào trong bộ nhớ.
Điện toán đám mây ra đời làm giảm giá thành phần mềm. Thay vì phải mua các phần mềm đắt đỏ, hầu hết mọi thứ ta đạt đƣợc đều miễn phí. Với các ứng dụng web, việc cập nhật diễn ra tự động, ứng dụng mà ngƣời dùng truy cập gần nhất chính là ứng dụng đƣợc cập nhật mới nhất.
Điện toán đám mây giúp cải thiện định dạng của văn bản. Dung lƣợng lƣu trữ trên điện toán đám mây cũng vô hạn, lên tới hàng trăm Pbytes, giúp lƣu trữ đƣợc mọi dữ liệu mà ngƣời dùng cần lƣu.
Điện toán đám mây cũng làm tăng độ tin cậy của dữ liệu, nếu một máy tính trên đám mây bị hỏng, việc lƣu trữ dữ liệu không hề bị ảnh hƣởng, tất cả các dữ liệu vẫn ở trên đám mây và truy cập đƣợc.
Điện toán đám mây cho phép truy cập dữ liệu toàn cầu, chỉ cần một máy tính nối mạng Internet là có thể truy cập đƣợc dữ liệu cho dù ngƣời dùng ở bất kỳ đâu.
Một ƣu điểm nữa của điện toán đám mây là độc lập thiết bị. Ngƣời dùng có thể truy cập đám mây từ bất kỳ máy tính nào hoặc từ bất kỳ thiết bị nào, miễn là thiết bị đó đƣợc kết nối với mạng Internet.
1.6.2. Nhược điểm
Để truy cập đƣợc vào đám mây và sử dụng các tiện ích mà đám mây cung cấp đòi hỏi thiết bị phải đƣợc kết nối vào mạng Internet. Nghĩa là nếu
không đƣợc kết nối với mạng, ngƣời dùng sẽ không thể truy cập đƣợc bất cứ thứ gì kể cả tài liệu của chính họ.
Kể cả khi đã đƣợc kết nối với mạng rồi, hiệu quả làm việc của ngƣời dùng vẫn có thể không cao nếu họ có kết nối mạng tốc độ chậm. Điện toán đám mây chỉ dành cho các mạng tốc độ nhanh, băng thông lớn.
Trên đám mây, tính năng của ứng dụng có thể bị giới hạn. Ngày nay nhiều ứng dụng dựa trên nền web không có đầy đủ tính năng nhƣ các ứng dụng desktop. Ví dụ khi dùng Google Present, ngƣời dùng không dùng đƣợc nhiều tính năng nhƣ dùng Microsoft PowerPoint. Các tính năng cơ bản có thể tƣơng tự nhau nhƣng điện toán đám mây thiếu rất nhiều tính năng nâng cao của PowerPoint.
Dữ liệu trên đám mây có thể không bảo mật. Với điện toán đám mây, tất cả dữ liệu của ngƣời dùng đƣợc lƣu trên đám mây. Các công ty điện toán đám mây nói rằng dữ liệu đựơc bảo mật. Tuy nhiên vấn đề bảo mật trên đám mây vẫn còn là một câu hỏi lớn. Ngoài ra việc mất mát dữ liệu trên đám mây cũng hoàn toàn có thể xảy ra.
1.7. Tổng kết chƣơng
Chƣơng này đã trình bày những khái niệm cơ bản về điện toán đám mây, kiến trúc, thành phần, ƣu nhƣợc điểm của điện toán đám mây.
Điện toán đám mây là các phát triển dựa vào mạng Internet sử dụng các công nghệ máy tính. Đây là một kiểu điện toán trong đó những tài nguyên tính toán và lƣu trữ đƣợc cung cấp nhƣ những dịch vụ trên mạng. Ngƣời dùng không cần biết hay có kinh nghiệm điều khiển và vận hành những công nghệ này.
Kiến trúc đám mây gồm: nền tảng đám mây (Cloud Platform), dịch vụ đám mây (Cloud Service), hạ tầng đám mây (Cloud Infrastructure), lƣu trữ đám mây (Cloud Storage).
Thành phần của điện toán đám mây bao gồm: Ứng dụng (Application), Máy khách (Clients), Cơ sở hạ tầng (Infrastruture), Nền tảng (Platform), Dịch vụ (Services), Lƣu trữ (Storage).
Điện toán đám mây ra đời mang lại rất nhiều lợi ích cho ngƣời sử dụng. Tuy nhiên điện toán đám mây cũng có một số nhƣợc điểm.
Hiện nay có rất nhiều nhà cung cấp dịch vụ điện toán đám mây. Mỗi nhà cung cấp cung cấp các đặc trƣng riêng cho điện toán đám mây của họ. Chƣơng sau sẽ đi tìm hiểu cụ thể nhà cung cấp điện toán đám mây Google để thấy đƣợc các tiện ích mà điện toán đám mây của Google mang lại và cách áp dụng vào quá trình phát triển phần mềm.
CHƢƠNG 2. NỀN TẢNG DỊCH VỤ GOOGLE APP ENGINE 2.1. Tổng quan về Google Apps
Google Apps là dịch vụ của Google cho phép kết hợp tên miền của cá nhân với các sản phẩm của Google. Các tính năng của Google Apps gồm các ứng dụng web tƣơng tự với bộ Office, bao gồm Gmail, Google Calendar, Google Talk, Google Docs, Google Sites… Google Apps đƣợc xây dựng trên nền tảng điện toán đám mây, cho phép ngƣời dùng sử dụng các ứng dụng trực tuyến từ bất kỳ nơi nào miễn là có kết nối internet. Ngoài ra, Google Apps còn cho phép ngƣời dùng tích hợp các ứng dụng từ bên thứ ba tại Google Apps Marketplace.
Gmail (Google Mail): là dịch vụ thƣ điện tử trên nền web và thƣ điện tử POP3 miễn phí. Gmail chạy đƣợc trên nhiều trình duyệt, hỗ trợ đa ngôn ngữ. Gmail cung cấp tiện ích tìm kiếm nâng cao cho ngƣời dùng: tìm kiếm theo ngƣời gửi, theo ngƣời nhận, theo chủ đề, theo từ có trong thƣ, theo ngày…Gmail có tính năng cho phép ngƣời dùng thêm tối đa 5 tài khoản để lấy thƣ về thông qua POP3. Gmail đƣợc tích hợp với Google Talk và Google Calendar.
Google Calendar: là ứng dụng web để quản lý thông tin liên lạc và quản lý thời gian của Google. Giao diện giống nhƣ một ứng dụng lịch trên máy tính, thiết kế bằng Ajax cho phép ngƣời dùng xem, thêm, kéo, thả các sự kiện từ một ngày sang một ngày khác, cho phép xem theo tuần, theo tháng, theo sự kiện. Google Calendar có thể đƣợc truy cập qua điện thoại di động.
Google Docs: là bộ soạn thảo văn bản, bảng tính, trình diễn, lƣu trữ dữ liệu miễn phí chạy trên nền web của Google, cho phép ngƣời dùng tạo và chỉnh sửa các văn bản trực tuyến. Google Docs là phần mềm dịch vụ (SaaS) của Google. Google Docs đƣợc truy cập qua web nên có thể truy cập đƣợc
vào bất kỳ lúc nào, từ bất cứ nơi đâu. Các trình duyệt có thể dùng là Firefox, Internet Explorer, Safari, Chrome, trên các hệ điều hành Microsoft Windows, App OS X, Linux. Có thể truy cập đƣợc qua điện thoại di động bằng Mobile Google Docs.
Google Cloud Connnect: là tiện ích điện toán đám mây miễn phí cho Windows Microsoft Offlice 2003, 2007, 2010, có thể tự động lƣu và đồng bộ bất kỳ một văn bản Microsoft nào. Google Cloud Connect có thể đƣợc tự động đồng bộ hoặc đƣợc đồng bộ với Google Docs bởi yếu tố con ngƣời khi có thay đổi với các tài liệu Microsoft Office. Các tài liệu có thể đƣợc chỉ một ngƣời dùng hoặc đƣợc dùng chung giữa nhiều ngƣời trong một tổ chức. Các tài liệu này sẽ tự động lƣu lại khi có thay đổi đƣợc lƣu trên Google Docs. Google Sync cho phép xem và chỉnh sửa các văn bản trên hầu hết các thiết bị di động có kết nối mạng.
Google Groups: là một dịch vụ của Google hỗ trợ việc trao đổi, thảo luận trong nhóm. Thành viên trong Google Groups trao đổi thông tin với nhau qua giao diện web hoặc thƣ điện tử. Nhóm có một trang web riêng, có thể quản lý các thành viên trong nhóm hoặc lƣu trữ các tài liệu của nhóm.
Google Sites: là một công cụ tạo ra trang web do Google cung cấp, đƣợc tích hợp với Google AdSense, Google Webmaster Tools, YouTube, Google Video, Google Docs, Google Calendar, Google Maps, Picasa…Google Sites tập trung hóa các văn bản, bảng tính, trình diễn, video…, có thể truy cập đƣợc bất kỳ lúc nào, từ bất kỳ nơi nào thông qua trình duyệt web, trên các máy tính cá nhân, Mac, Linux.
Google Video: là một công cụ tìm kiếm và chia sẻ video miễn phí của Google. Công cụ này cho phép nhúng video vào trang web và cung cấp mã HTML cần thiết của video. Mỗi video có địa chỉ web riêng theo định dạng http://video.google.com/videoplay?docid=<video id>.
Trình duyệt Chrome: là một trình duyệt web do Google phát triển, Chrome có thể chạy đƣợc trên các hệ thống chạy hệ điều hành Windows (XP Service Pack 2+/Vista/7), Mac OS X (10.5.6 hoặc các phiên bản sau đó, Intel), Linux (Ubuntu 8.04 hoặc các phiên bản sau đó, Debian 5/OpenSure 11.1).
Google App Marketplace: là một nơi lƣu trữ phần mềm trực tuyến, triển khai các ứng dụng tích hợp với phần mềm của Google nhƣ Google Mail, Google Docs, Google Calendar. Google App Marketplace tƣơng tự nơi lƣu trữ phần mềm của di động (iPhone hoặc Android). Ngƣời dùng có thể dễ dàng tìm kiếm các phần mềm tích hợp với ứng dụng của họ, cài đặt các ứng dụng chạy trên trình duyệt web.
Các thông điệp dựa trên nền web của Google và các ứng dụng không yêu cầu nhiều phần cứng, phần mềm, không cần nhiều thời gian xây dựng, do đó tiết kiệm chi phí. Ngƣời dùng cuối có thể dùng giao diện gần giống Microsoft Outlook cho dịch vụ email, địa chỉ liên lạc, lịch biểu khi họ chuyển từ dùng Gmail sang Google Calendar.
Dung lƣợng lƣu trữ lớn hơn 50 lần so với mức trung bình: mỗi ngƣời dùng có dung lƣợng lƣu trữ email là 25Gb, vì vậy ngƣời dùng có thể giữ các thƣ quan trọng và tìm kiếm chúng khi cần thiết bằng công cụ tìm kiếm Google. Gmail đƣợc thiết kế để ngƣời dùng mất ít thời gian quản lý hộp thƣ. Tính năng tiết kiệm thời gian gồm dán nhãn các thƣ, thƣ nhanh, lọc thƣ rác giúp ngƣời dùng làm việc hiệu quả hơn.
Google Apps cho phép truy cập thƣ điện tử, lịch, nhắn tin tức thời qua di động: khách hàng có thể sử dụng Google Apps ngay cả khi không ngồi ở bàn làm việc mà không mất thêm bất kỳ khoản phí nào, Google apps hỗ trợ truy cập bằng điện thoại qua BlackBerry, iPhone, Windows Mobile, Android và nhiều điện thoại mạnh khác.
Google Apps đảm bảo luôn luôn sẵn sàng, do đó đạt năng suất cao và không lo hệ thống bị sập. Với cơ chế đồng bộ, dữ liệu và các hoạt động trong Gmail, Google Calendar, Google Docs và Google Sites đƣợc lƣu giữ đồng thời trong nhiều trung tâm bảo mật dữ liệu. Nếu một trung tâm dữ liệu không thể đáp ứng đƣợc yêu cầu, hệ thống sẽ gọi đến một trung tâm dữ liệu khác, phục vụ ngƣời dùng mà không bị ngắt dịch vụ.
Google Apps đảm bảo bảo mật thông tin. Khi khách hàng đƣa thông tin công ty lên Google, khách hàng đƣợc đảm bảo thông tin của họ đƣợc an toàn và bảo mật. Đội bảo mật thông tin của Google bao gồm các chuyên gia về lĩnh vực thông tin, ứng dụng và bảo mật mạng trên thế giới nhằm giữ an toàn thông tin của khách hàng.
Google cung cấp cho ngƣời dùng quyền Quản trị và điều khiển dữ liệu. Quản trị hệ thống có thể tùy biến Google apps để đáp ứng kỹ thuật và các yêu cầu về nghiệp vụ. Các lựa chọn tích hợp cho phép kết nối Google Apps với các cơ sở hạ tầng công nghệ thông tin hiện tại: single sing on API kết nối Google Apps với hệ thống xác thực, User provisioning utility và API kết nối Google Apps với hệ thống thƣ mục ngƣời dùng. Email routing và email gateway cho phép chạy Google Apps cùng với một giải pháp thƣ điện tử. Tiện ích chuyển đổi thƣ điện tử và API cho phép chuyển từ giải pháp thƣ điện tử sang Google Apps.
Google hỗ trợ khách hàng 24/7. Google Apps tin cậy, dễ vận hành, hỗ trợ ngƣời quản trị. Các lựa chọn bao gồm: hỗ trợ qua điện thoại các vấn đề cấp thiết, hỗ trợ qua thƣ điện tử, hỗ trợ trực tuyến các dịch vụ của Google. Google Apps có một mạng lƣới sâu rộng các đối tác giúp triển khai, chuyển đổi dữ liệu, đào tạo ngƣời sử dụng, tích hợp hệ thống, phát triển ứng dụng.
Các tính năng có thể kể đến của Google apps là rẻ, nhiều ứng dụng tiện ích, hỗ trợ ngƣời dùng, độ tin cậy và bảo mật dữ liệu. Phí thƣờng niên là
50$/tài khoản/năm, không giới hạn số ngƣời sử dụng. Các ứng dụng tiện ích mà Google Apps cung cấp có thể kể đến nhƣ các ứng dụng thông điệp, tin nhắn: Gmail, Google Calendar, Google Groups, các ứng dụng cộng tác: Google Docs, Sites, Video… Ngoài ra Google Apps còn cung cấp các công cụ chuyển đổi và tích hợp cho ngƣời dùng.
Sau khi đăng ký tên miền với Google Apps, quản trị đƣợc cấp một trang quản trị với giao diện của Google Apps với tài khoản quản trị, mật khẩu tự thiết lập, và địa chỉ thƣ điện tử của admin là admin@domain_name. Tài khoản thƣ điện tử này đƣợc truy cập thông qua giao diện Gmail. Các dịch vụ do Google apps cung cấp có thể đƣợc sử dụng tại địa chỉ http://www.google.com/a/domain_name.
2.2. Google App Engine
Google App Engine là nền tảng điện toán đám mây theo mô hình PaaS. Google App Engine cho phép chạy ứng dụng web trên cơ sở hạ tầng của Google. Việc xây dựng, bảo trì, thay đổi ứng dụng rất dễ dàng, ngƣời dùng không cần phải bảo trì máy chủ mà chỉ cần đẩy ứng dụng lên máy chủ Google, khi đó Google sẽ phục vụ đáp ứng nhu cầu của ngƣời dùng.
Các ứng dụng đƣợc chuyển lên máy chủ thông qua Google Apps, tên miền của ứng dụng có thể là tên miền của khách hàng đã có hoặc sử dụng tên miền miễn phí appspot.com. Ngƣời dùng có thể thiết lập cho ứng dụng của mình đƣợc truy cập bởi tất cả mọi ngƣời hoặc giới hạn truy cập chỉ cho các thành viên trong tổ chức của mình. Google App Engine hỗ trợ các ứng dụng đƣợc viết bằng các ngôn ngữ Java hoặc Python.
Cũng nhƣ các dịch vụ điện toán đám mây khác, với App Engine, ngƣời dùng không phải trả phí cài đặt ban đầu và phí thƣờng niên mà chỉ phải trả cho những gì họ sử dụng, các tài nguyên lƣu trữ và băng thông sử dụng đƣợc tính theo gigabyte. Dung lƣợng lƣu trữ tối đa cho phép lên tới 500 MB, CPU
và băng thông cho phép phục vụ 5000 lần ghé thăm trang web 1 tháng. Trƣờng hợp ngƣời dùng phải trả phí cho ứng dụng, họ sẽ chỉ phải trả cho việc dùng các nguồn tài nguyên quá hạn mức mà Google cung cấp miễn phí.
Hiện nay Google Apps cung cấp cho ngƣời dùng các sản phẩm bao gồm: Google Apps (bản miễn phí), Google Apps cho thƣơng mại, Google Apps cho giáo dục, Google Apps cho chính phủ và Google Apps cho phi lợi nhuận.
App Engine hỗ trợ tích hợp ứng dụng với tài khoản Google để xác thực ngƣời dùng. Ứng dụng App Engine cho phép ngƣời dùng đăng nhập bằng tài khoản Google của họ mà không cần phải tạo thêm tài khoản nào khác.
2.3. Tính năng
Google App Engine hỗ trợ web động và các công nghệ web phổ biến hiện nay, Cho phép cơ sở dữ liệu có khả năng chấp nhận truy vấn liên tục, tự động cân bằng tải. Giao diện lập trình ứng dụng cho phép xác thực ngƣời dùng, gửi thƣ điện tử qua tài khoản Google.
Google App Engine cung cấp môi trƣờng phát triển đầy đủ tính năng giống nhƣ Google App Engine đƣợc cài đặt trên tính máy tính của ngƣời dùng.
Google App Engine có khả năng lập lịch cho các sự kiện xảy ra tại một thời điểm xác định trong khoảng thời gian định kỳ.
Ứng dụng có thể chạy trên hai môi trƣờng là Java và Python. Môi trƣờng chạy ứng dụng đƣợc bảo mật, có thể truy cập ứng dụng qua URL, dịch vụ thƣ điện tử, các yêu cầu HTTP, HTTPS. Ứng dụng không ghi đƣợc vào file hệ thống mà chỉ có thể đọc các file trong mã nguồn của ứng dụng. Ứng dụng chỉ đáp ứng một yêu cầu web, kết quả phải đƣợc trả về trong vòng 30 giây, sau khi kết quả đã đƣợc trả về, yêu cầu sẽ không thực hiện gọi các tiến trình con hay thực thi mã nguồn nữa.
2.4. Dịch vụ App Engine
URL fetch: các ứng dụng có thể truy cập các nguồn tài nguyên trên mạng (dữ liệu, dịch vụ web) qua dịch vụ tìm kiếm các tài nguyên trên mạng (URL fetch). Máy chủ tạo yêu cầu HTTP tới các máy chủ khác trên mạng, giống nhƣ truy vấn các trang hoặc tƣơng tác với dịch vụ web. Tất cả các yêu