Ở đó bao gồm một bộ các công cụ phát triển ứng dụng, môi trường trung gian để thư nghiệm ứng dụng được tạo ra và khả năng triển khai những ứng dụng đó.. Tìm hiểu PaaS• Nền tảng tích hợp
Trang 3Tổng quan về PaaS
Trang 4Tổng quan về PaaS
• PaaS là nền tảng của điện toán đám mây Ở đó bao gồm
một bộ các công cụ phát triển ứng dụng, môi trường trung gian để thư nghiệm ứng dụng được tạo ra và khả năng triển khai những ứng dụng đó.
• PaaS hỗ trợ triển khai ứng dụng mà không cần quan tâm
đến sự phức tạp hay chi phí của việc trang bị và quản lý các lớp phần cứng và phần mềm bên dưới Đồng thời PaaS
cung cấp tất cả các tính năng cần thiết để hỗ trợ chu trình sống đầy đủ của việc xây dựng ứng dụng và những dịch vụ web có sẵn trên internet
4
Trang 5Tổng quan về PaaS
• PaaS cung cấp cơ sở cho việc thiết kế ứng dụng, phát triển ứng dụng, triển khai ứng dụng, kiểm tra và lưu trữ Nó được tích hợp dịch vụ web, database, bảo mật, khả năng mở
rộng, bảo trì và nâng cấp ứng dụng
Trang 6Tổng quan về PaaS
6
Trang 7•PaaS dựa trên kiến trúc đa chiếm hữu (multi-tenancy
architrcture) : người dùng chạy những bản sao ứng dụng của
họ tách biệt với nhau dựa trên ảo hóa vì thế mã nguồn và dữ liệu của khách hàng hoàn toàn bị cô lập với nhau (Chapter
12)
Trang 8Tìm hiểu PaaS
• Paas đáp ứng vòng đời phát triển hoàn chỉnh, hỗ trợ cộng tác nhóm phát triển
• PaaS cũng bao gồm dịch vụ nền tảng như SOAP, XML…
• Cung cấp khả năng triển khai, quản lý, kiểm tra và duy trì những ứng dụng đã phát triển
8
Trang 10Tìm hiểu PaaS
Các phương pháp tiếp cận PaaS: tùy vào nhu cầu sử dung
khác nhau của từng đối tượng sẽ có những cách tiếp cận khác nhau nhưng có thể chia thành 3 loại chính như sau:
•Nền tảng tích hợp sẵn vòng đời
•Nền tảng tích hợp vòng đời và phần mềm business
•Sử dụng công nghệ như một nền tảng
10
Trang 11Tìm hiểu PaaS
• Nền tảng tích hợp sẵn vòng đời: nhà cung cấp platform sẽ
cung cấp miễn phí cho các nhà phát triển một bộ công cụ để phát triển ứng dụng trên nền tảng Web như là: hệ điều hành, ngôn ngữ lập trình, bảo mật, lưu trữ, kiểm soát…
• Dịch vụ và công cụ của bên thứ 3
VD: Google App Engine và Microsoft’s Azure
Trang 12Tìm hiểu PaaS
• Nền tảng tích hợp vòng đời và phần mềm business: về cơ
bản giống với nền tảng tích hợp sẵn vòng đời nhưng trong môi trường này còn đóng gói một phần mềm business ở lõi
• Nổi bật là Salesforce.com với nền tảng Force.com của nó Bên cạnh đó còn có Intuit với phần mềm tài chính
QuickBooks được tích hợp sẵn
12
Trang 13Tìm hiểu PaaS
• Sử dụng những công nghệ như một nền tảng :
Không phải tất cả nền tảng trong điện toán đều bao gồm
một môi trường hoàn chỉnh Một số nền tảng chỉ tập trung vào khả năng cung cấp những công cụ chuyên môn, đó là những công cụ riêng
VD: Amazon cung cấp bộ công cụ SimpleDB và Simple Query Services (SQS) để xây dựng ứng dụng Rightscale cung cấp nền tảng tích hợp công cụ quản lý đám mây
WaveMaker cho phép người dùng tùy chỉnh nền tảng của
họ và cho phép những nhà phát triển tái sử dụng mã nguồn bên trong môi trường PaaS…
Trang 14Tìm hiểu một số nhà cung cấp dịch vụ PaaS
• Google App Engine
• Nền tảng Force.com của Salesforce.com
• Microsoft’s Azure
• Intuit
14
Trang 15Google App Engine
Giới thiệu về Google App Engine :
Trang 16Google App Engine
Google App Engine là gì ?
Google App Engine (GAE) là một nền tảng hosting bao gồm web server, cơ sở dữ liệu BigTable và kho lưu trữ file GFS
GAE cho phép viết ứng dụng web dựa trên cơ sở hạ tầng của Google Nghĩa là bạn không cần quan tâm là trang web bạn được lưu trữ như thế nào (kể cả
database đi kèm), mà chỉ cần quan tâm đến việc phát triển ứng dụng theo các API do Google cung cấp
16
Trang 17Google App Engine
Môi trường Google App Engine :
Trang 18Google App Engine
Google không giúp khách hàng tạo ra mọi ứng dụng để
chạy trên mọi nền tảng Google chỉ giúp khách hàng xây
dựng các dụng trên nền tảng web Đó là một nền tảng triển khai và phát triển ứng dụng.
Một chu trình mà GAE xử lý ứng dụng web bao gồm: các bản ghi yêu cầu, kiểm tra tình trạng ứng dụng, cập nhập
phiên bản ứng dụng, vận hành CSDL cơ bản và sử lý công việc.
Google tích hợp tất cả các công cụ vào một môi trường duy nhất Khi khách hàng triển khai ứng dụng của họ vào môi trường của Google, họ cũng có thể truy cập IaaS của
18
Trang 19Google App Engine
Sự thuận tiện và dễ dàng sử dụng của GAE :
Không yêu cầu tải hay cài đặt bất cứ phần mềm nào từ phía nhà phát triển, hay người dùng cuối
Google App đưa ra một môi trường phát triển tích hợp đầy đủ
Dễ dàng mở rộng
Miễn phí để bắt đầu
Trang 20Google App Engine
Bên cạnh phát triển dịch vụ, Google cũng cung cấp những dịch vụ
khác như:
Tài khoản Google để chứng thực
Kho lưu trữ file GFS(Google File System)
BigTable để quản lý dữ liệu
Nó bao gồm những dịch vụ cơ sở hạ tầng như :
Trang 21Google App Engine
được nếu cài cùng với bộ
chuyển từ PHP sang Java
Trang 22Google App Engine
Google kết nối các ứng dụng web vào một môi trường để tạo thành
một cơ sở hạ tầng phục vụ có khả năng mở rộng Nó được thực
hiện bằng cách tích hợp các công cụ sau:
Python runtime: cung cấp ngôn ngữ lập trình cấp cao nhằm dễ
dàng xây dựng các ứng dụng Pythron bao gồm các mô hình và các gói đáp ứng khả năng tái sử dụng mã nguồn.
Java runtime: tích hợp các công cụ của Google và dự định
dùng cho AJAX hoặc tương tác với những ứng dụng web
Công cụ phát triển phần mềm (SDK)
Công cụ điều khiển quản lý dựa trên nền Web: giúp nhà phát
triển quản lý ứng dụng của họ
Kho dữ liệu: lưu trữ dữ liệu phần mềm ứng dụng Web, nó được
xây dựng dựa trên cấu trúc BigTable
22
Trang 23Google App Engine
Chi phí sử dụng GAE :
Giống như những nền tảng điện toán đám mây khác,
người dùng phải trả phí cho những gì họ sử dụng như chi phí cho việc lưu trữ và sử dụng băng thông
Tuy nhiên, họ không phải trả phí cho việc cài đặt, bảo trì ứng dụng
GAE cho phép miễn phí tới 500MB lưu trữ, 10GB băng thông lưu chuyển mỗi ngày tương đương với 5triệu page view mỗi tháng Khách hàng cũng có thể đăng ký đến 10 ứng dụng trên một account của nhà phát triển
Trang 24Google App Engine
Khi nhà phát triển tạo một ứng dụng, họ được cấp tài
nguyên sử dụng miễn phí bao gồm 6.5h sử dụng CPU một ngày và 1 GB dữ liệu một ngày
Nếu họ sử dụng vượt quá tài nguyên đó họ sẽ phải trả phí như sau:
0.10$ - 0.12$ cho mỗi giờ sử dụng CPU
0.15 $ - 0.18$ cho mỗi GB mỗi tháng dung lượng
0.11$ - 0.13$ cho mỗi GB băng thông đi
0.09$ - 0.11$ cho mỗi GB băng thông tới
0.15$ cho mỗi GB lưu trữ mỗi tháng
0.0001$ cho mỗi email
24
Trang 25Google App Engine
Nhược điểm của GAE :
Việc xây dựng ứng dụng trên GAE làm bạn phụ thuộc
hoàn toàn vào các công nghệ của Google và rất khó có
thể tách ra thành một ứng dụng độc lập
Yahoo hay Microsoft sẽ chẳng bao giờ mua một ứng
dụng xây dựng trên nền tảng của đối thủ
Các nhà đầu tư cũng rất e ngại khi tài sản của công ty bạn đặt hết vào tay người khác, dù cho đó là Google
Trang 26Nền tảng Force.com của Salesforce.com
Các thành phần của platform force.com
•Kiến trúc siêu dữ liệu: kiến trúc siêu dữ liệu được dùng để
hỗ trợ nhiều phương pháp tiếp cận nền tảng khác nhau Lớp siêu dữ liệu này thì phức tạp và gồm có một server ứng dụng gọi là Resin Server này là một server ứng dụng XML hiệu
xuất rất cao được sử dụng với Java Server Pages (JSPs),
Servlets, JavaBeans, XML và một loạt những công nghệ khác
•Dịch vụ cung cấp cơ sở hạ tầng: điện toán đám mây của
Salesforce.com được cung cấp bởi cơ sở hạ tầng dựa trên môi trường trung tâm dữ liệu bảo mật và được quản lý bởi
CMR(Customer Relationship Management)
26
Trang 27Nền tảng Force.com của Salesforce.com
• Dịch vụ database: cơ sở dữ liệu được xây dựng dựa trên
nền tảng của các dịch vụ siêu dữ liệu Cung cấp bảo mật dữ liệu bằng cách cho phép khách hàng khai báo các quy tắc xác nhận, chứng thực tài khoản hợp lệ
• Dịch vụ Tích hợp : dịch vụ Web API (Application
Prgramming Interface) cho phép khách hàng truy cập dữ
liệu được lưu trữ trong một ứng dụng Force.com, ngoài ra còn tích hợp sẵn các dịch vụ Web của Amazon, Facebook và Google App Engine Hỗ trợ nhiều chuẩn Web như NET,
PHP, PERL…
Trang 28Nền tảng Force.com của Salesforce.com
• Giao diện người dùng: Force.com cung cấp hai cách tùy
biến giao diện người dùng
• dùng virtualForce để xây dựng giao diện người dùng
• Dùng metadata-driven để tạo ra giao diện người dùng và bố cục trang
• Ngoài ra có thể sử dụng các công cụ như HTML, AJAX và Adobe Flex để phát triển giao diện người dùng
• Công cụ phát triển(Development) : là một bộ các công cụ
gồm có Metadata API, IDE, sanbox và một dịch vụ gọi là Code Share để xây dựng các ứng dụng trên nền tảng điện toán đám mây
28
Trang 29Nền tảng Force.com của Salesforce.com
Chi phí:
Trang 30Microsoft Azure
• Trọng tâm chính của nền tảng Azure là mang lại mô hình
lập trình quen thuộc của Microsoft vào trong đám mây, bên cạnh đó cũng hỗ trợ những mô hình khác như Ruby on Rails
và Python
• Microsoft hỗ trợ nhiều giao thức Internet khác nhau như
HTTP, SOAP, REST và XML
30
Trang 31Microsoft Azure
Nền tảng Azure gồm 4 thành phần:
•Window Azure: chạy các ứng dụng tại local và lưu trữ dữ liệu liên
quan vào các máy chủ bên trong trung tâm dữ liệu của Microsoft
•Microsoft NET: công cụ NET được tích hợp sẵn trong Window và
nó đã được mở rộng để hỗ trợ điện toán đám mây
•Microsoft SQL: đáp ứng khả năng mở rộng của Azure, nhằm lưu trữ
dữ liệu trong đám mây
•Live services: kết nối các dịch vụ của Window Live vào điện toán
đám mây, bao gồm khả năng kết nối, mở rộng và đồng bộ Đáp ứng những ngôn ngữ lập trình khác nhau và cho phép tất cả tài nguyên có thể lưu trữ trong một địa chỉ
Trang 33Microsoft Azure
• Giống như Google, người sử dụng Azure cũng phải trả phí cho những gì họ sử dụng Chi tiết như sau:
• Window Azure
0.12$ cho mỗi giờ
0.15$ cho mỗi GB lưu trữ
Giao dịch 0.01$ cho mỗi 10K
• SQL Azure
Phiên bản Web: 1GB database 9.99$
Phiên bản Doanh nghiệp: 10GB database 99.99$
• NET Services:
Tin nhắn: 0.15$ cho mỗi tin nhắn 100K
Băng thông trên tất cả các dịch vụ được tính 0.10$ vào và 0.15$ ra trên mỗi GB
Trang 34Nền tảng Intuit
• Thị trường mục tiêu của Intuit là các doanh nghiệp nhỏ và vừa sử dụng ứng dụng phổ biến QuickBooks để chạy các
hoạt động tài chính hàng ngày của họ
• Intuit đã sử dụng nền tảng này kết hợp với một loạt các vụ mua lại nhằm tạo ra một mô hình PaaS Hơn 80.000 nhà
phát triển và khoảng 4.000.000 khách hàng là một phần của
hệ sinh thái của công ty.
34
Trang 35• Thành phần Intuit bao gồm dịch vụ giao diện người dùng, dịch vụ thanh toán, quản lý tài khoản, quyền truy cập, dữ
liệu đăng ký vào một dịch vụ duy nhất…
Trang 36Nền tảng Intuit
Các thành phần của Intuit’s Parner platform
•QuickBase: cơ sở hạ tầng Web cho các doanh nghiệp nhỏ
bao gồm quy trình làm việc nhóm, thông tin liên lạc và quản lý công việc
•Workspace: môi trường làm việc của khách hàng, có thể sử
dụng độc lập hoặc tích hợp QuickBooks, đây cũng là nơi theo dõi các tài khoản và doanh thu
•Mô hình liên kết ứng dụng: có 4 phương pháp tích hợp
Trang 38Sử dụng PaaS
• Thử nghiệm ứng dụng trên đám mây: có rất nhiều nhà
cung cấp lớn nhỏ cung cấp cho bạn môi trường để thử
nghiệm ứng dụng của bạn trước khi bạn muốn triển khai
ưng dụng đó trên nền tảng điện toán đám mây nội bộ hay công cộng như HP, IBM, các công ty độc lập khác như Ikto hay SOASTA…
• Quản lý dịch vụ cho điện toán đám mây: quản lý các ứng
dụng được tạo trên đám mây là phạm vi phức tạp mà mỗi nhà cung cấp quản lý trên nền tảng riêng của họ
38
Trang 39Sử dụng PaaS
• Tích hợp và cấu hình nền tảng: Để điện toán đám mây
phát triển mạnh, bạn cần sử dụng các công cụ dễ dàng tùy chỉnh các ứng dụng điện toán đám mây cho các nhu cầu
khác nhau của người dùng.
Trang 40Kết thúc Trân trọng cảm ơn
40