1 / 48

Đề tài : Nghiên cứu điện toán đám mây. Xây dựng ứng dụng demo.

Đề tài : Nghiên cứu điện toán đám mây. Xây dựng ứng dụng demo. Nhóm 1: - Đinh Thanh Dân _ 12L11200 - Vy Thị Hậu _ 12L1120014. - Lý Thị Kim Ngân _12L11200 - Điền Kim Thoa _12L1120058. - Ngô Thanh Vũ _12L11200. Nội Dung. Điện toán đám mây . Xây dựng ứng dụng demo .

svea
Télécharger la présentation

Đề tài : Nghiên cứu điện toán đám mây. Xây dựng ứng dụng demo.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Đề tài: Nghiên cứu điện toán đám mây.Xây dựng ứng dụng demo. Nhóm 1: - Đinh Thanh Dân _ 12L11200 - Vy Thị Hậu _ 12L1120014. - Lý Thị Kim Ngân _12L11200 - Điền Kim Thoa _12L1120058. - Ngô Thanh Vũ _12L11200..

  2. Nội Dung • Điệntoánđámmây. • Xâydựngứngdụng demo.

  3. A. Điệntoánđámmây.

  4. 1. Kháiniệm. • Điện toán đám mây (cloud computing): việc ảo hóa các tài nguyên tính toán và các ứng dụng. • Điện toán đám mây là mô hình điệntoán sử dụng các công nghệ máytínhvà phát triển dựa vào mạng Internet.

  5. 2. Lợiíchcủađiệntoánđámmây: • Tínhlinhđộng: thoảimáilựachọncácdịchvụtheonhucầu, bỏbớtnhữngthànhphầnkhôngmongmuốn. • Giảm chi phí: giảm chi phíđầutư, chi phíbảnquyền, chi phímuavàbảotrìmáychủ. • Tạonênsựđộclập: khôngphụthuộcvàothiếtbị hay vịtríđịalý.

  6. Lợiíchcủađiệntoánđámmây (tt): • Tăngcườngđộ tin cậy: dữliệuđượclưutrữphântántạinhiềucụmmáychủtạinhiềuvịtríkhácnhau. • Bảomật: Khả năng bảo mật được cài thiện do sự tập trung về dữ liệu. • Bảotrìdễdàng: mọiphầnmềmđềunằmtrên server thuậntiệnchoviệcsửachữa, bảotrìvànângcấp.

  7. Nhượcđiểm: • Tínhriêngtư. • Tínhsẵndùng. • Mấtdữliệu. • Tính di độngcủadữliệuvàquyềnsởhữu. • Khảnăngbảomậtkhibịtấncônghoạcchiếmdụng.

  8. 3. Cấutrúcphânlớpcủamôhìnhđiệntoánđámmây.

  9. Cấutrúcphânlớpcủađiệntoánđámmây (tt): • Client (lớpkháchhàng):l • Lớp Client của điện toán đám mây bao gồm phần cứng và phần mềm • Dựa vào đó, khách hàng có thể truy cập và sử dụng các ứng dụng/dịch vụ được cung cấp từ điện toán đám mây.

  10. Application (lớp ứng dụng): • Lớp ứng dụng của điện toán đám mây làm nhiệm vụ phân phối phần mềm như một dịch vụ thông qua Internet. • Các hoạt động được quản lý tại trung tâm của đám mây, chứ không nằm ở phía khách hàng (lớp Client), cho phép khách hàng truy cập các ứng dụng từ xa thông qua Website. • không cần thực hiện các tính năng như cập nhật phiên bản, bản vá lỗi, download phiên bản mới… bởi chúng sẽ được thực hiện từ các “đám mây”.

  11. Platform (Lớp Nền tảng): • Cung cấp nền tảng cho điện toán. • Cungcấpcác giải pháp của dịch vụ, chi phối đến cấu trúc hạ tầng của “đám mây”. • là điểm tựa cho lớp ứng dụng. • Giảm nhẹ sự tốn kém.

  12. Infrastructure (Lớp Cơ sở hạ tầng): • Cung cấp hạ tầng máy tính. • chi phí được giảm thiểu. • Đây là một bước tiến hóa của mô hình máy chủ ảo (Virtual Private Server).

  13. Server (Lớp Server - Máy chủ): • Bao gồm các sản phẩm phần cứng và phần mềm máy tính, được thiết kế và xây dựng đặc biệt để cung cấp các dịch vụ của đám mây. • Các server phải được xây dựng và có cấu hình đủ mạnh để đám ứng nhu cầu sử dụng của số lượng đông đảo người dùng.

  14. 4. Cáchthứchoạtđộngcủađiệntoánđámmây. • Đámmâybaogồm 2 lớp: • Lớp Back-end. • Lớp Front-end.

  15. Cáchthứchoạtđộngcủađiệntoánđámmây (tt): • Lớp Front-end là lớp người dùng, cho phép người dùng sử dụng và thực hiện thông qua giao diện. • Khi người dùng truy cập các dịch vụ trực tuyến, họ sẽ phải sử dụng thông qua giao diện từ lớp Front-end. • Và các phần mềm sẽ được chạy trên lớp Back-end nằm ở “đám mây”. • Lớp Back-end bao gồm các cấu trức phần cứng và phần mềm để cung cấp giao diện cho lớp Front-end và được người dùng tác động thông qua giao diện đó.

  16. 5. Côngnghệ. 5.1. kiếntrúccủaứngdụngđiệntoánđámmây.

  17. 5.1. Kiếntrúccủaứngdụngđiệntoánđámmây (tt). • Điệntoánđámmâylàmộttổhợptínhtoándựatrêncácthiếtbịhạtầngphầncứng. • Hạtầngphầncứngbaogồmcácmáychủchứadữliệunhỏđượckếtnốilạivớinhaunhưmộthệthốngphụcvụchoviệclưutrữ,xửlýdữliệuvàcácứngdụngtínhtoántrêncáctáinguyênkhác.

  18. 5.2. Kiếntrúcmáychủ:

  19. 5.2. Kiếntrúcmáychủ: • Làứngdụngnguyênlýtáchkhỏivàohệthốngđiệntoánđámmâynhằmtáchbiệtvớiphầncứngphứctạpcủahệthốngvớigiaodiệnbênngoài. • Tạoramộtgiaodiệnngườidùngđơngiản, dễsửdụnghơnvàtáchbiệtgiaodiệnngườidùngvớihệthốngphầncứng. • Ngườidùngchỉcầnquantâmđếnứngdụngmàkhôngcầnquantâmphầncứngbêndướiđượcthựchiệnnhưthếnào.

  20. 5.3. Map reduce. • Làmôhìnhlậptrình. • Được Google pháttriểnvàonăm 2003. • Hỗtrợchoquátrìnhtínhtoán song songtrênsốlượngtậpcácdữliệulơnlưutrữ ở cáccụmmáytínhthànhphầntrongđiệntoánđámmây. • Trongmôhìnhnày, ngườidùngđịnhnghĩa: • hàm map đểtínhtoánmộtcặpkhóa/giátrịđầuvào, tạocặpkhóa/giátrịtạmthời. • Hàm reduce gomtấtcảcácgiátrịtạmthờicóchungkhóavớinhaulạivàchorakếtquảmongmuốn.

  21. Môhình Map – Reduce:

  22. Tổngquanvềluồngthựcthimộtthaotác Map –Reduce.

  23. 5.4. Google File System (GFS): • Làhệthốngphântándữliệudànhchocácứngdụnglớn. • đượcthiếtkếnhằmmanglạisựtruyxuấtdữliệu tin cậyvàhiệuquả. • Cungcấpchếđộnhậnlỗiđểcóthểchạytrêncáchệthốngphầncứngcóyêucầukhôngcaođemlạihiệunăngtốttrênsốlượnglớncácmáy client.

  24. 5.5. Hadoop: • Làmột framework dùngđểchạycácứngdụngtrêncụmcácphầncứngkhôngđòihỏicấuhìnhcao. • KhởitạochomộtquátrìnhtínhtoántênlàMapReduce. • Chươngtrìnhứngdụngcóthể chia thànhnhiềumạngnhỏvàcóthểthựcthi ở bấtkỳ node nàotrongcụmmáytính. • Cungcấpmộthệthốngphântán file trêncác node tínhtoán, cungcấpbăngthôngtổnghợpcaotrêncáccụmmáytính.

  25. 5.5. Hadoop: • FramewrorkHadoopMapreducecócấutrúcchủ / tớ. • Cómột server master – job Tracker vànhiều slave – taskTracker. • Hadoopđượcsửdụngrộngrãivínócungcấpmộtcơchếsửdụngtàinguyênhệthốngtốiưuvà chi phíthấp.

  26. 6. Môhìnhđiệntoándámmây. • Cácdịchvụđiệntoánđámmây. • Các kiểu điện toán đám mây.

  27. 6.1. Cácdịchvụđiệntoánđámmây. • Đặc tính: • Không nằm ngay tại chỗ (Offsite), có thể được cung cấp bởi một nhà cung cấp thứ ba. • Được truy cập qua mạng Internet. • Không yêu cầu/yêu cầu kỹ năng CNTT tối thiểu để triển khai các dịch vụ điện toán đám mây. • Các công nghệ hỗ trợ hoàn toàn vô hình đối với người dùng. • Truy cập qua trình duyệt Web hoặc API của dịch vụ web • Các tài nguyên được phân bổ riêng hoặc dùng chung • Là các dịch vụ được đo đếm

  28. Cácdịchvụđiệntoánđámmây (tt): • Các giải pháp dịch vụ điện toán đám mây được phân thành ba mô hình : SaaS, PaaS, IaaS.

  29. Cácdịchvụđiệntoánđámmây. • DịchvụhạtầngIaaS (Infrastructure as a Service): • Cung cấp dịch vụ cơ bản bao gồm năng lực tính toán, không gian lưu trữ, kết nối mạng tới khách hàng. • Đápứngnhucầutínhtoánhoặccàiđặtứngdụngriêngchongườisửdụng. • Vớidịchvụnày khách hàng làm chủ hệ điều hành, lưu trữ và các ứng dụng do khách hàng cài đặt.

  30. DịchvụnềntảngPaaS (Platform as a Service) • Cung cấp nền tảng điện toán cho phép khách hàng phát triển các phần mềm. • có thể được cung cấp dưới dạng các ứng dụng lớp giữa, các ứng dụng chủ (application server) cùng các công cụ lập trình với ngôn ngữ lập trình nhất định để xây dựng ứng dụng nền tảng.

  31. DịchvụnềntảngPaaS (Platform as a Service) (tt): • Có thể được xây dựng riêng và cung cấp cho khách hàng thông qua một API riêng. • Kháchhàng điển hình của dịch vụ PaaS chính là các nhà phát triển ứng dụng (ISV). • Dịch vụ App Engine của Google là một dịch vụ PaaS điển hình, cho phép khách hàng xây dựng các ứng dụng web với môi trường chạy ứng dụng và phát triển dựa trên ngôn ngữ lập trình Java hoặc Python.V).

  32. Dịch vụ phần mềm SaaS (Software as a Service). • Cung cấp các ứng dụng hoàn chỉnh như một dịch vụ theo yêu cầu cho nhiều khách hàng với chỉ một phiên bản cài đặt. • Khách hàng lựa chọn ứng dụng phù hợp với nhu cầu. • Các ứng dụng SaaS cho người dùng cuối phổ biến là các ứng dụng office Online của Microsoft hay Google Docs của Google.

  33. 6.2. Cáckiểuđiệntoánđámmây.

  34. Cáckiểuđiệntoánđámmây (tt). • Public Cloud: là các dịch vụ đám mây được một bên thứ ba cung cấp, được lưu trữ đầy đủ và được nhà cung cấp bởi đám mâyquản lý. • Private Cloud: là các dịch vụ đám mây được cung cấp trong doanh nghiệpvàđược doanh nghiệp quản lý. • Hybrid Cloud: là sự kết hợp của các đám mây công cộng và riêng. Những đám mây này thường do doanh nghiệp tạo ra và các trách nhiệm quản lý.

  35. Các công ty cung cấp • Google, Microsoft, Amazone, 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 App Engine của Google: http://code.google.com/appengine/ • Windows Azure của Microsofthttp://www.microsoft.com/windowsazure/windowsazure/ • Nề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/ • Facebook.

  36. B. Xâydựngứngdụng demo. • GiớithiệuGoogle App Engine. • Hướngdẫncàiđặt. • Demo.

  37. Giớithiệu. • Google App Engine (AppEngine - GAE ) là giải pháp cho vấn đề điện toán đám mây. • Google cung cấp sẵn một hệ thống máy chủ điện toán đám mây, và người lập trình sẽ viết ứng dụng của mình lên đó. • Ứng dụng này sẽ chạy trên đám mây của Google.

  38. Giớithiệu (tt). • Google App Engine cho phép ngườidùng chạy các ứng dụng web của bạn trên cơ sở hạ tầngcủa Google. • App Engine ứng dụng được dễ dàng để xây dựng, dễ bảo trìvà nhu cầu lưu trữ dữ liệu lớn. • App Engine không có máy chủ để duy trì.

  39. Giớithiệu (tt). • Khôngphảithiết kế database, viết SQL để truy vấn data, map data vô objectchỉ cầndesign các class và GAE tự động làm việc với database. • Hiện AppEngine hỗ trợ 2 loại ngôn ngữ là: Python và Java.

  40. CácthànhphầnchínhcủaAppEngine. • Python Runtime: • Cungcấp APIs chodatastore, Google Accounts, App Engine services. • Để tiện lợi cho việc phát triển web AppEngine cũng cung cấp một web framework đơn giản là webapp. • Do viết bằng ngôn ngữ Python nên AppEngine hỗ trợ hầu hết các Python framework như Django, CherryPy, Pylons, web.py với một ít thay đổi nhấtđịnh.

  41. CácthànhphầnchínhcủaAppEngine. • Java Runtime Environment: • Cóthể phát triển ứng dụng cho Java Runtime Environment sử dụng phổ biến công cụ phát triển web Java và các tiêu chuẩn API. • Ứng dụng tương tác với môi trường bằng cách sử dụng the Java Servlet standard. • Các App Engine Java SDK hỗ trợ pháttriển các ứng dụng bằng cách sử dụng Java 5 hoặc 6. biến như JavaServer Pages (JSP).

  42. CácthànhphầnchínhcủaAppEngine. • Java Runtime Environment: • Đốivớicáckhodữliệu App Engine, Java SDK baogồmviệctriểnkhaicủa Java Data Objects (JDO) và Java Persistence API (JPA) interfaces. • Thông thường, các nhà phát triển Java sử dụng các ngôn ngữ lập trình Java và các API để thực hiện các ứng dụng web cho JVM.

  43. CácthànhphầnchínhcủaAppEngine. • Datastore : • Là cơ chế để thao tác với dữ liệu trên hệ thống dữ liệu phân tán của Google. • APIs của Datastore sẽ cung cấp Interface để có thể thao tác với các dữ liệuphía dưới.

  44. CácthànhphầnchínhcủaAppEngine. • Google Accounts: • AppEngine liên kết mật thiết với tài khoản Google. Ngườidùng có thể cho user login vào ứng dụng của mình bằng tài khoản Google của họ. • App Engine Services : • Cung cấp nhiều dịch vụ để có thể sử dụng cho ứng dụng. Vídụnhư: URL Fetch, Mail,…

  45. Hạnchế : • Ngườidùngsẽphụthuộchoàntoànvàocôngnghệcủa Google vàrấtkhótáchramộtứngdụngđộclập.

  46. Hướngdẫncàiđặt Google App Engine. • YÊU CẦU : • Eclipse . • Google plugin choEclise. • AppEngine-java-SDK-1.3.8.zip. • Cótàikhoảnứngdụngtrêngoole app engine.

  47. Hướngdẫncàiđặt Google App Engine (tt): • Cácbướccàiđặt: • Đăngkýtàikhoảntrên Google App Engine (đăngkýtrêntranghttp://appengine.google.com/), tạoứngdụngtrên Google App Engine. • Càiđặt Eclipse và Google Plugin cho Eclipse. • Triểnkhaiứngdụng.

  48. Demo ứngdụng.

More Related