Tìm hiểu và ứng dụng công nghệ Cloud computing với nền tảng Google app engine

  • Số trang: 85 |
  • Loại file: PDF |
  • Lượt xem: 29 |
  • Lượt tải: 1
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ CHÂM ANH TÌM HIỂU VÀ ỨNG DỤNG CÔNG NGHỆ CLOUD COMPUTING VỚI NỀN TẢNG GOOGLE APP ENGINE LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2012 2 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ CHÂM ANH TÌM HIỂU VÀ ỨNG DỤNG CÔNG NGHỆ CLOUD COMPUTING VỚI NỀN TẢNG GOOGLE APP ENGINE Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60.48.05 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Nguyễn Thế Lộc Hà Nội – 2012 3 MỤC LỤC MỤC LỤC ................................................................................................................... 3 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT .................................................................... 6 CHƢƠNG 1.TỔNG QUAN VỀ CLOUD COMPUTING ............................................ 8 1.1 Khái niệm Cloud Computing.............................................................................. 8 1.2. Tính chất cơ bản.............................................................................................. 11 1.2.1 Tự phục vụ theo nhu cầu (On-demand self-service) ................................... 11 1.2.2 Truy xuất diện rộng (Broad network access).............................................. 11 1.2.3 Dùng chung tài nguyên (Resource pooling) ............................................... 12 1.2.4 Khả năng co giãn (Rapid elasticity) ........................................................... 12 1.2.5 Điều tiết dịch vụ (Measured service) ......................................................... 12 1.3 Các mô hình Cloud Computing ....................................................................... 12 1.3.1 Mô hình dịch vụ ........................................................................................ 13 1.2.1.1 Infrastructure as a Service – IaaS ........................................................ 13 1.2.1.2 Platform as a Service – PaaS .............................................................. 13 1.2.1.3 Software as a Service – SaaS .............................................................. 14 1.3.2. Mô hình triển khai ................................................................................... 14 1.3.2.1. Public Cloud ...................................................................................... 14 1.3.2.2. Private Cloud ..................................................................................... 15 1.3.2.3. Hybrid Cloud..................................................................................... 16 1.4 Kiến trúc điện toán đám mây ............................................................................ 17 1.5. So sánh ........................................................................................................... 19 1.6. Lợi ích và hạn chế của ĐTĐM ....................................................................... 19 1.6.1. Lợi ích của ĐTĐM .................................................................................. 19 1.6.1.1. Miễn phí ........................................................................................... 19 1.6.1.2. Dễ tiếp cận ....................................................................................... 19 1.6.1.3. Khả năng tự phục vụ ......................................................................... 20 1.6.1.4. Di động ............................................................................................ 20 1.6.1.5 . Linh hoạt .......................................................................................... 20 1.6.1.6 . Tài nguyên dùng chung .................................................................... 20 1.6.1.7. Khả năng liên kết .............................................................................. 20 1.6.1.8 . Khả năng tự động hoá ....................................................................... 20 1.6.1.9 . Khả năng nhận biết thiết bị đầu cuối ................................................. 21 1.6.1.10 . Khả năng co giãn ............................................................................ 21 1.6.2. Một số hạn chế ......................................................................................... 21 1.6.2.1. Vấn đề bảo mật .................................................................................. 22 1.6.2.2. Mất kiểm soát và phụ thuộc .............................................................. 22 CHƢƠNG 2.CÔNG NGHỆ ẢO HÓA ....................................................................... 24 2.1 Ảo hóa là gì? .................................................................................................... 24 2.2 Lợi ích từ ảo hóa .............................................................................................. 24 2.3 Các phƣơng pháp ảo hóa phổ biến:................................................................... 25 2.3.1 Ảo hóa máy chủ (Server Vitualization)...................................................... 25 2.3.2. Ảo hóa ứng dụng (Application virtualization) .......................................... 25 2.3.3 Ảo hóa lƣu trữ ........................................................................................... 26 2.4. Ảo hóa máy chủ với Hyper-V ..................................................................... 27 2.4.1. Tổng quan, kiến trúc ................................................................................ 27 2.4.2. Các tính năng .......................................................................................... 28 4 2.4.3 Lợi ích khi triển khai Hyper -V ............................................................... 30 CHƢƠNG 3.AN NINH TRÊN CLOUD .................................................................... 36 3.1 Những thách thức ............................................................................................. 36 3.2 Bảo mật cho SaaS ............................................................................................ 38 3.2.1 Quản trị an ninh......................................................................................... 38 3.2.2 Quản lý rủi ro ............................................................................................ 38 3.2.3 Đánh giá rủi ro .......................................................................................... 39 3.2.4 Chính sách, tiêu chuẩn và chỉ dẫn .............................................................. 39 3.2.5. Chu trình phát triển phần mềm an toàn ..................................................... 39 3.2.6. Giám sát bảo mật và đối phó với các tình huống bất ngờ .......................... 40 3.2.7. Thiết kế cấu trúc bảo mật ......................................................................... 40 3.2.8. An ninh Vật lý .......................................................................................... 41 CHƢƠNG 4 CÔNG NGHỆ CLOUD COMPUTING CỦA CÁC HÃNG LỚN: IBM, MICROSOFT, GOOGLE, AMAZON ....................................................................... 42 4.1. Công nghệ ĐTĐM của IBM ........................................................................... 42 4.2.1. Dịch vụ Amazon Simple Storage Service (S3).......................................... 44 4.2.3. Dịch vụ Amazon SimpleDB (SDB) ......................................................... 46 4.3. Công nghệ ĐTĐM của Google ....................................................................... 46 4.3.1. Giới thiệu về Google Apps ...................................................................... 47 4.3.1.1. Google Email .................................................................................... 47 4.3.1.2. Google Docs ...................................................................................... 47 4.3.1.3. Google Calendar ................................................................................ 48 4.3.1.4. Google Talk ....................................................................................... 48 4.3.1.5. Google Sites ...................................................................................... 48 4.3.1.6. Google Video .................................................................................... 48 4.3.1.7. GoogleGroups ................................................................................... 48 4.3.1.8. GoogleWave ...................................................................................... 49 4.3.2. Yêu cầu để sử dụng đƣợc Google App Engine ......................................... 49 4.3.3. Dịch vụ và hình thức thanh toán Google App Engine ............................... 49 4.3.4. Giới thiệu ngôn ngữ lập trình java 2.0 trên Google Apps Engine .............. 50 4.3.4.1. Giới thiệu lịch sử ra đời ..................................................................... 51 4.3.4.2. Xây dựng Website trên Google App Engine dựa trên nền tảng Java 2.0 ....................................................................................................................... 51 4.4. Công nghệ ĐTĐM của Microsoft .................................................................... 52 4.4.1. Nền tảng Windows Azure ....................................................................... 52 4.4.3. Windows Azure ........................................................................................ 52 4.4.4. SQL Azure ............................................................................................... 54 4.4.5. Windows Azure Platform AppFabric ........................................................ 55 4.4.6. Các thành phần của Windows Azure Platform AppFabric : ...................... 55 4.4.7. Mô hình của một ứng dụng trên Windows Azure..................................... 57 CHƢƠNG 5 ỨNG DỤNG CLOUD COMPUTING TRÊN NỀN TẢNG GOOGLE APP ENGINE ............................................................................................................ 58 5.1. Công nghệ Google App Engine ....................................................................... 58 5.1.1. Tổng quan về Google App Engine ............................................................ 58 5.1.2 Môi trƣờng phát triển ................................................................................ 58 5.1.3. Mô hình kiến trúc và các dịch vụ của GAE ............................................... 60 5.1.3.1 Các file server tĩnh (static server files) ................................................ 61 5.1.3.2. Tổ chức và lƣu trữ dữ liệu (Datastore) ............................................... 61 5 5.1.3.3. Quản lý vùng nhớ đệm (Memcache) .................................................. 62 5.1.3.4. Dịch vụ giao tiếp web (URL Fetch) ................................................... 63 5.1.3.5. Dịch vụ thƣ điện tử (Mail) ................................................................. 64 5.1.3.6. Một số dịch vụ khác .......................................................................... 64 5.1.4. Công cụ quản lý ứng dụng ........................................................................ 64 5.2. Xây dựng và triển khai ứng dụng trên GAE .................................................... 65 5.2.1 Công cụ xây dựng ứng dụng ...................................................................... 65 5.2.2 Cài đặt Plugin cho Eclipse ......................................................................... 65 5.2.3. Xây dựng ứng dụng trên GAE .................................................................. 67 5.2.4. Triển khai ứng dụng ................................................................................. 68 5.3. Ứng dụng website Quản lý du lịch .................................................................. 69 5.3.1 Giới thiệu ứng dụng................................................................................... 69 5.3.2 Phân tích thiết kế hệ thống ........................................................................ 69 5.3.2.1 Biểu đồ use case ................................................................................. 69 5.3.2.2 Biểu đồ lớp ......................................................................................... 70 5.3.2.3 Biểu đồ hoạt động............................................................................... 71 5.3.2.4 Biểu đồ trạng thái ............................................................................... 72 5.3.2.5 Biểu đồ tuần tự ................................................................................... 72 5.3.3 Lập trình ứng dụng .................................................................................... 73 5.3.4 Cách sử dụng trang Web Quản lý du lịch .................................................. 75 5.3.3.1 Truy cập trang web Quản lý du lịch .................................................... 75 5.3.3.2 Quản trị Web ...................................................................................... 76 5.3.3.3 Đặt tour .............................................................................................. 80 KẾT LUẬN ............................................................................................................... 83 TÀI LIỆU THAM KHẢO.......................................................................................... 84 6 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT Tên khoa học Giải nghĩa 1 Tên viết tắt API Application Programming Interfaces 2 3 4 5 6 CNTT CSDL CSDLQH ĐTĐM EC2 Information Technology Database Relational Database Cloud Computing Amazon Elastic Compute Cloud 7 GAE Google App Engine 8 9 IaaS JDK Infrastructure as a Service Java Development Kit 10 11 12 13 14 JDO NSD PaaS SaaS SDK Java Data Objects User Platform as a Service Software as a Service Software Development Kit 15 URL Uniform Resource Locator Giao diện lập trình ứng dụng Công Nghệ Thông Tin Cơ sở dữ liệu Cơ sở dữ liệu quan hệ Điện toán đám mây Nền tảng tính toán của Amazon Công nghệ nền tảng điện toán đám mây của Google Hạ tầng nhƣ một dịch vụ Bộ công cụ phát triển ứng dụng ngôn ngữ Java Các đối tƣợng dữ liệu Java Ngƣời sử dụng Nền tảng nhƣ một dịch vụ Phần mềm nhƣ một dịch vụ Bộ công cụ phát triển phần mềm Địa chỉ truy cập tài nguyên Internet STT 7 LỜI NÓI ĐẦU Ngày nay công nghệ thông tin phát triển rất nhanh chóng, nắm giữ vai trò quan trọng trong việc thúc đấy sự tăng trƣởng kinh tế, với sự ra đời của rất nhiều công nghệ mới, các dịch vụ CNTT đáp ứng nhu cầu của ngƣời dùng cũng nhƣ là các doanh nghiệp,... Tuy nhiên, trong giai đoạn suy thoái kinh tế nhƣ hiện nay, thì việc ứng dụng một công nghệ hay một dịch vụ CNTT đáp ứng việc quản lý tốt, hiệu quả dữ liệu của riêng công ty cũng nhƣ dữ liệu khách hàng, đối tác là một trong những bài toán đƣợc ƣu tiên hàng đầu và đang không ngừng gây khó khăn cho doanh nghiệp. Để có thể quản lý đƣợc nguồn dữ liệu đó, ban đầu các doanh nghiệp phải đầu tƣ, tính toán rất nhiều loại chi phí nhƣ chi phí cho phần cứng, phần mềm, mạng, chi phí cho quản trị viên, chi phí bảo trì, sửa chữa,…Ngoài ra họ còn phải tính toán khả năng mở rộng, nâng cấp thiết bị; phải kiểm soát việc bảo mật dữ liệu cũng nhƣ tính sẵn sàng cao của dữ liệu. Để giải quyết vấn đề trên thì chúng ta thấy đƣợc rằng nếu có một nơi tin cậy giúp các doanh nghiệp quản lý tốt nguồn dữ liệu đó, các doanh nghiệp sẽ không còn quan tâm đến cơ sở hạ tầng, công nghệ mà chỉ tập trung chính vào công việc kinh doanh của họ thì sẽ mang lại cho họ hiệu quả và lợi nhuận ngày càng cao hơn. Khái niệm “điện toán đám mây” (ĐTĐM) đã ra đời trong hoàn cảnh đó và đang dần trở nên quen thuộc đối với các doanh nghiệp, đặc biệt là đối với các doanh nghiệp vừa và nhỏ. Không nằm ngoài xu thế đó em xin đƣa ra đề tài nghiên cứu về ĐTĐM và cụ thể nghiên cứu về công nghệ Google Apps Engine – một nền tảng ĐTĐM của hãng CNTT khổng lồ trên thế giới – Google nhằm hiểu hơn về công nghệ mới này và ứng dụng nó hiệu quả hơn vào thực tế. 8 CHƢƠNG 1. TỔNG QUAN VỀ CLOUD COMPUTING Theo ƣớc tính của các nhà phát triển trong lĩnh vực khoa học công nghệ thì từ năm 2015 sẽ có khoảng 15 tỉ thiết bị kết nối đến internet và hầu hết đó là những thiết bị thông minh ví dụ nhƣ notebook, netbook, điện thoại thông minh, ô tô thông minh và thậm chí là cả những chiếc ti vi thông minh tất cả chúng đều kết nối đến internet vì thế chúng ta cần phải có một giải pháp sao cho linh hoạt để đáp ứng đƣợc những dịch vụ cho hàng loạt những thiết bị đó. Không gì khác đó là mô hình dịch vụ của ĐTĐM. Với trung tâm ĐTĐM đầu tiên đƣợc ra mắt vào nửa cuối năm 2008 thì Việt nam trở thành một trong những nƣớc đầu tiên tại ASEAN ứng dụng công nghệ này, đến nay thì những dịch vụ cụ thể, ứng dụng cụ thể thì khái niệm về ĐTĐM đã dần trở nên quen thuộc. IBM là tổ chức phong trong khai trƣơng trung tâm ĐTĐM đầu tiên ở Việt Nam vào tháng 9 năm 2008 với khách hàng đầu tiên là Công ty cổ phần công nghệ và truyền thông Việt Nam. Còn Microsoft trong tháng 5/2009 vừa qua đã chính thức ký kết biên bản ghi nhớ với tập đoàn FPT nhằm thúc đẩy ĐTĐM tại Việt Nam. Ý tƣởng nền tảng của ĐTĐM đã phát triển từ khá lâu trên thế giới nhƣng cho đến gần đây cùng với sự bùng nổ của Internet và công nghệ mạng cũng nhƣ nhu cầu của thị trƣờng các tên tuổi lớn trên thế giới mới bắt đầu đƣa những ý tƣởng trở thành những ứng dụng thật tại thị trƣờng Việt Nam, năm 2011 là năm mà ĐTĐM ở Việt Nam đã chính thức đƣợc phát triển mạnh cả về hạ tầng và dịch vụ. Theo một số liệu nghiên cứu mới đây cho rằng đến 2012 sẽ có khoảng 35% các doanh nghiệp lớn của Mỹ ứng dụng ĐTĐM và khoảng 40% các doanh nghiệp vừa và nhỏ trên toàn thế giới ứng dụng công nghệ mới này. 1.1 Khái niệm Cloud Computing Hiện tại khái niệm về Cloud computing vẫn còn là một khái niệm mơ hồ và đang đƣợc các nhà nghiên cứu chỉnh sửa từng ngày, nhƣng những ứng dụng của nó thì không quá phức tạp mà rất rõ ràng và cụ thể. 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 theo nhu cầu (tƣơng tự nhƣ mạng điện) 9 Hì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. 10 Hình 1.2. Hình ảnh Cloud Computing Cả hai định nghĩa trên đều định nghĩa Cloud Computing là một hệ phân bố, cung cấp các dạng tài nguyên ảo dƣới dạng dịch vụ một cách linh động theo nhu cầu của ngƣời dùng trên môi trƣờng internet. Hình 1.3. ĐTĐM “di cư” các nguồn tài nguyên lên mạng Internet 11 Theo Viện tiêu chuẩn và công nghệ quốc gia Bộ Thƣơng mại Mỹ (NIST): Điện toán đám mây là một mô hình cho phép truy cập mạng thuận tiện, theo nhu cầu đến một kho tài nguyên điện toán dùng chung, có thể định cấu hình (ví dụ như mạng, máy chủ, lưu trữ, ứng dụng) có thể được cung cấp và thu hồi một cách nhanh chóng với yêu cầu tối thiểu về quản lý hoặc can thiệp của nhà cung cấp dịch vụ. 1.2. Tính chất cơ bản Cloud Computing có năm tính chất nổi bật so với mô hình truyền thống. Hình 1.4. NIST Visual Model of Cloud Computing Definition 1.2.1 Tự phục vụ theo nhu cầu (On-demand self-service) Mỗi khi có nhu cầu, ngƣời dùng chỉ cần gửi yêu cầu thông qua trang web cung cấp dịch vụ, hệ thống của nhà cung cấp sẽ đáp ứng yêu cầu của ngƣời dùng. Ngƣời dùng có thể tự phục vụ yêu cầu của mình nhƣ tăng thời gian sử dụng server, tăng dung lƣợng lƣu trữ… mà không cần phải tƣơng tác trực tiếp với nhà cung cấp dịch vụ, mọi nhu cầu về dịch vụ đều đƣợc xử lý trên môi trƣờng web (internet). 1.2.2 Truy xuất diện rộng (Broad network access) Cloud Computing cung cấp các dịch vụ thông qua môi trƣờng internet. Do đó, ngƣời dùng có kết nối internet là có thể sử dụng dịch vụ. Hơn nữa, Cloud Computing ở dạng dịch vụ nên không đòi hỏi khả năng xử lý cao ở phía client, vì vậy ngƣời dùng có thể truy xuất bằng các thiết bị di dộng nhƣ điện thoại, PDA, laptop… Với Cloud Computing ngƣời dùng không còn bị phụ thuộc vị trí nữa, họ có thể truy xuất dịch vụ từ bất kỳ nơi nào, vào bất kỳ lúc nào có kết nối internet. 12 1.2.3 Dùng chung tài nguyên (Resource pooling) Tài nguyên của nhà cung cấp dịch vụ đƣợc dùng chung, phục vụ cho nhiều ngƣời dùng dựa trên mô hình “multi-tenant”. Trong mô hình “multi-tenant”, tài nguyên sẽ đƣợc phân phát động tùy theo nhu cầu của ngƣời dùng. Khi nhu cầu của một khách hàng giảm xuống, thì phần tài nguyên dƣ thừa sẽ đƣợc tận dụng để phục vụ cho một khách hàng khác. Ví dụ nhƣ khách hàng A thuê 10 CPU mỗi ngày từ 7 giờ đến 11 giờ, một khách hàng B thuê 10 CPU tƣơng tự mỗi ngày từ 13 giờ đến 17 giờ thì hai khách hàng này có thể dùng chung 10 CPU đó. Cloud Computing dựa trên công nghệ ảo hóa, nên các tài nguyên đa phần là tài nguyên ảo. Các tài nguyên ảo này sẽ đƣợc cấp phát động theo sự thay đổi nhu cầu của từng khách hàng khác nhau. Nhờ đó nhà cung cấp dịch vụ có thể phục vụ nhiều khách hàng hơn so với cách cấp phát tài nguyên tĩnh truyền thống. 1.2.4 Khả năng co giãn (Rapid elasticity) Đây là tích chất đặc biệt nhất, nổi bật nhất và quan trọng nhất của Cloud Computing. Đó là khả năng tự động mở rộng hoặc thu nhỏ hệ thống tùy theo nhu cầu của ngƣời dùng. Khi nhu cầu tăng cao, hệ thống sẽ tự mở rộng bằng cách thêm tài nguyên vào. Khi nhu cầu giảm xuống, hệ thống sẽ tự giảm bớt tài nguyên. Ví dụ: khách hàng thuê một Server gồm 10 CPU. Thông thƣờng do có ít truy cập nên chỉ cần 5 CPU là đủ, khi đó hệ thống quản lý của nhà cung cấp dịch vụ sẽ tự ngắt bớt 5 CPU dƣ thừa, khách hàng không phải trả phí cho những CPU dƣ thừa này (những CPU này sẽ đƣợc cấp phát cho các khách hàng khác có nhu cầu). Khi lƣợng truy cập tăng cao, nhu cầu tăng lên thì hệ thống quản lý của nhà cung cấp dịch vụ sẽ tự “gắn” thêm CPU vào, nếu nhu cầu tăng vƣợt quá 10 CPU thì khách hàng phải trả phí cho phần vƣợt mức theo thỏa thuận với nhà cung cấp. Khả năng co giãn giúp cho nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để tài nguyên dƣ thừa, phục vụ đƣợc nhiều khách hàng. Đối với ngƣời sử dụng dịch vụ, khả năng co giãn giúp họ giảm chi phí do họ chỉ trả phí cho những tài nguyên thực sự dùng. 1.2.5 Điều tiết dịch vụ (Measured service) Hệ thống Cloud Computing tự động kiểm soát và tối ƣu hóa việc sử dụng tài nguyên (dung lƣợng lƣu trữ, đơn vị xử lý, băng thông…). Lƣợng tài nguyên sử dụng có thể đƣợc theo dõi, kiểm soát và báo cáo một cách minh bạch cho cả hai phía nhà cung cấp dịch vụ và ngƣời sử dụng. 1.3 Các mô hình Cloud Computing Các mô hình Cloud Computing đƣợc phân thành hai loại: 13 - 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. 1.3.1 Mô hình dịch vụ Hiện tại có rất nhiều nhà cung cấp dịch vụ Cloud Computing cung cấp nhiều loại dịch vụ khác nhau. Tuy nhiên có ba loại dịch vụ Cloud Computing cơ bản là: dịch vụ cơ sở hạ tầng (Infrastructure as a Service – IaaS), dịch vụ nền tảng (Platform as a Service – PaaS) và dịch vụ phần mềm (Software as a Service – SaaS). Cách phân loại này thƣờng đƣợc gọi là “mô hình SPI”. Hình1.5. Các loại dịch vụ Cloud Computing 1.2.1.1 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ển khai ứ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ấp dị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ƣu trữ, 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. 1.2.1.2 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àng sẽ 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ấp hoặ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 phát triển. 14 1.2.1.3 Software 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àng mộ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ềm nà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ải phó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. Hình 1.6. Mô hình SPI 1.3.2. Mô hình triể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ính là: Public Cloud, Private Cloud và Hybrid Cloud. 1.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ủa ngƣời dùng đều nằm trên hệ thống Cloud. Ngƣời sử dụng dịch vụ sẽ đƣợc lợi là chi phí đầu tƣ thấp, giảm thiểu rủi ro do nhà cung cấp dịch vụ đã gánh vác nhiệm vụ quản lý hệ thống, cơ sở hạ tầng, bảo mật… Một lợi ích khác của mô hình này là cung cấp khả năng co giãn (mở rộng hoặc thu nhỏ) theo yêu cầu của ngƣời sử dụng. 15 Hình 1.7. Mô hình Public Cloud Tuy nhiên Public Cloud có một trở ngại, đó là vấn đề mất kiểm soát về dữ liệu và vấn đề an toàn dữ liệu. Trong mô hình này mọi dữ liệu đều nằm trên dịch vụ Cloud, do nhà cung cấp dịch vụ Cloud đó bảo vệ và quản lý. Chính điều này khiến cho khách hàng, nhất là các công ty lớn cảm thấy không an toàn đối với những dữ liệu quan trọng của mình khi sử dụng dịch vụ Cloud. 1.3.2.2. Private Cloud Trong mô hình Private Cloud, cơ sở hạ tầng và các dịch vụ đƣợc xây dựng để phục vụ cho một tổ chức (doanh nghiệp) duy nhất. Điều này giúp cho doanh nghiệp có thể kiểm soát tối đa đối với dữ liệu, bảo mật và chất lƣợng dịch vụ. Doanh nghiệp sở hữu cơ sở hạ tầng và quản lý các ứng dụng đƣợc triển khai trên đó. Private Cloud có thể đƣợc xây dựng và quản lý bởi chính đội ngũ IT của doanh nghiệp hoặc có thể thuê một nhà cung cấp dịch vụ đảm nhiệm công việc này. Nhƣ vậy, mặc dù tốn chi phí đầu tƣ nhƣng Private Cloud lại cung cấp cho doanh nghiệp khả năng kiểm soát và quản lý chặt chẽ những dữ liệu quan trọng. Hình 1.8. Private Cloud và Public Cloud 16 1.3.2.3. Hybrid Cloud Nhƣ chúng ta đã phân tích ở trên, Public Cloud dễ áp dụng, chi phí thấp nhƣng không an toàn. Ngƣợc lại, Private Cloud an toàn hơn nhƣng tốn chi phí và khó áp dụng. Do đó nếu kết hợp đƣợc hai mô hình này lại với nhau thì sẽ khai thác ƣu điểm của từng mô hình. Đó là ý tƣởng hình thành mô hình Hybrid Cloud. Hình 1.9. Kết hợp Public Cloud và Private Cloud Hybrid Cloud là sự kết hợp của Public Cloud và Private Cloud. Trong đó doanh nghiệp sẽ “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ác chức năng nghiệp vụ và dữ liệu tối quan trọng trong tầm kiểm soát (Private Cloud). Hình 1.10. Hybrid Cloud 17 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ả hai phía Public và Private Cloud sao cho ứng dụng đó có thể kết nối, trao đổi dữ liệu để hoạt động một cách hiệu quả. Hình 1.11. Triển khai ứng dụng trên Hybrid Cloud Doanh nghiệp có thể chọn để triển khai các ứng dụng trên Public, Private hay Hybrid Cloud 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 doanh nghiệ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ụng nhiề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ải quyế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 ứng dụ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 Private hoặc Hybrid Cloud. 1.4 Kiến trúc điện toán đám mây Mỗi hãng cung cấp có một kiến trúc ĐTĐM riêng và phát triển theo thế mạnh của mình. Kiến trúc thể hiện rõ đƣợc khả năng cung cấp tài nguyên nhờ công nghệ ảo hóa máy chủ, ảo hóa mạng và tự động hóa. Từ đó có thể tiết kiệm đƣợc tài nguyên “rỗi” của máy chủ và điện năng. Mỗi hãng đƣa ra cho mình một mô hình kiến trúc ảo hóa, quản lý, tính toán và cấp phát động tài nguyên riêng để nâng cao chất lƣợng hệ thống của mình nhằm thu hút khách hàng đƣa đến những thuận lợi cho khách hàng sử dụng dịch vụ. Phần lớn hạ tầng cơ sở của ĐTĐM hiện nay là sự kết hợp của những dịch vụ đáng tin cậy đƣợc phân phối thông qua các trung tâm dữ liệu (Data Center). Chúng đƣợc xây dựng trên những máy chủ với những cấp độ khác nhau của các công nghệ ảo 18 hóa. Những dịch vụ này có thể đƣợc truy cập từ bất kỳ nơi đâu trên thế giới, trong đó “đám mây” là một điểm truy cập duy nhất cho tất cả các máy tính có nhu cầu của khách hàng. Các dịch vụ thƣơng mại cần đáp ứng yêu cầu chất lƣợng dịch vụ từ phía khách hàng đều đƣa ra các mức thỏa thuận dịch vụ (Service level agreement). Kiến trúc ĐTĐM nhìn chung gồm có các thành phần chính sau: Hình 1.12. 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ảm chi 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,… 19 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 yêu cầu trên mạng. ví dụ các dịch vụ hiện nay nhƣ: Simple Queue Service, Google Maps, các dị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à duy trì ứ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 chi phí để 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,… 1.5. So sánh Điện toán máy chủ ảo thƣờng bị lẫn lộn với điện toán lƣới, là "một dạng của điện toán phân tán trong đó tồn tại một 'siêu máy tính ảo', là sự bao gồm một cụm mạng máy tính, những máy tính liên kết mềm, hoạt động phối hợp để thực thi những tác vụ cực lớn", điện toán theo nhu cầu (utility computing) ("khối những tài nguyên máy tính, nhƣ các bộ xử lý và bộ nhớ, trong vai trò một dịch vụ trắc lƣợng tƣơng tự với các công trình hạ tầng kỹ thuật truyền thống chẳng hạn nhƣ điện lực hay mạng điện thoại") và điện toán tự trị (autonomic computing) ("những hệ thống máy tính có khả năng tự quản lý"). Thực ra việc triển khai nhiều hệ thống điện toán máy đám mây ngày nay đƣợc trang bị hệ thống lƣới, có tính năng tự trị và đƣợc tiếp thị giống nhƣ những tiện ích, nhƣng điện toán đám mây có thể đƣợc nhìn nhận nhƣ một bƣớc phát triển tự nhiên tiếp theo từ mô hình lƣới-theo nhu cầu. Nhiều kiến trúc đám mây thành công có cơ sở hạ tầng không quy tập hay ít quy tập hay những hệ thống tiếp thị trong đó có mạng ngang hàng nhƣ BitTorrent và Skype. 1.6. Lợi ích và hạn chế của ĐTĐM 1.6.1. Lợi ích của ĐTĐM 1.6.1.1. Miễn phí Sử dụng các dịch vụ ĐTĐM ngƣời dùng sẽ không phải lo lắng nhiều về giá cả. Hiện tại rất nhiều ứng dụng trực tuyến có chất lƣợng rất tốt nhƣng lại hoàn toàn miễn phí nhƣ của Google. Ngoài sự thiếu vắng một vài tính năng cao cấp thì những dịch vụ này có thể thực hiện phần lớn các công việc của một ngƣời dùng phổ thông. 1.6.1.2. Dễ tiếp cận Điểm mấu chốt của ĐTĐM là chuyển việc tính toán về các trung tâm dữ liệu của các nhà cung cấp dịch vụ. Do vậy, ngƣời sử dụng không cần phải trang bị một máy tính có cấu hình cao khi sử dụng những dịch vụ của ĐTĐM. Chẳng hạn, ngƣời dùng 20 chỉ cần một chiếc netbook hay điện thoại di động có khả năng kết nối Internet thì hoàn toàn có thể tiếp cận đƣợc những dịch vụ mà ĐTĐM mang lại. 1.6.1.3. Khả năng tự phục vụ Mỗi khi có yêu cầu sử dụng dịch vụ khách hàng sẽ gửi yêu cầu lên nhà cung cấp dịch vụ thông qua môi trƣờng Web. Hệ thống của nhà cung cấp sẽ đáp ứng các yêu cầu của khác hàng phù hợp với chính sách cho ngƣời sử dụng của mình. Đồng thời, khách hàng cũng có thể tự động thay đổi cấu hình hệ thống (tăng công suất, tài nguyên tính toán cho bộ dữ liệu, chương trình của chính mình). 1.6.1.4. Di động Ngƣời dùng luôn có dữ liệu của mình dù ở bất cứ đâu, bất cứ khi nào. Chẳng hạn, nhƣ việc muốn chia sẻ cho bạn bè, đồng nghiệp xem một văn bản trong máy tính của mình. Điều này không hề khó, họ chỉ cần đăng nhập và nhận văn bản này qua dịch vụ của ĐTĐM. Nói cách khác, bất kỳ máy tính hay thiết bị nào và ở bất cứ đâu cũng hoàn toàn có thể truy cập đƣợc dữ liệu cá nhân của mình miễn là có kết nối Internet. 1.6.1.5 . Linh hoạt Khi sử dụng dịch vụ ĐTĐM, ngƣời sử dụng sẽ không còn chịu cảnh gò bó hay khi chỉ có thể thao tác các tài liệu số trên các thiết bị thông dụng nhƣ Desktop hay Laptop nữa. Có rất nhiều thiết bị có khả năng truy cập Internet hiện đã có thể sử dụng đƣợc các dịch này và bạn có thể thoải mái tải xuống các bức ảnh từ các ứng dụng của thiết bị kết nối Internet của mình và bạn cũng có thể chia sẻ các dữ liệu của mình với tất cả mọi ngƣời thông qua các dịch vụ của Internet. 1.6.1.6 . Tài nguyên dùng chung Khả năng tiết kiệm tài nguyên tính toán cũng đƣợc các nhà cung cấp dịch vụ ĐTĐM tối ƣu. Lấy một ví dụ cụ thể nhƣ, một khách hàng thuê một phần mềm sử dụng nhƣ một dịch vụ chạy trên một máy chủ từ một nhà cung cấp trong khoảng thời gian nhất định trong ngày của tháng đó. Thì phần mềm trên máy chủ đó hoàn toàn có thể cho khách hàng thứ hai chạy chƣơng trình trong thời gian ngoài thời gian đã đƣợc cho thuê trƣớc đó. Việc làm này khiến cho ĐTĐM trở lên linh hoạt và mềm dẻo đồng thời cũng rất kinh tế. 1.6.1.7. Khả năng liên kết Là giải pháp cho phép dữ liệu và dịch vụ có thể đƣợc trao đổi dễ dàng trong nội bộ và giữa các hạ tầng ĐTĐM. Để các hệ thống liên kết đƣợc với nhau, cần có cơ chế tƣơng tác thông suốt giữa các nền tảng và giải pháp khác nhau và ta tạm gọi là định nghĩa vật lý, công nghệ phát triển ứng dụng của ĐTĐM. 1.6.1.8 . Khả năng tự động hoá Là giải pháp cho phép các dịch vụ và tài nguyên ĐTĐM có thể đƣợc định nghĩa và cung cấp một cách bảo mật mà hầu nhƣ không cần tƣơng tác với con ngƣời. Theo tầm nhìn ĐTĐM của Intel, khả năng tự động hoá cho phép phân bổ và quản lý tài nguyên theo mức dịch vụ thoả thuận. Tối ƣu hoá trung tâm dữ liệu bằng cách tự động
- Xem thêm -