Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là chúng đang chạy trên một hệ thống duy nhất..
Trang 1BÁO CÁO MÔN HỌC TÍNH TOÁN LƯỚI
Đề tài: Điện Toán Đám Mây - Nền Tảng Dịch Vụ
(PaaS) Và Google App Engine
SVTH: Nguyễn Phan Anh (13070220)
Năm 2014
Trang 2MỤC LỤC
MỤC LỤC
DANH MỤC HÌNH ẢNH
CHƯƠNG 1: ĐIỆN TOÁN ĐÁM MÂY
1.1 Điện toán đám mây là gì ?
1.2 Ưu điểm và lợi ích
2.5 Lựa chọn nhà cung cấp PaaS
2.6 Sự lệ thuộc vào nhà cung cấp
CHƯƠNG 3: GOOGLE APP ENGINE
3.1 Google App Engine là gì ?
3.2 Kiến trúc hoạt động
3.3 Các thành phần và chức năng chính
3.3.1 Môi trường thực thi 3.3.2 Tập tin server tĩnh 3.3.3 Kho dữ liệu 3.3.4 Tài khoản Google 3.3.5 Công cụ lập trình 3.4 Hạn chế
TÀI LIỆU THAM KHẢO
Trang 3DANH MỤC HÌNH ẢNH
Hình 1.1 : Điện toán đám mây dưới góc nhìn của người sử dụng cuối
Hình 1.2 : Điện toán đám mây dưới góc nhìn của nhà phát triển
Hình 1.3 : Ưu điểm và lợi ích của Điện toán đám mấy
Hình 1.4: Các đặc tính cơ bản của điện toán đám mây
Hình 1.5: Ba mô hình phân phối Điện toán đám mây
Hình 1.6: Ba mô hình dịch vụ cơ bản của Điện toán đám mây
Hình 1.7: Ma trận so sánh ba mô hình dịch vụ cơ bản
Hình 1.8: Mức độ kiểm soát của người sử dụng đối với ba mô hình dịch vụ cơ bản
Hình 1.9: Các mô hình dịch vụ Điện toán đám mây
Hình 1.10: Các công ty cung cấp Điện toán đám mây
Trang 4CHƯƠNG 1: ĐIỆN TOÁN ĐÁM MÂY
1.1 Điện toán đám mây là gì ?
Điện toán đám mây là một giải pháp toàn diện cung cấp công nghệ thông tin như một dịch vụ Nó là một giải pháp điện toán dựa trên Internet ở đó cung cấp tài nguyên chia sẻ giống như dòng điện được phân phối trên lưới điện Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là chúng đang chạy trên một hệ thống duy nhất
Tính linh hoạt của Điện toán đám mây là chức năng phân phát tài nguyên theo yêu cầu Điều này tạo điều kiện thuận lợi cho việc sử dụng các tài nguyên tích lũy của hệ thống, phủ nhận sự cần thiết phải chỉ định phần cứng cụ thể cho một nhiệm vụ Trước Điện toán đám mây, các trang web và các ứng dụng dựa trên máy chủ đã được thi hành trên một hệ thống cụ thể Với sự ra đời của điện toán đám mây, các tài nguyên được sử dụng như một máy tính gộp ảo Cấu hình hợp nhất này cung cấp một môi trường ở đó các ứng dụng thực hiện một cách độc lập mà không quan tâm đến bất kỳ cấu hình cụ thể nào
Đối với người dùng cuối, Điện toán đám mây cung cấp các phần mềm và ứng dụng trên môi trường Internet và họ có thể sử dụng chúng với nhiều loại thiết bị, phương tiện khác nhau mọi lúc mọi nơi
Hình 1.1 : Điện toán đám mây dưới góc nhìn của người sử dụng cuối
Trang 5Đối với nhà phát triển ứng dụng và phần mềm, Điện toán đám mây cung cấp các thành phần để xây dựng và phát triển các ứng dụng và phần mềm trên môi trường Internet như môi trường phát triển, cơ sở dữ liệu…
Hình 1.2 : Điện toán đám mây dưới góc nhìn của nhà phát triển
1.2 Ƣu điểm và lợi ích
Điện toán đám mây coi việc thuê ngoài như một giải pháp và nó mang lại cho người dùng, doanh nghiệp sử dụng những lợi điểm:
Giảm thiểu chi phí: Người dùng, doanh nghiệp chỉ cần trả các chi phí liên quan tới
vận hành hệ thống hoặc chi phí sử dụng của ứng dụng và phần mềm Nghĩa là người dùng sử dụng bao nhiêu thì chỉ cần trả chi phí cho mục đích đó mà thôi
Tập trung vào giá trị cốt lõi: Doanh nghiệp sử dụng Điện toán đám mây để cung
cấp ứng dụng và phần mềm có thể tập trung vào phát triển các giá trị cốt lõi của sản phẩm hơn là phải quan tâm tới việc vận hành và duy trì phần cứng, phần mềm
Trang 6Khả năng mở rộng vũng mạnh: Điện toán đám mây cho phép khả năng điều chỉnh
quy mô ngay lập tức hoặc tăng lên hoặc giảm xuống, bất cứ lúc nào mà không cần giao kết dài hạn
Hình 1.3 : Ưu điểm và lợi ích của Điện toán đám mấy
1.3 Các đặc tính cơ bản
Điện toán đám mây có một số đặc tính cơ bản sau:
Phục vụ theo yêu cầu (On-demand self-service): Khả năng cung cấp cho một
khách hàng đơn lẻ có thể sử dụng điện toán như là máy chủ hoặc không gian lưu trữ mạng
và tự động được đáp ứng theo nhu cầu mà không cần phải yêu cầu thông qua nhân viên của nhà cung cấp dịch vụ
Sử dụng thông qua mạng (Broad network access): Khả năng sẵn sàng sử dụng
thông qua mạng và thông qua các cơ chế chuẩn nhằm thúc đẩy sử dụng cho nhiều nên tảng phía khách hàng như điện thoại di động, máy tính bảng, máy tính xách tay và máy trạm, …
Tài nguyên gộp chung (Resource pooling): Tài nguyên của nhà cung cấp dịch vụ
được gộp lại để phục vụ nhiều khách hàng sử dụng mô hình đa người thuê (multi-tenant), với nhiều tài nguyên ảo và tài nguyên vật lý khác nhau được bố trí và thu hồi một cách động theo như yêu cầu của khách hàng
Co giãn nhanh (Rapid elasticity): Khả năng có thể con giãn khi cung cấp và thu
hồi, tự động trong một số trường hợp, để co giãn quy mô nhanh chóng bên ngoài và bên trong tương xứng với yêu cầu Đối với khách hàng, các khả năng sẵn có cho trích lập dự phòng thường xuất hiện không giới hạn và có thể được khai khác trong bất kỳ số lượng vào bất cứ lúc nào
Dịch vụ có thể do lường (Measured service): Hệ thống điện toán đám mây tự động
kiểm soát và tối ưu hóa sử dụng tài nguyên bằng cách tận dụng khả năng đo lường ở một mức độ trừu tượng thích hợp cho các loại hình dịch vụ (ví dụ: không gian lưu trữ, xử lý,
Trang 7băng thông, và tài khoản sử dụng) Sử dụng tài nguyên có thể được theo dõi, kiểm soát và báo cáo, cung cấp minh bạch cho cả nhà cung cấp và người tiêu dùng của các dịch vụ sử dụng
Hình 1.4: Các đặc tính cơ bản của điện toán đám mây
1.4 Mô hình phân phối
Có ba mô hình phân phối của Điện toán đám mây:
- Điện toán đám mây công cộng
- Điện toán đám mây riêng tư
- Điện toán đám mây lai
Trang 8Hình 1.5: Ba mô hình phân phối Điện toán đám mây
Các đám mây công cộng có sẵn cho công chúng hoặc một nhóm ngành nghề lớn và
do một tổ chức bán các dịch vụ đám mây sở hữu và cung cấp Một đám mây công cộng là cái mà người ta hình dung là đám mây theo nghĩa thông thường: đó là các tài nguyên được cung cấp động trên Internet bằng cách sử dụng các ứng dụng web từ một nhà cung cấp bên thứ ba bên ngoài cung cấp các tài nguyên chia sẻ và gửi hóa đơn tính cước trên cơ sở tính toán việc sử dụng
Các đám mây riêng tƣ tồn tại bên trong tường lửa của công ty bạn và do tổ chức
của bạn quản lý Chúng là các dịch vụ đám mây do bạn tạo ra và kiểm soát trong doanh nghiệp của mình Các đám mây riêng tư cũng cung cấp nhiều lợi ích tương tự như các đám mây công cộng, sự khác biệt chủ yếu là tổ chức của bạn chịu trách nhiệm thiết lập và duy trì đám mây đó
Các đám mây lai là một sự kết hợp của đám mây công cộng và riêng tư khi sử dụng
các dịch vụ có trong cả hai vùng công cộng và riêng tư Các trách nhiệm quản lý được phân chia giữa các nhà cung cấp dịch vụ đám mây công cộng và chính doanh nghiệp Khi sử dụng một đám mây lai, các tổ chức có thể xác định các mục tiêu và các yêu cầu của các dịch vụ được tạo ra và có được chúng dựa vào sự lựa chọn thích hợp nhất
1.5 Mô hình dịch vụ
Trang 9Các nhà cung cấp dịch vụ Điện toán đám mây cung cấp các dịch vụ của họ theo ba
mô hình dịch vụ cơ bản:
- Cơ sở hạ tầng như là dịch vụ (IaaS)
- Nền tảng như là dịch vụ (PaaS)
- Phần mềm như là dịch vụ (SaaS)
Hình 1.6: Ba mô hình dịch vụ cơ bản của Điện toán đám mây
Tầng cơ sở hạ tầng là nền tảng của đám mây: Nó gồm có các tài sản vật lý bao
gồm các máy chủ, các thiết bị mạng, các ổ đĩa lưu trữ, v.v Cơ sở hạ tầng là một dịch
vụ (IaaS) có các nhà cung cấp như IBM® Cloud Khi sử dụng IaaS bạn thực tế không kiểm soát cơ sở hạ tầng nằm dưới, nhưng bạn có quyền kiểm soát các hệ điều hành, lưu trữ, triển khai các ứng dụng và ở một mức độ hạn chế, có quyền kiểm soát việc lựa chọn các thành phần mạng Dịch vụ in theo yêu cầu (POD) là một ví dụ về các tổ chức có thể hưởng lợi từ IaaS Mô hình POD được dựa trên việc bán sản phẩm có khả năng tùy chỉnh Các POD cho phép các cá nhân mở cửa hàng và bán thiết kế các sản phẩm Các chủ cửa hàng có thể tải lên nhiều hay ít thiết kế tùy theo khả năng sáng tạo của họ Có hàng ngàn lần tải lên Với các khả năng lưu trữ đám mây, một POD có thể cung cấp không gian lưu trữ không hạn chế
Tầng nền tảng hệ thống là tầng giữa: Nó cung cấp cơ sở hạ tầng của ứng dụng
Nền tảng hệ thống là một dịch vụ (PaaS) cung cấp sự truy cập đến các hệ điều hành và các dịch vụ có liên quan Nó cung cấp một cách để triển khai các ứng dụng lên đám mây bằng cách sử dụng các ngôn ngữ lập trình và các công cụ do nhà cung cấp hỗ trợ Bạn không cần phải quản lý hoặc kiểm soát cơ sở hạ tầng nằm dưới, nhưng bạn có quyền điều khiển các ứng dụng đã triển khai và ở một mức độ nào có quyền điều khiển ứng dụng sử dụng các cấu hình môi trường trên máy tính chủ.PaaS có các nhà cung cấp như là Elastic Compute Cloud (EC2) của Amazon Nhà phần mềm doanh nhân nhỏ là một hoạt động kinh doanh lý tưởng
Trang 10đối với PaaS Với nền tảng hệ thống đã chọn lọc kỹ, có thể tạo ra các sản phẩm đẳng cấp thế giới mà không thêm gánh nặng cho hệ thống đang chạy trong công ty
Tầng ứng dụng là tầng trên cùng: tầng mà hầu hết mọi người xem như là đám
mây Các ứng dụng chạy ở đây và được cung cấp theo yêu cầu của những người dùng Phần mềm là một dịch vụ (SaaS) có các nhà cung cấp như Google Pack Google Pack bao gồm các ứng dụng, các công cụ có thể sử dụng được qua Internet, như Calendar, Gmail, Google Talk, Docs và nhiều hơn nữa
Trang 11IaaS Cơ sở hạ
tầng là tài
sản
Luôn độc lập về nền tảng; chia sẻ chi phí cơ sở hạ tầng và do đó làm giảm chi phí này;
các thỏa thuận ở mức dịch vụ (SLA); trả tiền theo mức sử dụng,
tự điều chỉnh quy
mô
Điện toán lưới, điện toán tiện ích,
cá thể tính toán, siêu giám sát, bùng nổ lên đám mây, điện toán nhiều bên thuê, phân lượt tài nguyên
Tránh được chi phí vốn cho phần cứng và nguồn nhân lực; giảm rủi ro lợi tức đầu tư (ROI); rào cản thấp khi tham gia vào; điều chỉnh quy mô
tự động hóa và trơn tru
Năng xuất và hiệu quả kinh doanh phụ thuộc nhiều vào khả năng của nhà cung cấp; chi phí dài hạn có tiềm năng lớn hơn; sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới
Khi ngân sách vốn lớn hơn
so với ngân sách hoạt động
PaaS Mua giấy
phép sử
dụng
Dùng cơ sở hạ tầng đám mây;
cung cấp các phương pháp quản
lý dự án nhanh
Chồng giải pháp Triển khai phiên bản trơn
tru
Sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới
các thành phần điện toán đám mây qua các API;
được ghép lỏng;
theo mô đun; khả năng tương tác theo ngữ nghĩa
Máy khách nhẹ; ứng dụng khách-chủ
Tránh được chi phí vốn cho phần mềm và phát triển tài nguyên; giảm rủi ro lợi tức đầu tư (ROI);
cập nhật lặp nhiều lần và trơn tru
Sự tập trung hóa đòi hỏi các biện pháp an ninh khác hoặc mới
Không có
Hình 1.7: Ma trận so sánh ba mô hình dịch vụ cơ bản
Trang 12Hình 1.8: Mức độ kiểm soát của người sử dụng đối với ba mô hình dịch vụ cơ bản
Hiện nay, do Điện toán đám mây phát triển nhanh chóng nên xuất hiện nhiều loại mô hình dịch vụ Điện toán đám mây mới và xuất hiện khái niệm mọi thứ đều là dịch vụ (XaaS)
Trang 13Hình 1.9: Các mô hình dịch vụ Điện toán đám mây
Trang 14Hình 1.10: Các công ty cung cấp Điện toán đám mây
Trang 15Khi PaaS có sẵn như một dịch vụ, các nhà phát triển có thể kiểm soát toàn bộ việc phát triển và triển khai ứng dụng PaaS cho phép các nhà phát triển tạo ra các ứng dụng web tùy chỉnh và phát hành nó một cách nhanh chóng, khi nhiều rắc rối như việc thiết lập hệ thống, lưu trữ, cơ sở dữ liệu, quá trình tương tác người dùng và những nền tảng được đóng gói
Trang 162.2 Ƣu điểm và lợi ích
Dịch vụ nền tảng (PaaS) đang ở thời kì đầu và được ưa chuộng ở những tính năng được ưa thích bởi nó cung cấp dịch vụ phần mềm có tích hợp các yếu tố về nền tảng hệ thống
Ưu điểm trong những dự án tập hợp những công việc nhóm có sự phân tán về địa lý Khả năng tích hợp nhiều nguồn của dịch vụ web
Giảm chi phí ngoài lề khi tích hợp các dịch vụ về bảo mật, khả năng mở rộng, kiểm soát lỗi…
Giảm chi phí khi trừu tượng hóa công việc lập trình ở mức cao để tạo dịch vụ, giao diện người dùng và các yếu tố ứng dụng khác
Hướng việc sử dụng công nghệ để đạt được mục đích tạo điều kiện dễ dàng hơn cho việc phát triển ứng dụng đa người dùng cho những người không chỉ trong nhóm lập trình mà
có thể kết hợp nhiều nhóm cùng làm việc
2.3 Các đặc trƣng cơ bản
Khung công tác phát triển ứng dụng: Một khung công tác phát triển ứng dụng vững
mạnh được xây dựng trên công nghệ được sử dụng rộng rãi
Dễ sử dụng: Một PaaS nên đi kèm với các công cụ WYSIWYG dễ sử dụng có các
tiện ích (widget) dựng sẵn, các thành phần giao diện người dùng đóng hộp, các công cụ kéo thả, và hỗ trợ cho một số môi trường phát triển (IDE) chuẩn Nó sẽ tạo điều kiện thuận lợi cho việc phát triển ứng dụng lặp lại, nhanh chóng
Các công cụ mô hình hóa quy trình nghiệp vụ (BPM): Bạn cần một khung công
tác BPM mạnh mẽ cho phép bạn mô hình hóa quy trình nghiệp vụ của mình và xây dựng ứng dụng xung quanh nó
Khả năng sẵn sàng: Nền tảng được chọn phải có thể truy cập được và có sẵn ở bất
cứ đâu, bất cứ lúc nào
Khả năng mở rộng: Nền tảng này phải đủ thông minh để tận dụng khả năng co giãn
của một cơ sở hạ tầng bên dưới để xử lý các tải sẽ dùng ứng dụng
An toàn: Để chống lại có hiệu quả các mối đe dọa, nền tảng cần giải quyết được
những thứ XSS, SQL Injection, tấn công từ chối dịch vụ (DDOS), Ngoài ra, nền tảng phải
hỗ trợ các khả năng đăng nhập một lần cho bạn để có thể tích hợp nó với các ứng dụng tại
chỗ còn lại của bạn hoặc bất kỳ ứng dụng điện toán đám mây nào khác
Tính hòa nhập: Nền tảng này cần cung cấp khả năng để bao gồm, nhúng, và tích
hợp các ứng dụng khác đã xây dựng trên cùng nền tảng hoặc các nền tảng khác
Trang 17Tính di động: Nền tảng này không cần quan tâm đến cơ sở hạ tầng bên dưới và cho
phép các công ty di chuyển ứng dụng từ IaaS này đến IaaS khác
Các công cụ chuyển đổi: Để tạo điều kiện di chuyển dữ liệu dễ dàng và nhanh
chóng từ di sản ứng dụng tại chỗ đến ứng dụng dựa trên nền tảng mới, các công cụ chuyển đổi nhập khẩu lớn là một phần cần thiết của bộ công cụ của nền tảng này
API: Để thực hiện các nhiệm vụ như xác thực người dùng và lưu trữ và lấy ra các
tập tin và thậm chí đôi khi thực hiện cuộc gọi trực tiếp đến một cơ sở dữ liệu, nền tảng cần
có một API có đủ tài liệu cần thiết Điều này sẽ cho phép hoạt động nghiệp vụ của bạn có thể linh hoạt trong việc tạo và tùy chỉnh một ứng dụng phần mềm để giao tiếp với nền tảng, đáp ứng các nhu cầu cụ thể của công ty
2.4 Các thành phần và mô hình PaaS
Cách tốt nhất để hiểu PaaS là tách rời ra các thành phần chính của nó: nền tảng và dịch vụ Bây giờ, hãy xem xét dịch vụ được cung cấp, được gọi là chồng giải pháp Như vậy, việc cho rằng hai thành phần chính của PaaS là nền tảng điện toán và chồng giải pháp là hợp lôgic
Để minh họa hai thành phần này, chúng ta hãy xem xét kỹ hơn vào các định nghĩa của chúng:
Một nền tảng điện toán, dưới dạng đơn giản nhất, đề cập đến một nơi mà phần mềm
có thể được khởi chạy một cách nhất quán miễn là mã đáp ứng được các tiêu chuẩn của nền tảng đó Các ví dụ phổ biến của các nền tảng gồm có Windows, Apple Mac OS X và Linux cho các hệ điều hành Google Android, Windows Mobile và Apple iOS cho điện toán di động Adobe AIR hay Microsoft NET Framework cho các khung công tác phần mềm
Hình 2.2: Các thành phần PaaS