Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đềuđược cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ từ mộtnhà cung cấp nào đó "t
Trang 1CH ƯƠNG 1 TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY NG 1 T NG QUAN V ĐI N TOÁN ĐÁM MÂY ỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY Ề ĐIỆN TOÁN ĐÁM MÂY ỆN TOÁN ĐÁM MÂY
Thuật ngữ điện toán đám mây (Cloud computing) được đề cập lần đầu tiên vào năm
2007 Đây là một kiểu điện toán mà tài nguyên tính toán và lưu trữ được cung cấp như nhữngdịch vụ trên mạng Đám mây là hình ảnh ẩn dụ cho mạng Internet và là sự trừu tượng chonhững cơ sở hạ tầng phức tạp mà nó che giấu 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
Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet và các cơ sở hạ tầng phứctạp mà nó chứa Ở mô hình điện toán này, mọi khả năng liên quan đến công nghệ thông tin đềuđược cung cấp dưới dạng các "dịch vụ", cho phép người sử dụng truy cập các dịch vụ từ mộtnhà cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm vềcông nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ công nghệ đó
Ví dụ nếu một website được chứa trên một máy chủ, người dùng phải lựa chọn hệ điềuhành để cài đặt (Linux/Windows/Mac) sau đó tiến hành các thiết lập để máy chủ để website cóthể hoạt động Tuy nhiên, nếu trang web được chứa trên “đám mây”, người dùng sẽ không cầnphải thực hiện thêm bất cứ điều gì khác Điều này cũng đảm bảo yếu tố đầu tư về phần cứngđược giảm tải ở mức tối đa
Một cách đơn giản, điện toán đám mây là việc ảo hóa các tài nguyên tính toán và cácứng dụng Thay vì việc bạn sử dụng một hoặc nhiều máy chủ thật (ngay trước mắt, có thể sờđược, có thể tự bạn ấn nút bật tắt được) thì nay bạn sẽ sử dụng các tài nguyên được ảo hóa(virtualized) thông qua môi trường Internet Bản thân từ đám mây (cloud) là một từ ẩn dụ(metaphor) cho Internet
Các máy chủ ảo sẽ cung cấp các dịch vụ giúp cho doanh nghiệp có thể quản lý tàinguyên một cách dễ dàng và hiệu quả hơn, tiết kiệm chi phí cho việc đầu tư cơ sở hạ tầng –công nghệ Xu hướng này nhìn chung sẽ có lợi nhiều hơn cho các doanh nghiệp vừa và nhỏchưa có điều kiện đầu tư cơ sở hạn tầng mạng, server, nhân lực công nghệ thông tin
1 Khái ni m đi n toán đám mây ệm điện toán đám mây ệm điện toán đám mây
Theo định nghĩa của Wikipedia thì ĐTĐM là môi trường tính toán dựa trên internet mà
ở đó tất cả phần mềm, dữ liệu, tài nguyên được cung cấp cho máy tính và các thiết bị khác theonhu cầu
Trang 2Hình 1.1 Mọi thứ đều tập trung vào đám mâyĐứng ở góc nhìn khoa học kỹ thuật cũng có nhiều định nghĩa khác nhau, trong đó có haiđịnh nghĩa của Ian Foster và Rajkumar Buyya được dùng khá phổ biến và có nhiều điểm tươngđồng
Theo Ian Foster: Cloud Computing là một mô hình điện toán phân tán
có tính co giãn lớn mà hướng theo co giãn về mặt kinh tế, là nơi chứa các sức mạnh tính toán, kho lưu trữ, các nền tảng và các dịch vụ được trực quan, ảo hóa và co giãn linh động, sẽ được phân phối theo nhu cầu cho các khách hàng bên ngoài thông qua Internet
Theo Rajkumar Buyya: Cloud là một loại hệ thống phân bố và xử lý song gồm các máy
tính ảo kết nối với nhau và được cung cấp động cho người dùng như một hoặc nhiều tài nguyên đồng nhất dựa trên sự thỏa thuận dịch vụ giữa nhà cung cấp và người sử dụng.
Trang 3Hình 1.2 Hình ảnh của điện toán đám mây
Theo tổ chức Xã hội máy tính IEEE, “Điện toán đám mây là hình mẫu trong đó thông
tin được lưu trữ thường trực tại các máy chủ trên Internet và chỉ được được lưu trữ tạm thời ở các máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính trong doanh nghiệp, các phương tiện máy tính cầm tay, ".
2 Các tính ch t c b n c a đi n toán đám mây ất cơ bản của điện toán đám mây ơ bản của điện toán đám mây ản của điện toán đám mây ủa điện toán đám mây ệm điện toán đám mây
2.1 Tự phục vụ theo nhu cầu (On-demand self-service)
2.2 Truy xuất diện rộng (Broad network access)
2.3 Dùng chung tài nguyên (Resource pooling)
2.4 Khả năng co giãn (Rapid elasticity)
2.5 Điều tiết dịch vụ (Measured service)
3 Các mô hình đi n toán đám mây ệm điện toán đám mây
Các mô hình điện toán đám mây được phân thành hai loại:
- Các mô hình dịch vụ (Service Models): Phân loại các dịch vụ của các nhà cung cấp
dịch vụ Cloud Computing
- Các mô hình triển khai (Deployment Models): Phân loại cách thức triển khai dịch vụ
Cloud Computing đến với khách hàng
Trang 41 3.1 Mô hình d ch v ịch vụ ụ
Hình 1.3 Các loại dịch vụ Cloud Computing
Infrastructure as a Service – IaaS
Trong loại dịch vụ này, khách hàng được cung cấp những tài nguyên máy tính cơ bản(như bộ xử lý, dung lượng lưu trữ, các kết nối mạng…) Khách hàng sẽ cài hệ điều hành, triểnkhai ứng dụng và có thể nối các thành phần như tường lửa và bộ cân bằng tải Nhà cung cấpdịch vụ sẽ quản lý cơ sở hạ tầng cơ bản bên dưới, khách hàng sẽ phải quản lý hệ điều hành, lưutrữ, các ứng dụng triển khai trên hệ thống, các kết nối giữa các thành phần
Platform as a Service – PaaS
Nhà cung cấp dịch vụ sẽ cung cấp một nền tảng (platform) cho khách hàng Khách hàngsẽ tự phát triển ứng dụng của mình nhờ các công cụ và môi trường phát triển được cung cấphoặc cài đặt các ứng dụng sẵn có trên nền platform đó Khách hàng không cần phải quản lýhoặc kiểm soát các cơ sở hạ tầng bên dưới bao gồm cả mạng, máy chủ, hệ điều hành, lưu trữ,các công cụ, môi trường phát triển ứng dụng nhưng quản lý các ứng dụng mình cài đặt hoặc
Trang 5Software as a Service – SaaS
Đây là mô hình dịch vụ mà trong đó nhà cung cấp dịch vụ sẽ cung cấp cho khách hàngmột phần mềm dạng dịch vụ hoàn chỉnh Khách hàng chỉ cần lựa chọn ứng dụng phần mềmnào phù hợp với nhu cầu và chạy ứng dụng đó trên cơ sở hạ tầng Cloud Mô hình này giảiphóng người dùng khỏi việc quản lý hệ thống, cơ sở hạ tầng, hệ điều hành… tất cả sẽ do nhàcung cấp dịch vụ quản lý và kiểm soát để đảm bảo ứng dụng luôn sẵn sàng và hoạt động ổnđịnh
2 3.2 Mô hình tri n khai ển khai
Cho dù sử dụng loại mô hình dịch vụ nào đi nữa thì cũng có ba mô hình triển khai chínhlà: Public Cloud, Private Cloud và Hybrid Cloud
Hình Các mô hình triển khai ĐTĐM
3.2.1 Public Cloud
Các dịch vụ Cloud được nhà cung cấp dịch vụ cung cấp cho mọi người sử dụng rộng rãi.Các dịch vụ được cung cấp và quản lý bởi một nhà cung cấp dịch vụ và các ứng dụng củangười dùng đều nằm trên hệ thống Cloud
Đám mây công cộng (hay còn gọi là đám mây ngoài) – bất kỳ dịch vụ CNTT được duytrì bởi một nhà cung cấp dịch vụ bên ngoài và được truy cập thông qua Internet –giúp giảm chiphí, tăng hiệu quả CNTT nhưng lại gặp vấn đề về mất an ninh, thiếu tin cậy, lộn xộn và nguy
cơ thảm họa Trong một cuộc khảo sát gần đây của Portio Research, 68% số người được hỏi tỏ
ra lo ngại về an ninh từ các dự án mây; 58% nói rằng hiệu suất cũng là một nhược điểm
“Trong đám mây công cộng điều đáng lo ngại là dữ liệu của bạn nằm trên cơ sở hạ tầngkhác của nhà cung cấp dịch vụ”, ông Vince DiMemmo, Tổng giám đốc dịch vụ đám mây vàCNTT tại công ty Equinix chuyên về dịch vụ và trung tâm dữ liệu cho thuê, cho biết “Khi bạn
Trang 6sẽ không so sánh những gì mà một nhà cung cấp dịch vụ cung cấp với những gì họ làm trongcác hệ thống riêng của họ Khách hàng có xu hướng lo lắng nhiều về mây, không yên tâm nhưvới các dịch vụ thuê chỗ đặt máy chủ hay thuê máy chủ mà họ đã sử dụng lâu nay”.
Không có nhiều sự khác biệt giữa các dịch vụ thuê chỗ (đặt máy chủ) hay thuê máy chủ
và dịch vụ đám mây trong thị trường PaaS (Platform as a Service – nền tảng như một dịch vụ),
có nghĩa là bất kỳ tổ chức CNTT cùng với các nhà cung cấp bên ngoài đã sẵn sàng mọi thứ chomột nhà cung cấp mây, theo Jim Levesque, lập trình viên hệ thống và giám sát hệ thống phụchồi thảm họa dựa trên đám mây và hệ thống sao lưu dự phòng của Sở cấp thoát nước và nănglượng Los Angeles với mạng lưới ứng dụng doanh nghiệp dùng 600 máy chủ
“Bạn kiểm tra an ninh, đảm bảo về tài chính của họ thì họ sẽ không biến mất ngay lậptức Hãy thuyết phục khách hàng chắc chắn có dự phòng tốt cho các kết nối, truy cập vào/ra vàtruy cập mạng cũng như nguồn điện năng cung cấp, những kế hoạch khẩn cấp, tóm lại là tất cảmọi thứ quan trọng”, Levesque nói
Nhưng nhiều khách hàng lại tỏ ra lo lắng sẽ bị lệ thuộc vào công ty dịch vụ nếu các API(giao diện lập trình ứng dụng), hệ thống và các giao diện mà nhà cung cấp dịch vụ đám mâycủa họ không cho phép họ quay trở lại với các máy chủ nội bộ hoặc chuyển sang hạ tầng củamột nhà cung cấp khác, theo Karl MacDonald, trưởng bộ phận truyền bá của nhà cung cấp dịch
đa đối với dữ liệu, bảo mật và chất lượng dịch vụ
Như là hình thức phổ biến nhất của điện toán đám mây (và thuận tiện cho nhà cung cấpmáy chủ ảo VMware) các đám mây riêng (dùng cho nội bộ doanh nghiệp) cho phép một công
ty phủ các lớp ảo hóa và phần mềm quản lý lên cơ sở hạ tầng hiện có để liên kết các máy chủ,lưu trữ , mạng, dữ liệu và các ứng dụng Mục tiêu: Sau khi chúng được kết nối với nhau và ảohóa, CNTT có thể chuyển đổi lưu trữ, năng lực tính toán hoặc các nguồn tài nguyên khác, mộtcách vô hình, từ một nơi tới nơi khác để cung cấp cho tất cả các bộ phận người dùng cuối mọinguồn tài nguyên mà họ cần bất cứ lúc nào, nhưng không có nhiều hơn thế
Sự khác nhau giữa môi trường ảo hóa cao và đám mây riêng là gì? VMware cho biếtmột đám mây riêng cũng cần phải đạt mức độ tự động hóa quản lý cao và cung cấp khả năngthanh toán cho các bộ phận kinh doanh Các đám mây riêng làm cho việc quản lý thông tin vàcông nghệ dễ dàng hơn, nhưng sẽ gây xáo động cho hầu hết các tổ chức CNTT đã được xâydựng qua nhiều thập kỷ, Wolf nói “Hiện giờ các máy chủ trao đổi với nhau, không phải mạnghoặc hỗ trợ hay bất cứ điều gì khác”, ông nói “Nếu mọi thứ đều ảo hóa, mọi thứ đều bố trí theotừng chỗ, thì công việc của bạn không thể được xác định theo nơi bạn ngồi”
Trang 7Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud Trong đó doanh nghiệpsẽ “out-source” các chức năng nghiệp vụ và dữ liệu không quan trọng, sử dụng các dịch vụPublic Cloud để giải quyết và xử lý các dữ liệu này Đồng thời, doanh nghiệp sẽ giữ lại cácchức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud) Một khókhăn khi áp dụng mô hình Hybrid Cloud là làm sao triển khai cùng một ứng dụng trên cả haiphía Public và Private Cloud sao cho ứng dụng đó có thể kết nối, trao đổi dữ liệu để hoạt độngmột cách hiệu quả
Tương lai gần của CNTT là mô hình đám mây lai, Wolf nói Điện toán đám mây lai cóthể bao gồm một hỗn hợp các đám mây nội bộ, các dịch vụ đám mây bên ngoài và những lựachọn SaaS (Software as a Service – phần mềm như là dịch vụ) truyền thống Việc lai ghép cácmảnh nên tính đến từng doanh nghiệp cụ thể và tùy theo từng tổ chức CNTT cung cấp dịch vụ,ông nói
Một số công ty vừa và nhỏ phải đối mặt với tình trạng khó xử tương tự như người đànông đã trưởng thành cứ nhất mực cho rằng mình có thể mặc chiếc quần jean thời trung học khi
mà hiện bụng đã phệ Giám đốc điều hành thường giữ chặt ngân quỹ hơn qua mỗi quý
Chia nhỏ các dịch vụ theo yêu cầu có thể phù hợp với những hóa đơn ở đây Khởi đầu,được hình thành cho các ứng dụng như kiểm thử và phát triển theo yêu cầu, các môi trường(chẳng hạn như cần tới 100 máy trạm ảo để kiểm thử một kịch bản phân phối phần mềm) theoyêu cầu được CloudShare, Soonr hoặc Microsoft Azure cung cấp các phiên bản mini của cácđám mây có quy mô lớn
Thay vì mua dịch vụ quy mô lớn từ Amazon hoặc các công ty lưu trữ khác mà phải nhọccông với rất nhiều công việc, từ cấu hình tới quản lý, bạn chỉ cần một dịch vụ cung cấp nềntảng CNTT theo yêu cầu cho các nhóm làm việc chứ không phải là toàn doanh nghiệp, theoSteve Peltzman, Giám đốc CNTT của Bảo tàng nghệ thuật hiện đại của TP.New York
“Chúng tôi, giống như rất nhiều công ty, chỉ có một bộ các máy chủ hoạt động cho bất
cứ điều gì, và bạn không muốn thêm một tính năng bởi vì bạn không muốn can thiệp vào cácmáy đang hoạt động”, Peltzman nói “Có rất nhiều thứ chúng ta phải đáp ứng trong ngày màkhông có các máy chủ dạng rack (rack server) có thể kéo ra để thực hiện Chúng tôi nhìn vào
đó để quyết định thuê ngoài các nhà cung cấp SaaS, như Salesforce, email của Gmail, Amazonhoặc Cloudshare cho nền tảng Đôi khi tôi không biết chúng tôi sẽ sử dụng một dịch vụ hoặcchức năng cụ thể để làm gì, nhưng tôi biết chúng tôi sẽ cần đến nó Đó là vì sao tôi đang tìm tớicác đám mây”
Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay HybridCloud tùy theo nhu cầu cụ thể Mỗi mô hình đều có điểm mạnh và yếu của nó Các doanhnghiệp phải cân nhắc đối với các mô hình Cloud Computing mà họ chọn Và họ có thể sử dụngnhiều mô hình để giải quyết các vấn đề khác nhau Nhu cầu về một ứng dụng có tính tạm thời
có thể triển khai trên Public Cloud bởi vì nó giúp tránh việc phải mua thêm thiết bị để giảiquyết một nhu cầu tạm thời Tương tự, nhu cầu về một ứng dụng thường trú hoặc một ứngdụng có những yêu cầu cụ thể về chất lượng dịch vụ hay vị trí của dữ liệu thì nên triển khai trên
Trang 84 Các ng d ng c a đi n toán đám mây ứng dụng của điện toán đám mây ụ ủa điện toán đám mây ệm điện toán đám mây
Các ứng dụng lưu trữ trực tuyến: Flickr, Dropbox, Mediafire…
Các ứng dụng webmail: gmail, yahoo, hotmail
Các ứng dụng trên mây: google docs, bkav, …
Với công nghệ điện toán đám mây, các tác tử đám mây tích hợp trong Bkav (BkavCloud Agent) tương tác online với hệ thống đám mây Bkav Cloud, khiến việc cập nhật mẫuvirus có thể nhanh tới từng phút
Hình Ứng dụng ĐTĐM của BKAV
5 Ki n trúc đi n toán đám mây ến trúc điện toán đám mây ệm điện toán đám mây
Hạ tầng cơ sở của điện toán đám mây ngày nay là sự kết hợp của các dịch vụ đáng tincậy được phân phối bởi các nhà phát triển công nghệ thông tin hàng đầu thế giới nhưMicrosoft, IBM, Google…dựa trên nền tảng của công nghệ ảo hóa(virtualized) Về cơ bản điệntoán đám mây được chia thành 4 lớp cơ bản có tác động qua lại lẫn nhau bao gồm:
Trang 9Hình 1.4 Kiến trúc Cloud Computing
Hạ tầng: Cơ sở hạ tầng (Infrastructure) của ĐTĐM là phần cứng được cung cấp như là
các dịch vụ, nghĩa là được chia sẻ và có thể sử dụng lại dễ dàng Các tài nguyên phần cứngđược cung cấp theo thời gian cụ thể theo yêu cầu Dịch vụ kiểu này giúp cho khách hàng giảmchi phí bảo hành, chi phí sử dụng,…
Lưu trữ (Storage): Lưu trữ đám mây là khái niệm tách dữ liệu khỏi quá trình xử lý và
chúng được lưu trữ ở những vị trí từ xa Lưu trữ đám mây cũng bao gồm cả các dịch vụ CSDL,
ví dụ như BigTable của Google, SimpleDB của Amazon,…
Cloud Runtime: Là dịch vụ phát triển phần mềm ứng dụng và quản lý các yêu cầu phần
cứng, nhu cầu phần mềm Ví dụ nền dịch vụ như khung ứng dụng Web, web hosting,…
Dịch vụ: Dịch vụ đám mây là một phần độc lập có thể kết hợp với các dịch vụ khác để
thực hiện tương tác, kết hợp giữa các máy tính với nhau để thực thi chương trình ứng dụng theo
Trang 10yêu cầu trên mạng ví dụ các dịch vụ hiện nay như: Simple Queue Service, Google Maps, cácdịch vụ thanh toán linh hoạt trên mạng của Amazon,…
Ứng dụng: Ứng dụng đám mây (Cloud application) là một đề xuất về kiến trúc phần
mềm sẵn sàng phục vụ, nhằm loại bỏ sự cần thiết phải mua phần mềm, cài đặt, vận hành và duytrì ứng dụng tại máy bàn/thiết bị của người sử dụng Ứng dụng đám mây loại bỏ được các chiphí để bảo trì và vận hành các chương trình ứng dụng
Hạ tầng khách hàng: (Client Infrastructure) là những yêu cầu phần mềm hoặc phần
cứng để sử dụng các dịch vụ ĐTĐM trên mạng Thiết bị cung cấp cho khách hàng có thể làtrình duyệt, máy tính để bàn, máy xách tay, điện thoại di động,…
6 M t s nhà cung c p d ch v đi n toán đám mây ột số nhà cung cấp dịch vụ điện toán đám mây ố nhà cung cấp dịch vụ điện toán đám mây ất cơ bản của điện toán đám mây ịch vụ ụ ệm điện toán đám mây
Hình 1.5 Một số nhà cung cấp dịch vụ điện toán đám mâyCá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.Những Google, Microsoft, Amazon, Sun đều đã và đang phát triển những nền tảng điện toánđám mây của riêng mình
Các nền tảng điện toán đám mây lớn có thể kể đến bây giờ bao gồm: Google AppEngine của Google: http://code.google.com/appengine/
Trang 11Nền tảng điện toán đám mây ra đời đầu tiên: Amazone Webservice của Amazon.com Sun Cloud của Sun http://www.sun.com/solutions/cloudcomputing/
3 6.1 Công ngh ĐTĐM c a IBM ệm điện toán đám mây ủa điện toán đám mây
Máy chủ của IBM sử dụng bộ xử lý Intel thế hệ mới và Phần mềm mới cho Trung tâm
Dữ liệu (Data Center – System x) Với năng lực mở rộng có khả năng hỗ trợ tới 96 lõi xử lý và
1 TB bộ nhớ, các máy chủ System x của IBM sẽ bổ sung cho dòng sản phẩm VMware vSpherethế hệ mới IBM sắp phát hành Chúng là một lựa chọn tuyệt vời dành cho các khách hàng đangtriển khai những môi trường điện toán đám mây
Hình 1.6 IBM Blue CloudKhái niệm Blue Cloud xuất hiện khi IBM tiến hành hỗ trợ những chuyên gia sáng chếphần mềm của họ bằng việc xây dựng một cổng thông tin tên là chương trình ứng dụng côngnghệ (Technology Adoption Program - TAP) Thông qua chương trình này, các chuyên giaphát triển của IBM có thể yêu cầu được cung cấp nguồn lực tính toán cùng với phần mềm đểtiến hành thử nghiệm những sáng tạo của họ Sản phẩm thu được từ mô hình Blue Cloud tiềntích hợp và thử nghiệm đầu tiên sẽ được giới thiệu vào đầu năm 2008
Blue Cloud của IBM cho phép người dùng sử dụng các nguồn lực điện toán thông qua
hệ thống "đặt chỗ" đặc biệt dựa trên công nghệ Web 2.0 Theo đó, các máy chủ sẽ tự động cungcấp, giám sát và quản lí quá trình đặt chỗ và khai thác Mô hình này cho phép tổ chức, các tổchức, cá nhân ngay lập tức hoặc dần dần mở rộng môi trường điện toán cụm ảo của mình bằngcách bổ sung thêm máy chủ, tùy theo nhu cầu về tính toán, quản lý dữ liệu thực tế
Trang 12Hình 1.7 Cơ sở hạ tầng ĐTĐM của IBM
6.2 Công nghệ ĐTĐM của Amazone
6.2.1 Dịch vụ Amazon Simple Storage Service (S3)
Hình 1.8 Amazon Simple Storage Services6.2.2 Dịch vụ Amazon Elastic Compute Cloud (EC2)
6.2.3 Dịch vụ Amazon SimpleDB (SDB)
6.3 Công ngh ĐTĐM c a Google - Google App Engine ệm điện toán đám mây ủa điện toán đám mây
Trang 13Hình 1.9 Hệ thống dịch vụ điện toán đám mây của GoogleGAE là một nền tảng cho phát triển và lưu trữ ứng dụng web trên trung tâm quản lý dữliệu của Google GAE là công nghệ điện toán đám mây, nó ảo hóa ứng dụng trên nhiều server.
Nó tương tự các nền tảng khác như Amazon Web services hay Azure Services Platform
Hiện tại GAE hỗ trợ hai ngôn ngữ là Python và Java Google App Engine mang tính linhhoạt rất cao, nó cũng khá thoải mái cho các nhà phát triển có thể thử nghiệm và tiếp cận vớinền tảng Khi bắt đầu, GAE cung cấp 500 MB lưu trữ dữ liệu cho mỗi ứng dụng và bandwidth
có thể quản lý xấp xỉ 5 triệu lượt truy cập/tháng
GAE cung cấp rất nhiều cơ sở hạ tầng cho việc dễ dàng mở rộng ứng dụng, nhưng nóchỉ duy nhất chạy trong giới hạn thiết kế trong cơ sở hạ tầng của nó
GAE có các đặc điểm sau:
Trang 14Lưu trữ trên GAE khá uyển chuyển, nếu lưu trữ dung lượng lớn có thể sử dụngblobstore, tuy nhiên sẽ kích hoạt thanh toán để có thể sử dụng dạng lưu trữ này.
6.4 Công ngh ĐTĐM c a Microsoft ệm điện toán đám mây ủa điện toán đám mây
Azure, hệ điều hành “đám mây” được Microsoft giới thiệu vào cuối tháng 10 tại hộinghị PDC 2008 Internet sẽ là phương thức chính để người dùng truy xuất dữ liệu trong nhữngnền tảng điện toán đám mây
Windows Azure, tên mã Red Dog, là nền tảng cho việc phát triển những ứng dụng hoạtđộng trong “đám mây” Nói cách khác, Windows Azure là cơ sở cho nền tảng các dịch vụAzure (Azure Services Platform), được Microsoft phát triển nhằm mang đến cho cộng đồng cácnhà phát triển ứng dụng cơ hội được xây dựng và cung cấp các dịch vụ trực tuyến trên nền tảng
cơ sở hạ tầng Windows Windows Azure tách biệt hoàn toàn các ứng dụng chạy trên các lớp hệđiều hành ứng dụng công nghệ ảo hóa của Microsoft Điều này cho phép các nhà quản trịkhông cần phải nâng cấp từng PC độc lập khi ứng dụng được chỉnh sửa
5 N n t ng d ch v (Azure Services Platform) ền tảng dịch vụ (Azure Services Platform) ản của điện toán đám mây ịch vụ ụ
Nền tảng dịch vụ là một giải pháp hoàn thiện cho các doanh nghiệp Microsoft sẽ lưu
trữ các ứng dụng được xây dựng từ các hãng thứ ba cũng như những dịch vụ Web của chínhMicrosoft như là Office Live, Windows Live, Exchange Online, CRM Online, … Kết hợp chặtchẽ NET Services (cho lập trình viên), SQL Services (cho cơ sở dữ liệu và báo biểu), LiveServices (cho việc tương tác với các thiết bị người dùng) vào trong các dịch vụ SharePoint vàCRM (cho nội dung doanh nghiệp) Điểm khác biệt giữa Azure và Azure Services Platform:Windows Azure là một hệ điều hành còn Azure Services Platform là một sự kết hợp của Azure,lớp các dịch vụ cơ sở hạ tầng và lớp ứng dụng trực tuyến
Fabric Controller là “gia vị” chủ chốt của Windows Azure, đảm nhiệm chức năng quản
lý “vòng đời” của tất cả dịch vụ trực tuyến được triển khai Công cụ này giúp tổ chức và tậptrung quản lý tại trung tâm dữ liệu theo mô hình chia sẻ nguồn tài nguyên phần cứng Điều nàycho phép Azure tự động cập nhật ứng dụng chứ không cần phải cập nhật trực tiếp trên từng PCđộc lập
7 Windows Azure v i ng ới người sử dụng và lập trình viên ười sử dụng và lập trình viên ử dụng và lập trình viên ụ i s d ng và l p trình viên ập trình viên
Lập trình viên có thể xây dựng các ứng dụng mới hoặc hiệu chỉnh các ứng dụng hiện tạicho Windows Azure bằng những công cụ hiện có như Visual Studio, ASP.Net, .NETFramework và cập nhật thêm một vài công nghệ mới mà Microsoft sẽ phổ biến trong thời giansắp tới .NET Services và SQL Services sẽ cung cấp những khả năng “hướng đám mây” mới vàAzure Tool cho Visual Studio, cung cấp các mẫu (template) làm nền tảng xây dựng (AzureSDK) Ngoài ra, công cụ “Oslo” mới từ Microsoft sẽ trợ giúp với các ứng dụng phân phối kiểu
Trang 15và ngôn ngữ thứ ba như Eclipse, Ruby, PHP và Python cũng như các tiêu chuẩn và cổng nhưSOAP, REST hay XML.
7 Phân tích, so sánh v i các mô hình đi n toán khác ới người sử dụng và lập trình viên ệm điện toán đám mây
Điện toán đám mây xuất hiện bắt nguồn từ ứng dụng điện toán lưới (grid computing)trong thập niên 1980, tiếp theo là điện toán theo nhu cầu (utility computing) và phần mềm dịch
vụ (SaaS)
8 7.1 Tính toán l ưới người sử dụng và lập trình viên i (Grid computing)
Theo trung tâm nghiên cứu IBM thì Tính toán lưới là một loại hệ thống phân tán, bố trí
song song, cho phép linh hoạt chia sẻ, tuyển lựa và tập hợp các nguồn tài nguyên độc lập và rảirác về địa lý, tùy theo khả năng sẵn có, công suất, hoạt động, chi phí và yêu cầu về chất lượngdịch vụ của người sử dụng" Tính toán lưới có nghĩa là tất cả hoặc một phần của một nhómmáy tính, máy chủ và thiết bị lưu trữ trong mạng doanh nghiệp, được “ảo hóa” (virtualize)thành một cỗ máy tính lớn Vì tính toán lưới giải phóng những khả năng tính toán không được
sử dụng vào một thời điểm bất kỳ, chúng có thể cho phép các doanh nghiệp tăng cường rấtnhiều về tốc độ, sức mạnh xử lý thông tin và sự liên kết, thúc đẩy các quy trình tính toán mật
độ cao Trong khi đó, chi phí vẫn sẽ được giữ ở mức thấp vì tính toán lưới có thể được xâydựng từ chính hạ tầng hiện có, góp phần đảm bảo sự huy động tối ưu các khả năng tính toán.Tính toán lưới cho phép ảo hóa các chức năng tính toán phân tán cũng như các nguồn xử lý,băng thông mạng và khả năng lưu trữ, để từ đó tạo ra một hệ thống đơn đồng nhất, cho phépngười sử dụng và các ứng dụng truy cập thông suốt vào các tính năng điện toán rộng lớn.Giống như người lướt web xem một nội dung thống nhất qua web, người sử dụng tính toán lướicũng nhìn thấy một máy tính ảo cực lớn duy nhất
9 7.2 Ph n m m ho t đ ng nh d ch v (SaaS - Software as a Service) ần mềm hoạt động như dịch vụ (SaaS - Software as a Service) ền tảng dịch vụ (Azure Services Platform) ạt động như dịch vụ (SaaS - Software as a Service) ột số nhà cung cấp dịch vụ điện toán đám mây ư ịch vụ ụ
Phần mềm hoạt động hướng dịch vụ hoặc gọi tắt là Phần mềm dịch vụ, là mô hình triển
khai phần mềm, một nhánh của điện toán đám mây, theo đó các nhà cung cấp phần mềm như làcác dịch vụ theo yêu cầu cho khách hàng Theo định nghĩa của hãng nghiên cứu toàn cầu IDC
là: "phần mềm hoạt động trên web, được quản lý bởi nhà cung cấp và cho phép người sử dụng
truy cập từ xa"
10 7.3 Tính toán theo yêu c u (Utility Computing) ần mềm hoạt động như dịch vụ (SaaS - Software as a Service)
Tính toán theo yêu cầu đặt trọng tâm vào mô hình nghiệp vụ và dựa vào đó để cung cấpcác dịch vụ tính toán Nói một cách đơn giản, dịch vụ tính toán là những gì mà người sử dụngnhận được các tài nguyên tính toán từ các nhà cung cấp dịch vụ (bao gồm phần cứng và phầnmềm) và thanh toán cho những phần đã dùng (“pay by the drink”), giống như việc sử dụng dịch
vụ điện dân dụng trong các gia đình Tất cả các tài nguyên tính toán được cung cấp cho kháchhàng đều dưới dạng các dịch vụ theo yêu cầu, bao gồm phần cứng (HaaS - Hardware as aService), cơ sở hạ tầng (IaaS - Infrastructure as a service) và nền (PaaS- Platform as a Service)tất cả đều được cung cấp như là các dịch vụ
Trang 1611 7.4 D ch v web (Web service) ịch vụ ụ
Dịch vụ web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu
và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việcthông qua các trình duyệt Bản thân các dịch vụ này sẽ chạy trên các máy phục vụ trên nềnInternet chứ không phải là các máy tính cá nhân, do đó có thể chuyển các chức nǎng từ máytính cá nhân lên Internet
Người sử dụng phần mềm yêu cầu các dịch vụ (Service Requester) thông qua SOAP(Simple Object Access Protocol) và chuyển các yêu cầu đó cho bộ phận môi giới ServiceBroker thông qua WSDL (Web Services Description Language)
12 7.5 N n t ng h ền tảng dịch vụ (Azure Services Platform) ản của điện toán đám mây ưới người sử dụng và lập trình viên ng m t d ch v (PaaS - Platform as a Service) ột số nhà cung cấp dịch vụ điện toán đám mây ịch vụ ụ
Đây cũng là một biến thể của SaaS nhưng mô hình này là một nhánh của điện toán đámmây (cloud computing), mang đến môi trường phát triển như một dịch vụ: người sử dụng xâydựng ứng dụng chạy trên cơ sở hạ tầng của nhà cung cấp và phân phối tới người sử dụng thôngqua máy chủ của nhà cung cấp đó Người sử dụng sẽ không hoàn toàn được tự do vì bị ràngbuộc về mặt thiết kế và công nghệ Một số ví dụ điển hình về PaaS là Force.com củaSalesforce.com, Google App Engine, Yahoo Pipes …
13 7.6 Cung c p d ch v qu n lý (MSP - Managed Service Provider) ất cơ bản của điện toán đám mây ịch vụ ụ ản của điện toán đám mây
MSP là hình thức tính toán theo kiểu điện toán đám mây (cloud computing) lâu đời nhất
- là ứng dụng chủ yếu dành cho giới chuyên môn hơn là người sử dụng cuối, chẳng hạn dịch vụquét virus cho e-mail hay chương trình quản lý desktop Một số nhà cung cấp nổi tiếng làSecureWorks, IBM, Verizon hay Everdream
14 7.7 Đi n toán tích h p Internet (Internet integration) ệm điện toán đám mây ợp Internet (Internet integration)
Quá trình kết hợp các "đám mây" xuất hiện trên Internet mới đang ở giai đoạn đầu Tómlại, điện toán đám mây bao gồm cả SaaS và tính toán theo yêu cầu
Trong cuộc sống của chúng ta, mọi thứ mà chúng ta cần thiết đều có thể được cung cấpnhư là các dịch vụ như trong mô hình điện toán đám mây dưới đây
8 L i ích và h n ch c a ĐTĐM ợp Internet (Internet integration) ạt động như dịch vụ (SaaS - Software as a Service) ến trúc điện toán đám mây ủa điện toán đám mây
15 8.1 L i ích c a ĐTĐM ợp Internet (Internet integration) ủa điện toán đám mây
Những ưu điểm và thế mạnh dưới đây đã góp phần giúp "điện toán đám mây" trở thành
mô hình điện toán được áp dụng rộng rãi trên toàn thế giới
a Tốc độ xử lý nhanh, cung cấp cho người dùng những dịch vụ nhanh chóng và giáthành rẻ dựa trên nền tảng cơ sở hạ tầng tập trung (đám mây)
b Chi phí đầu tư ban đầu về cơ sở hạ tầng, máy móc và nguồn nhân lựa của người sửdụng điện toán đám mây được giảm đến mức thấp nhất
Trang 17c Không còn phụ thuộc vào thiết bị và vị trí địa lý, cho phép người dùng truy cập và sửdụng hệ thống thông qua trình duyệt web ở bất kỳ đâu và trên bất kỳ thiết bị nào mà họ sử dụng(chẳng hạn là PC hoặc là điện thoại di động…)
d Chia sẻ tài nguyên và chi phí trên một địa bàn rộng lớn, mang lại các loại ích chongười dùng như:
• Tập trung cơ sở hạ tầng tại một vị trí giúp người dùng không tốn nhiều giá thành đầu
tư về trang thiết bị
• Công suất xử lý nhanh hơn do tài nguyên được tập trung Ngoài ra, người dùngkhông cần phải đầu tư về nguồn nhân lực quản lý hệ thống
• Khả năng khai thác và hiệu suất được cài thiện hơn 10-20% so với hệ thống máy tính
cá nhân thông thường
e Với độ tin cậy cao, không chỉ giành cho người dùng phổ thông, điện toán đám mâyphù hợp với các yêu cầu cao và liên tục của các công ty kinh doanh và các nghiên cứu khoahọc Tuy nhiên, một vài dịch vụ lớn của điện toán đám mây đôi khi rơi vào trạng thái quá tải,khiến hoạt động bị ngưng trệ Khi rơi vào trạng thái này, người dùng không có khả năng để xử
lý các sự cố mà phải nhờ vào các chuyên gia từ đám mây tiến hành xử lý
f Khả năng mở rộng được, giúp cải thiện chất lượng các dịch vụ được cung cấp trên
“đám mây”
g Khả năng bảo mật được cài thiện do sự tập trung về dữ liệu
h Các ứng dụng của điện toán đám mây dễ dàng để sửa chữa hơn bởi lẽ chúng khôngđược cìa đặt cố định trên một má tính nào Chúng cũng dễ dàng hỗ trợ và cài thiện về tínhnăng
i Tài nguyên sử dụng của điện toán đám mây luôn được quản lý và thống kê trên từngkhách hàng và ứng dụng, theo từng ngày, từng tuần, từng tháng Điều này đảm bảo cho việcđịnh lượng giá cả của mỗi dịch vụ do điện toán đám mây cung cấp để người dùng có thể lựachọn phù hợp
16 8.2 M t s h n ch ột số nhà cung cấp dịch vụ điện toán đám mây ố nhà cung cấp dịch vụ điện toán đám mây ạt động như dịch vụ (SaaS - Software as a Service) ến trúc điện toán đám mây
2 Nhược điểm: Tuy nhiên, mô hình điện toán này vẫn còn mắc phải một số nhược điểm
sau:
a Tính riêng tư: Các thông tin người dùng và dữ liệu được chứa trên điện toán đám mây
có đảm bảo được riêng tư, và liệu các thông tin đó có bị sử dụng vì một mục đích nào khác?
b Tính sẵn dùng: Liệu các dịch vụ đám mây có bị “treo” bất ngờ, khiến cho người dùng
không thể truy cập các dịch vụ và dữ liệu của mình trong những khoảng thời gian nào đó khiếnảnh hưởng đến công việc?
c Mất dữ liệu: Một vài dịch vụ lưu trữ dữ liệu trực tuyến trên đám mây bất ngờ ngừng
hoạt động hoặc không tiếp tục cung cấp dịch vụ, khiến cho người dùng phải sao lưu dữ liệu của
Trang 18họ từ “đám mây” về máy tính cá nhân Điều này sẽ mất nhiều thời gian Thậm chí một vàitrường hợp, vì một lý do nào đó, dữ liệu người dùng bị mất và không thể phục hồi được.
Dữ liệu chứa trên các "đám mây" sẽ phải giao phó toàn bộ"số phận" cho "đám mây
d Tính di động của dữ liệu và quyền sở hữu: Một câu hỏi đặt ra, liệu người dùng có thể
chia sẻ dữ liệu từ dịch vụ đám mây này sang dịch vụ của đám mây khác? Hoặc trong trườnghợp không muốn tiếp tục sử dụng dịch vụ cung cáp từ đám mây, liệu người dùng có thể sao lưutoàn bộ dữ liệu của họ từ đám mây? Và làm cách nào để người dùng có thể chắc chắn rằng cácdịch vụ đám mây sẽ không hủy toàn bộ dữ liệu của họ trong trường hợp dịch vụ ngừng hoạtđộng
e Khả năng bảo mật: Vấn đề tập trung dữ liệu trên các “đám mây” là cách thức hiệu
quả để tăng cường bảo mật, nhưng mặt khác cũng lại chính là mối lo của người sử dụng dịch vụcủa điện toán đám mây Bởi lẽ một khi các đám mây bị tấn công hoặc đột nhập, toàn bộ dữ liệusẽ bị chiếm dụng Tuy nhiên, đây không thực sự là vấn đề của riêng “điện toán đám mây”, bởilẽ tấn công đánh cắp dữ liệu là vấn đề gặp phải trên bất kỳ môi trường nào, ngay cả trên cácmáy tính cá nhân
9 Đi n toán đám mây t i Vi t nam ệm điện toán đám mây ạt động như dịch vụ (SaaS - Software as a Service) ệm điện toán đám mây
Dù được thế giới dự đoán sẽ là "cơn sóng thần công nghệ " song khái niệm “điện toán đám mâyvẫn còn khá mới mẻ tại Việt Nam.”
IBM là doanh nghiệp tiên phong khai trương trung tâm điện toán đám mây tại Việt Nam vàotháng 9/2008 với khách hàng đầu tiên là là Công ty cổ phần công nghệ và truyền thông Việt Nam(VNTT) Sau đó, Microsoft là một trong những “đại gia” tiếp bước điện toán đám mây ở thị trườngViệt Nam, nhưng hiện vẫn đang trong giai đoạn phát triển thử nghiệm
Theo Ông Võ Tấn Long, Tổng Giám đốc công ty IBM Việt Nam: “Điện toán đám mây khôngcòn là xu hướng mà là thực tế đang diễn ra Có thể nói Việt Nam là một trong những nước đầu tiên ởASEAN đưa vào sử dụng điện toán đám mây Từ năm 2008 đến nay, ngày càng có nhiều khách hàngtìm đến các dịch vụ điện toán đám mây của IBM”
Trang 19Tiếp đến, điện toán đám mây ở Việt Nam bắt đầu có những tín hiệu khả quan khi khi FPT - nhàcông nghệ hàng đầu của Việt Nam đã khẳng định vị thế tiên phong của mình trong công nghệ bằng lễ
ký kết với Microsoft châu Á-Trend Micro để hợp tác phát triển "đám mây" ở châu Á Nhận định về hợptác này, đại diện Trend Micro cho rằng, điện toán đám mây sẽ đem lại cơ hội cho Việt Nam bởi côngnghệ hoàn toàn mới sẽ giúp giới trẻ Việt Nam vốn rất năng động sẽ có thêm điều kiện sáng tạo và pháthuy tài năng của mình Đồng thời, với tiềm năng về nhân lực, cơ sở hạ tầng và nhất là "tính sẵn sàng"của FPT hai bên sẽ không chỉ dừng lại ở cung cấp dịch vụ về điện toán đám mây ở Việt Nam mà sẽvươn ra toàn cầu
Sau cuộc ký kết đó một tuần, FPT tiếp tục hợp tác cùng "đại gia" Microsoft vào tháng 05/2010.Tâm điểm của hợp tác này là một thỏa thuận nhằm phát triển nền tảng điện toán đám mây dựa trêncông nghệ của Microsoft Hai bên đều cùng hướng đến việc phát triển nền tảng cho các dịch vụ đámmây bao gồm truyền thông, hợp tác, lưu trữ dữ liệu và các dịch vụ hạ tầng, nhằm phục vụ nhu cầu củađông đảo khách hàng
Gần đây nhất, “Journey to the cloud” (Hành trình tới công nghệ điện toán đám mây) với châmngôn “New ways to do new things” là chủ đề hội thảo do Microsoft tổ chức hôm 02/03/2001 vừa quatại Hà Nội, đã thu hút sự tham dự của hơn 300 chuyên gia IT và các nhà lãnh đạo của các doanhnghiệp Điều này chứng tỏ những vấn đề về điện toán đám mây hiện đang thu hút sự quan tâm của rấtnhiều doanh nghiệp trong nước, những người đang kiếm tìm giải pháp nâng cao năng suất cho doanhnghiệp
Tuy vậy, tiếp theo sau hội thảo ngày 02/03, “Vietnam Cloud computing Day 2011” (Ngày Điệntoán đám mây Việt Nam 2011) diễn ra ngày 9/3 tại Hà Nội cũng đưa ra nhận định: mặc dù điện toánđám mây hiện đang được ứng dụng rộng rãi ở nhiều nước phát triển trên thế giới bởi lợi ích đáng kể mà
nó đem lại, nhưng ở Việt Nam các doanh nghiệp vẫn chưa thực sự mặn mà với công nghệ này Tuynhiên theo các chuyên gia nhận định, đây chính là giải pháp tối ưu để các doanh nghiệp nước ta giảmthiểu chi phí cũng như tăng hiệu suất làm việc ở mức tối đa
Về thực trạng ứng dụng điện toán đám mây ở các doanh nghiệp Việt Nam, có thể rút ra kết luậnnhư sau: Hiện nay đã có một vài doanh nghiệp lớn tại Việt Nam đưa điện toán đám mây vào ứng dụng
và hiệu suất kinh doanh được cải thiện đáng kể Tuy nhiên số lượng là khá ít Phần lớn vẫn chỉ dừng ởmức quan tâm và tìm hiểu
Phát tri n đi n toán đám mây t i Vi t Nam – còn nhi u thách th c ển điện toán đám mây tại Việt Nam – còn nhiều thách thức ện toán đám mây tại Việt Nam – còn nhiều thách thức ại Việt Nam – còn nhiều thách thức ện toán đám mây tại Việt Nam – còn nhiều thách thức ều thách thức ức
Không nằm ngoài xu thế chung của ngành công nghệ thông tin thế giới, Việt Nam đang dần tiếpcận dịch vụ đám mây thông qua các dự án của một số doanh nghiệp nước ngoài như Microsoft, Intel …Công nghệ này được coi là giải pháp cho những vấn đề mà nhiều công ty đang gặp phải như thiếu nănglực công nghệ thông tin, chi phí đầu tư hạn chế… Hầu hết các nhà lãnh đạo công nghệ thông tin đềukhá kỳ vọng khi nhận định về công nghệ này
Trang 20điện toán đám mây liệu có phát triển tại Việt Nam?
Ông Dương Dũng Triều, Giám Đốc điều hành FIS chia sẻ: “Chúng tôi nhận ra nhiều lợi ích khiđồng hợp tác xây dựng trung tâm dữ liệu sử dụng công nghệ điện toán đám mây của Microsoft Hai bênchia sẻ tầm nhìn về tương lai của ngành tin học -nơi mà các dịch vụ điện toán đám mây sẽ trở nên phổbiến và được sử dụng rộng rãi ở Việt Nam vào năm 2015- và chúng tôi có mục tiêu trở thành nhữngngười dẫn đầu trong lĩnh vực mới mẻ này.”
Theo ông Nguyễn Huy Cương, CEO của Tinh Vân Consulting, hiện nay nhiều công ty đanghoang phí tài nguyên như không khai thác hết công suất của hệ thống máy chủ, đầu tư quá nhiều về mặtcon người Trong khi đó, về lý thuyết, cloud computing sẽ cho phép doanh nghiệp không cần tập trungquá nhiều cho cơ sở hạ tầng hoặc nâng cấp ứng dụng, không đòi hỏi nguồn nhân lực lớn và có thể dễdàng thay đổi quy mô khi cần
Ông Hoàng Lê Minh, Viện trưởng Viện công nghiệp phần mềm và nội dung số Việt Nam(NISCI), khẳng định điện toán đám mây là mục tiêu mà thế giới cũng như ngành công nghệ thông tintrong nước hướng tới và đây chính là nhân tố thúc đẩy các quá trình chuyển đổi kinh doanh
Trang 21Tuy nhiên, theo các chuyên gia của Intel nhận định thì điện toán đám mây chắc chắn khôngphải dành cho tất cả mọi người và cho mọi nhu cầu Mặc dù lợi ích của điện toán đám mây là không thểphủ nhận, nhưng các doanh nghiệp cần cân nhắc đến các yếu tố khác nhau khi tính đến chuyện ứngdụng điện toán đám mây, cụ thể như: rào cản kỹ thuật, an toàn thông tin, nguồn vốn để hiện đại quytrình kinh doanh bằng việc ứng dụng công nghệ thông tin, giảm chi tiêu cho phần cứng, phần mềm, antoàn bằng thuê ngoài phần mềm cơ sở hạ tầng, tính linh hoạt và khả năng mở rộng của nguồn lực côngnghệ thông tin trước khi quyết định ứng dụng điện toán đám mây vào sản xuất kinh doanh Việt Namcũng không phải là một ngoại lệ.
Bên lề hội nghị “Ngày Điện toán đám mây Việt Nam 2011”, ông Phan Thanh Sơn, Giám đốccông nghệ của công ty Cisco, chia sẻ còn nhiều khó khăn trong việc triển khai điện toán đám mây tạiViệt Nam Theo ông, vấn đề chính sách, đường truyền băng thông và nhận thức của doanh nghiệp lànhững thách thức lớn nhất với công nghệ mới này
Đồng thời, một số doanh nghiệp cho biết họ đã và đang sử dụng các dịch vụ đám mây miễn phínhư Google Apps, nhưng vẫn cần thời gian để tìm hiểu nhiều hơn những lợi ích cũng như rủi ro về tính
an toàn dữ liệu Ông Nguyễn Thiện Tâm, Giám đốc khách hàng của Công ty Sutrix Media Việt Nam,cho biết nếu sử dụng các dịch vụ điện toán đám mây thì đòi hỏi mỗi nhân viên phải có kỹ năng nhấtđịnh về công nghệ thông tin Hiện công ty có sử dụng Google Docs, nhưng chỉ dừng ở mức độ trao đổi,chia sẻ tài liệu
Không chỉ có vậy, Ông Lê Đức Quyết, Phó giám đốc Công ty cổ phần Thế giới vận tải, cho biếtông vẫn còn e ngại khi đưa những thông tin liên quan đến tài chính của công ty lên dịch vụ điện toánđám mây vì không biết được dữ liệu của mình ở đâu đó trên mạng Ông Quyết cũng nói mô hình ứngdụng điện toán đám mây phụ thuộc nhiều vào Internet mà chưa chắc lúc nào cũng có thể truy cập vàoInternet
Bản chất của điện toán đám mây là sự hội tụ các thành tựu về nghiên cứu phát triển các côngnghệ mới; các quan điểm về ứng dụng CNTT hiện nay ở trên thế giới cũng như Việt Nam Điện toánđám mây cũng là một trong những khái niệm mơ hồ nhất từ trước đến nay chúng ta gặp phải Nó cũnggiống như cái gì ở trên cao, ở trong mây, chúng ta không thể nhận biết được Nhưng đó cũng chính làmục tiêu mà hiện nay ngành CNTT truyền thông đang hướng tới
Có thể nói điện toán đám mây đang tạo cơ hội cho các doanh nghiệp hoạt động hiệu quả, thôngminh và tiết kiệm chi phí hơn Các doanh nghiệp Việt Nam đang có điều kiện thuận lợi để sử dụngnhững tiện ích này Vấn đề là bản lĩnh của doanh nghiệp có dám ứng dụng công nghệ mới vào quản lýđiều hành sản xuất kinh doanh hay không mà thôi Vì vậy, dù công ty ở quy mô lớn hay nhỏ, bạn cũngnên thử dùng dịch vụ này, nếu không có thể bạn đã bỏ lỡ một cơ hội kinh doanh trong tương lai
9 Mô hình h ưới người sử dụng và lập trình viên ng d ch v ịch vụ ụ
17 9.1 Khái ni m ệm điện toán đám mây
Mô hình hướng dịch vụ (Service Oriented Architechture –SOA) là một khái niệm vềkiến trúc hệ thống nhằm đem lại một cách thuận tiện nhất những chức năng nghiệp vụ, hoặc lànhững quy trình ứng dụng, tới người sử dụng dưới dạng các dịch vụ hoạt động trên môi trường
Trang 22hoặc chức năng ứng dụng với giao diện được thiết kế theo quy định và được tương tác bằngcách gửi nhận thông điệp
18 9.2 Ki n trúc mô hình h ến trúc điện toán đám mây ưới người sử dụng và lập trình viên ng d ch v ịch vụ ụ
Kiến trúc hướng dịch vụ (SOA) là một hướng tiếp cận với việc thiết kế và tích hợp cácphần mềm, chức năng, hệ thống theo dạng module, trong đó mỗi module đóng vai trò là một
“dịch vụ có tính loose coupling”, và có khả năng truy cập thông qua môi trường mạng Hiểumột cách đơn giản thì một hệ thống SOA là một tập hợp các dịch vụ được chuẩn hóa trên mạngtrao đổi với nhau trong ngữ cảnh một tiến trình nghiệp vụ Trong SOA có ba đối tượng chính
Hình 1.10 Sơ đồ cộng tác trong SOA
Nhà cung cấp dịch vu (service provider) cần cung cấp thông tin về dịch vụ của mình cho
một dịch vụ lưu trữ thông tin(service registry) Người sử dụng (service consumer) thông qua
service registry sẽ tìm kiếm thông tin mô tả về dịch vụ cần tìm và sau đó là xây dựng kênh giaotiếp với phía nhà cung cấp
SOA cung cấp giải pháp để giải quyết các vấn đề tồn tại của các hệ thống hiện nay như:
sự phức tạp, không linh hoạt và không ổn định Một hệ thống triển khai theo mô hình SOA cókhả năng mở rộng, liên kết tốt Đây chính là cơ sở và nền tảng cho việc tích hợp, tái sử dụng lạinhững tài nguyên hiện có của hệ thống
19 9.3 Các tính ch t c a m t h th ng h ất cơ bản của điện toán đám mây ủa điện toán đám mây ột số nhà cung cấp dịch vụ điện toán đám mây ệm điện toán đám mây ố nhà cung cấp dịch vụ điện toán đám mây ưới người sử dụng và lập trình viên ng d ch v ịch vụ ụ
Liên kết lỏng (Loose coupling)
Mọi kiến trúc phần mềm đều hướng đến liên kết lỏng giữa các module Mức độ kết dínhcủa mỗi hệ thống ảnh hưởng trực tiếp đến khả năng chỉnh sửa và mở rộng của chính nó Kếtdính càng chặt bao nhiều thì càng có nhiều thay đổi liên quan cần chỉnh sửa ở phía sử dụngdịch vụ mỗi khi có sự thay đổi nào đó xảy ra quả về thông tin qua một “kênh thông điệu”, bêngọi không phải chờ cho đến khi thông điệp được sử lý xong Do bên gọi không phải chờ chođến khi yêu cầu được xử lý xong và trả về nên không bị ảnh hưởng bởi việc xử lý trễ và lỗi khithực thi các dịch vụ bất động, bất đồng bộ
Quản lý các chính sách
Trang 23Khi sử dụng các dịch vụ chia sẻ trên mạng, tùy theo mỗi ứng dụng sẽ có một luật kếthợp riêng gọi là policy Các policy cần được quản lý các áp dụng cho mỗi dịch vụ cả khi thiết
kế lẫn thực thi trong thời gian thực thi
Khả năng cộng tác
Kiến trúc hướng dịch vụ nhấn mạnh đến khả năng cộng tác, khả năng mà các hệ thống
có thể giao tiếp với nhau trên nhiều nền tảng và ngôn ngữ khác nhau Mỗi dịch vụ cung cấpmột interface có thể được triệu gọi qua một dạng kết nối
Tự động dò tìm và ràng buộc động
SOA hỗ trợ khái niệm về truy tìm dịch vụ (service discovery) Một người sử dụng cầnđến một dịch vụ nào đó có thể tìm kiếm dịch vụ dựa trên các số tiêu chuẩn khi cần Người sửdụng chỉ cần hỏi một registry về dịch vụ nào thỏa yêu cầu tìm kiếm Registry trả về một tập cácentry thỏa yêu cầu
Tự hồi phục
Với kích cỡ và độ phức tạp của những ứng dụng phân tán ngày nay, khả năng phục hồicủa một hệ thống sau khi bị lỗi trở thành một yếu tố quan trọng mỗi hệ thống tự hồi phục (self-healing) là một hệ thống có khả năng tự hồi phụ sau khi bị lỗi mà không cần sự can thiệt củacong người
20 9.4 L i ích và h n ch c a vi c s d ng mô hình SOA ợp Internet (Internet integration) ạt động như dịch vụ (SaaS - Software as a Service) ến trúc điện toán đám mây ủa điện toán đám mây ệm điện toán đám mây ử dụng và lập trình viên ụ
Lợi ích
Việc sử dụng mô hình hướng dịch vụ SOA đem lại các lợi ích sau:
- Cho phép hướng sự tập trung vào xây dựng các tính năng nghiệp vụ trong quá trình
phát triển phần mềm
- Giảm thiểu chi phí trong quá trình phát triển
- Giảm thiểu yêu cầu về đào tạo và kỹ năng
- Chi phí bảo trì thấp
- Chu trình phát triển phần mềm nhanh chóng hơn
- Độc lập hệ thống: những service không phụ thuộc vào hệ thống và mạng cụ thể
- Những sự xác nhận và chứng minh của Service consumer về những tính năng security
dựa trên giao tiếp Service tốt hơn cơ chế kết nối chặt chẽ
Trang 24- Kiến trúc kết nối lỏng lẻo cho phép dễ dàng tích hợp thành phần những chương trình,
tiến trình hay những service phức tạp từ những service đơn giản
- Cho phép Service Consumers tìm kiếm và kết nối với những service động khác
Hạn chế
- Hệ thống phức tạp
- Khó miêu tả dữ liệu không cấu trúc trong header của message
21 9.5 So sánh mô hình SOA v i các mô hình truy n th ng ới người sử dụng và lập trình viên ền tảng dịch vụ (Azure Services Platform) ố nhà cung cấp dịch vụ điện toán đám mây
Mô hình SOA có ưu thế hơn các mô hình truyền thống (như mô hình hướng ứng dụnghoặc mô hình hướng lập trình) ở điểm mô hình SOA chủ yếu tập trung nguồn lực phát triển vàocác chức năng và tính năng phục vụ hoạt động và quy trình nghiệp vụ Điều này cho phép nhàquản lý chỉ cần dựa trên đặc điểm mang tính nghiệp vụ rà soát, xác định rõ chi tiết, thành phầncần thêm, sửa đổi hoặc loại bỏ Do đó, các hệ thống phần mềm phát triển phía sau có thể đượcthiết kế nhằm đáp ứng những quy trình nghiệp vụ (thay vì quy trình nghiệp vụ phải thay đổi đểtận dụng những tính năng phần mềm như trong các mô hình thường thấy ở nhiều cơ quan tổchức với hạ tầng ứng dụng Công nghệ thông tin được phát triển từ trước)
Mô hình SOA và OOP (mô hình hướng đối tượng)
SOA sử dụng cùng một số nguyên lý như OOP, tuy nhiên triết lý SOA có khác biệt đáng
kể so với OOP SOA có thể thực hiện với cả chương trình theo hướng đối tượng (OO) vàchương trình không hướng đối tượng SOA hỗ trợ việc kết nối lỏng lẻo các service OOP dựanhiều trên các lớp đựoc định nghĩa sẵn, kết quả là các đối tượng kết nối chặt chẽ với nhau.Service oriented sử dụng các message để miêu tả thông tin về service để thực hiện chức năngcủa mình OOP lại sử dụng các hàm APIs để miêu tả các đối tượng của mình Phạm vi hoạtđộng của các service trong SOA rộng lớn hơn là các đối tượng của OOP SOA khuyến khíchcác service được thiết kế phi trạng thái càng nhiều càng tốt còn OOP thì lại liên kết dữ liệu mộtcách logic từ đó tạo ra các đối tượng có trạng thái SOA hỗ trợ việc kết nối lỏng lẻo các servicevới nhau, còn OOP thì khuyến khích việc kế thừa các đối tượng từ đó các đối tượng liên kết vớinhau một cách chặt chẽ
Mô hình SOA và Web
Đặc điểm chính của SOA là tách rời phần giao tiếp với phần thực hiện dịch vụ Điều này
có thể làm bạn liên tưởng đến một công nghệ được đề cập nhiều gần đây: Dịch vụ web Dịch
vụ web cho phép truy cập thông qua định nghĩa giao thức-và-giao tiếp SOA và dịch vụ webthoạt trông có vẻ giống nhau nhưng chúng không phải là một Về cơ bản, SOA là kiến trúcphần mềm phát xuất từ định nghĩa giao tiếp và xây dựng toàn bộ mô hình ứng dụng như là môhình các giao tiếp, hiện thực giao tiếp và phương thức gọi giao tiếp Giao tiếp là trung tâm củatoàn bộ triết lý kiến trúc này; thực ra, tên gọi 'kiến trúc định hướng giao tiếp' thích hợp hơn choSOA Dịch vụ và module phần mềm nghiệp vụ được truy cập thông qua giao tiếp, thường theocách thức yêu cầu - đáp trả Ngay cả với yêu cầu dịch vụ 1 chiều thì nó vẫn là yêu cầu trực tiếp
có chủ đích từ một phần mềm này đến một phần mềm khác Một tương tác định hướng dịch vụ
Trang 2522 9.6 K t lu n ến trúc điện toán đám mây ập trình viên
Xây dựng hệ thống sử dụng mô hình hướng dịch vụ SOA đưa lại những hiệu quả:
- Tập trung vào xây dựng các tính năng nghiệp vụ trong quá trình phát triển phần mềm
- Giảm thiểu chi phí trong quá trình phát triển
- Giảm thiểu yêu cầu về đào tạo và kỹ năng
10 Công ngh o hóa ệm điện toán đám mây ản của điện toán đám mây
23 10.1 o hóa là gì? Ảo hóa là gì?
Ảo hóa là một thiết kế nền tảng kỹ thuật cho tất cả các kiến trúc điện toán đám mây.Điện toán đám mây đề cập chủ yếu đến nền tảng ảo hóa Ảo hóa là công nghệ được thiết kế đểtạo ra tầng trung gian giữa hệ thống phần cứng máy tính và phần mềm chạy trên nó Ảo hóacho người dùng thấy các máy chủ, thiết bị lưu trữ, và phần cứng khác được coi là một khốitổng thể các nguồn lực hơn là các hệ thống rời rạc, do đó những nguồn tài nguyên này có thểđược phân bổ theo yêu cầu Trong điện toán đám mây, công nghệ ảo hóa máy chủ được quantâm hàng đầu, ở đó một máy vật lý đơn lẻ có thể tạo thành nhiều máy ảo độc lập Mỗi một máy
ảo đều có một thiết lập nguồn hệ thống riêng rẽ, hệ điều hành riêng và các ứng dụng riêng
24 10.2 L i ích t o hóa ợp Internet (Internet integration) ừ ảo hóa ản của điện toán đám mây
Ảo hóa giải quyết các thách thức của việc quản lý trung tâm dữ liệu và cung cấp một sốlợi thế như sau:
Tỷ lệ sử dụng cao hơn
Hợp nhất tài nguyên
Sử dụng điện năng thấp hơn
Tiết kiệm không gian
Khắc phục rủi ro
Giảm chi phí hoạt động
25 10.3 Các ph ươ bản của điện toán đám mây ng pháp o hóa ph bi n ản của điện toán đám mây ổ biến ến trúc điện toán đám mây
Trang 26Ảo hóa ứng dụng (Application virtualization)
Ảo hóa lưu trữ
26 10.4 o hóa máy ch v i Hyper-V (T tìm hi u và báo cáo) Ảo hóa là gì? ủa điện toán đám mây ới người sử dụng và lập trình viên ự tìm hiểu và báo cáo) ển khai
hệ thống cồng kềnh Do đó, cần quảng bá cho các doanh nghiệp biết được những ưu thế và lợiích mà ảo hóa đem lại để áp dụng rộng rãi công nghệ này tại Việt Nam, bắt nhịp với xu thế pháttriển của thế giới
11 An ninh trên cloud
11.1 Những thách thức
Bảo mật cho SaaS Các nhà phân tích và công ty tư vấn công nghệ Gartner đã liệt kê ra
7 vấn đề về bảo mật cần được thảo luận với một nhà cung cấp ĐTĐM SaaS, gồm các nội dungsau:
Việc truy cập của người dùng được ưu tiên: yêu cầu ai là người chuyên về truy cập dữ
liệu, thuê hay quản lý các quản trị viên?
Việc tuân theo các quy tắc: Đảm bảo rằng nhà cung cấp sẵn sàng chịu sự kiểm nghiệm
bên ngoài và các xác nhận về vấn đề bảo mật?
Vị trí dữ liệu: nhà cung cấp có cho phép bất kỳ ai kiểm soát vị trí của dữ liệu không? Tách dữ liệu: Đảm bảo quyền truy cập thích hợp trong tất cả các công đoạn và những
chiến lược mã hóa này phải được những chuyên gia giàu kinh nghiệm thiết kế và kiểm duyệt?
Khả năng phục hồi: Phát hiện chuyện gì sẽ xảy ra với dữ liệu khi gặp tai họa Liệu
chúng có khả năng phục hồi hoàn toàn không? Nếu có thì sẽ mất thời gian bao lâu?
Trang 27Hỗ trợ điều tra: Nhà cung cấp có thể phát hiện những hành vi không thích hợp hoặc
phạm pháp không?
Khả năng tồn tại lâu dài: Chuyện gì sẽ xảy ra với dữ liệu khi công ty không còn kinh
doanh nữa? Dữ liệu sẽ được trở lại như thế nào và theo định dạng gì?
Việc thực hành an ninh cho môi trường SaaS được xây dựng như hiện nay được thảoluận trong các phần sau
Phân tích: Phân tích các chương trình, chính sách, các mối đe dọa hiện hành, kiểm tra
lợi tức hợp pháp và phân tích độ mạo hiểm
Thiết kế logic: Phát triển một sơ đồ chi tiết về bảo mật, lập kế hoạch đối phó với những
trường hợp xấu, các biện pháp kinh doanh trước thảm họa và xác định tính khả thi của việc tiếptục dự án hay thuê ngoài
Thiết kế vật lý: Chọn các công nghệ để hỗ trợ cho một bản thiết kế chi tiết về bảo mật,
đưa ra một hướng giải quyết hợp lý, các tiêu chuẩn bảo mật vật lý để hỗ trợ các biện pháp kỹthuật và kiểm tra, nâng cấp kế hoạch
Thi hành: Mua hoặc phát triển các biện pháp bảo mật cuối giai đoạn này, cần phải đưa
ra một gói hoàn chỉnh đã được thử nghiệm để có được sự phê duyệt của nhà quản lý
Duy trì: Ổn định việc quản lý, kiểm nghiệm, điều chỉnh, nâng cấp và sửa đổi để có thể
ứng phó với sự thay đổi của các mối đe dọa
Giám sát bảo mật và đối phó với các tình huống bất ngờ
Thiết kế cấu trúc bảo mật
An ninh Vật lý
Trang 28CH ƯƠNG 1 TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY NG 2 XÂY D NG NG D NG CLOUD COMPUTING TRÊN N N ỰNG ỨNG DỤNG CLOUD COMPUTING TRÊN NỀN ỨNG DỤNG CLOUD COMPUTING TRÊN NỀN ỤNG CLOUD COMPUTING TRÊN NỀN Ề ĐIỆN TOÁN ĐÁM MÂY
T NG GOOGLE APP ENGINE Ảo hóa là gì?
2.1 Công ngh Google App Engine ệm điện toán đám mây
27 2.1.1 T ng quan v Google App Engine ổ biến ền tảng dịch vụ (Azure Services Platform)
Google App Engine (GAE) là một nền tảng hosting bao gồm web server, cơ sở dữ liệuBigTable and kho lưu trữ file GFS GAE cho phép bạn 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 doGoogle cung cấp Với App Engine, bạn chỉ cần tải lên các ứng dụng của bạn, và nó sẵn sàng đểphục vụ người dùng của bạn Bạn có thể sử dụng tên miền riêng của mình (chẳng hạn nhưhttp://www.example.com/ ) thông qua google apps Hoặc bạn có thể dùng sub-domain miễn phícủa appspot.com GAE cho phép được host miễn phí với dung lượng 1GB lưu trữ và cho phép
5 triệu pageview hàng tháng, vượt qua mức này bạn sẽ phải trả phí Dùng GAE, chúng ta khỏiphải thiết kế database, viết SQL để truy vấn data, map data với object Chúng ta chỉ cần designcác class và GAE tự động lo phần làm việc với database Tóm lại, giờ đây bạn chỉ cần phảinghĩ ra và viết những ứng dụng tuyệt vời nhất rồi kêu gọi cả thế giới vào dùng Tuy nhiên, mặttrái của việc xây dựng ứng dụng trên GAE là bạn sẽ 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òn các nhà đầu tư cũngrấ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
GAE được Google cho ra mắt vào tháng 4 năm 2008 hỗ trợ ngôn ngữ Python Đến tháng
4 năm 2009, GAE đã công bố hỗ trợ ngôn ngữ chính thức thứ hai là Java, đánh dấu một sự thayđổi lớn trong cách xây dựng ứng dụng Một số ngôn ngữ khác như PHP cũng có thể chạy đượcnếu cài cùng với bộ chuyển từ PHP sang Java GAE là nền tảng ĐTĐM theo mô hình PaaS.GAE cho phép khách hàng triển khai các ứng dụng web để chạy trên cơ sở hạ tầng của Google.Với các đặc trưng dễ dàng xây dựng, bảo trì và khả mở, GAE đã được các nhà phát triển và cácdoanh nghiệp triển khai sử dụng Với chi phí xây dựng và triển khai ứng dụng ban đầu gần nhưbằng 0, khách hàng dễ dàng xây dựng các ứng dụng theo yêu cầu Khi ứng dụng đã thu đượclợi nhuận và vượt qua mức sử dụng thì khách hàng chỉ phải trả khoản phí tài nguyên mà mình
đã sử dụng
28 2.1.2 Môi tr ười sử dụng và lập trình viên ng phát tri n ển khai
Một ứng dụng App Engine đáp ứng các yêu cầu web Một yêu cầu web sẽ bắt đầu khi cómột người dùng hay điển hình là các trình duyệt web của người dùng gửi một yêu cầu truy cậpvào ứng dụng thông qua giao thức HTTP Khi App Engine nhận được yêu cầu, nó sẽ xác địnhứng dụng dựa vào tên miền, hoặc tên miền con của appspot.com (cung cấp miễn phí mỗi ứngdụng) hoặc là một tên miền riêng của chúng ta đã được đăng kí và thiết lập với Google Apps.App Engine lựa chọn một máy chủ từ nhiều máy chủ để xử lý các yêu cầu đó Sau đó, AppEngine sẽ gửi các yêu cầu đã nhận được từ người dùng đến ứng dụng phù hợp để xử lý, sau khi
Trang 29liệu phản hồi từ các ứng dụng và trả về cho người dùng thông qua trình duyệt web Theo gócnhìn của ứng dụng, môi trường thực thi chỉ xuất hiện và tồn tại khi bắt đầu một yêu cầu và sẽbiến mất khi yêu cầu đó được đáp ứng xong App Engine cung cấp tối thiểu 2 cách thức lưu trữ
dữ liệu tồn tại giữa các yêu cầu , nhưng các cơ chế này tồn tại bên ngoài môi trường thực thi.Môi trường thực thi sẽ không duy trì trạng thái giữa các yêu cầu, hoặc ít nhất không mongmuốn các trạng thái sẽ được duy trì giữa các yêu cầu App Engine có thể phân phát lưu lượngtruy cập trong nhiều server, vì nó cần phải đáp ứng cho nhiều yêu cầu xử lý như nhau, bất kể cóbao nhiêu lưu lượng truy cập nó sẽ xử lý cùng một lúc Bản thân GAE có cơ chế để quản lý cáctrạng thái của từng yêu cầu trong mỗi ứng dụng dưới dạng Sandbox (người phát triển khôngbiết rõ cơ chế bên trong nhưng hỗ trợ người phát triển những dịch vụ cần thiết) Điều này chophép App Engine xử lý một yêu cầu với một máy chủ mà nó mong muốn trong ước tính của nó
để trả về phản hồi nhanh nhất Không có cách nào để đảm bảo rằng phần cứng trên cùng mộtmáy chủ sẽ xử lý hai lần yêu cầu, ngay cả khi các yêu cầu đến cùng từ một client, và đến khánhanh chóng Sandboxcho phép App Engine chạy nhiều ứng dụng trên cùng một máy chủ,trong đó hành vi của một ứng dụng không làm ảnh hưởng đến các ứng dụng khác Ngoài ra đểgiới hạn quyền truy cập đến hệ điều hành, môi trường thực thi cũng giới hạn việc sử dụng CPU
và bộ nhớ App Engine giữ các giới hạn này linh hoạt và chặt chẽ hơn các giới hạn này để cácứng dụng sử dụng nhiều tài nguyên hơn để bảo vệ tài nguyên được chia sẻ từ những ứng dụng
“không mong muốn” Mỗi yêu cầu có tối đa 30s để trả về phản hồi cho client Mặc dù thời giannày có vẻ đáp ứng tốt cho một ứng dụng web, nhưng App Engine được tối ưu hóa cho các ứngdụng đáp ứng chưa đầy một giây Ngoài ra nếu một ứng dụng sử dụng nhiều CPU, App Engine
có thể làm chậm nó xuống, nên các ứng dụng không trì hoãn bộ vi xử lý trên một máy phục vụ
đa ứng dụng Một CPU tập trung xử lý yêu cầu có thể mất nhiều thời gian để hoàn thành, khiApp Engine dò tìm các mô hình theo cách sử dụng CPU và phân bổ cho phù hợp Google AppEngine cung cấp hai môi trường thực thi chính cho các ứng dụng Đó là Java và Python, hiệnđang thử nghiệm trên Go Môi trường chúng ta chọn sẽ phụ thuộc vào ngôn ngữ và những côngnghệ liên quan khi chúng ta dùng để phát triển ứng dụng Môi trường Java thực thi các ứngdụng được viết cho JVM6 Ứng dụng có thể được phát triển dựa vào ngôn ngữ lập trình Javahoặc hầu hết các ngôn ngữ có thể biên dịch và chạy trên JVM: ví dụ PHP (dùng Quercus),Ruby (dùng JRuby), Javascript (dùng Rhino), Scala, Groovy App Engine cũng hỗ trợ GoogleWeb Tootkit (GWT) Môi trường Python thực thi các ứng dụng được viết dựa vào ngôn ngữ lậptrình Python bản 2.5 App Engine gọi các ứng dụng Python nhờ vào CGI Ứng dụng có thểdùng hầu hết các thư viện của Python, các framework của Python như Django, web2py, Pylons
Cả hai môi trường Java và Python đều sử dụng chung một mô hình: một yêu cầu gửi đến ứngdụng trên server, ứng dụng được kích hoạt (nếu cần thiết), gọi bộ phận xử lý yêu cầu và trả vềkết quả cho client Mỗi môi trường sử dụng bộ tiền xử lý (interpreter) cho riêng mình (JVMhay Python)
29 2.1.3 Mô hình ki n trúc và các d ch v c a GAE ến trúc điện toán đám mây ịch vụ ụ ủa điện toán đám mây
Trong mô hình kiến trúc này cho thấy được hoạt động của GAE Một yêu cầu từ trìnhduyệt của máy bàn, máy xách tay, điện thoại, … được gửi tới GAE thông qua lối vào (FrontEnd) Một ứng dụng chủ (App Master) sẽ điều khiển, lập lịch cho tất cả các yêu cầu Nếu yêu
Trang 30dung động, yêu cầu sẽ được gửi tới ứng dụng của mình trên GAE, thông qua các thư viện APIs,ứng dụng có thể truy cập tới các dịch vụ lưu trữ (Datastore), dịch vụ lưu trữ bộ nhớ(Memcache), dịch vụ thao tác ảnh (Image manipulation),… Mỗi dịch vụ có chức năng và hoạtđộng riêng biệt, không phụ thuộc lẫn nhau Khi xây dựng ứng dụng với ngôn ngữ Java, GAE
hỗ trợ thư viện kết hợp thư viện chuẩn Java cho phép ứng dụng truy cập vào các dịch vụ tươngứng
Hình 2.1 Kiến trúc GAE
2.1.3.1 Các file server tĩnh (static server files)
2.1.3.2 Tổ chức và lưu trữ dữ liệu (Datastore)
2.1.3.3 Quản lý vùng nhớ đệm (Memcache)
2.1.3.4 Dịch vụ giao tiếp web (URL Fetch)
2.1.3.5 Dịch vụ thư điện tử (Mail)
2.1.3.6 Một số dịch vụ khác
2.2 Xây d ng và tri n khai ng d ng trên GAE ự tìm hiểu và báo cáo) ển khai ứng dụng của điện toán đám mây ụ
30 2.2.1 Công c xây d ng ng d ng ụ ự tìm hiểu và báo cáo) ứng dụng của điện toán đám mây ụ
Java SE Development Kit 6 update 18
Eclipse Indigo
Google Plugin for Eclipse 3.7
Google Web toolkit SDK 2.4.0
Công cụ lập trình
Cần phải cài đặt GAE SDK, Eclipse, tích hợp GAE SDK vào Eclipse, cài đặt bộ JDKnếu chưa có
Google App Engine SDK và Eclipse
- Để tải về bộ Google App Engine SDK có thể vào địa chỉ sau :
https://developers.google.com/appengine/downloads sau đó chọn phiên bản SDK cũng như