Đĩnh nghĩa điện toán đám mây (Cloud Computing) .3 1.2 Lợi ích điện tốn đám mây 1.3 [2]Mơ hình triển khai điện tốn đám mây (Deploying Models) .3 1.3.1 Public Cloud – Đám mây công cộng 1.3.2 Private Cloud – Đám mây nội 1.3.3 Hybrid Cloud – Đám mây lai 1.4 Mơ hình dịch vụ Điện tốn đám mây (Service Models) 1.4.1 Cơ sở hạ tầng dịch vụ - IaaS Tài nguyên mà mơ hình IaaS cung cấp bao gồm: máy chủ, thiết bị mạng, nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm liệu Mơ hình dịch vụ có khả mở rộng linh hoạt, chi phí dịch vụ tùy thuộc vào nhu cầu sử dụng người dùng, nhiều người thuê dùng chung tài nguyên 1.4.2 Nền tảng dịch vụ - PaaS 1.4.3 Phần mềm dịch vụ - SaaS 11 1.4.4 Các mơ hình dịch vụ khác 12 Chương DBaaS (Database as a Service) 14 2.1 Định nghĩa DBaaS 14 2.2 Lợi ích việc sử dụng DbaaS .14 2.3 Ưu điểm DBaaS 15 2.3.1 Năng Suất 15 2.3.2 Dễ sử dụng 15 2.3.3 Nhanh 15 2.3.4 Tính khả dụng khả mở rộng cao 16 2.3.5 Bảo vệ 16 2.3.6 Chi phí DBaaS 16 Chương MongoDB Atlas .18 3.1 Định nghĩa MongoDB 18 3.1.1 NoSQL 18 3.1.2 Ưu điểm MongoDB 18 3.1.3 Nhược điểm MongoDB 19 3.2 MongoDB Atlas ? .19 3.3 Các tính bật MongoDB Atlas 19 3.4 Automation at the Core .20 3.5 Tính linh hoạt hỗ trợ .20 3.6 Security 20 3.7 Khả mở rộng 21 3.8 Hiệu suất cao 21 3.9 Get Started with Atlas 22 Chương Dự n giớ i thiệu tính ứ ng dụ ng củ a Atlas
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH Giáo Viên Hướng Dẫn : TS.Nguyễn Tiến Đạt Nguyễn Văn Hoàng – 1751012025 Võ Đức Hiên - 1751012018 Đồ án ngành: Nghiên cứu ứng dụng mơ hình dịch vụ DBaaS vào lập trình ĐỒ ÁN NGÀNH NGÀNH KHOA HỌC MÁY TÍNH TP HỒ CHÍ MINH, MỤC LỤC DANH MỤ C HÌNH VẼ .9 DANH MỤ C TỪ VIẾ T TẮ T .11 LỜ I CAM ĐOAN MỞ ĐẦ U Chương TỔ NG QUAN VỀ ĐIỆ N TOÁ N ĐÁ M MÂ Y (CLOUD COMPUTING) 1.1 Đĩnh nghĩa điện toán đám mây (Cloud Computing) .3 1.2 Lợi ích điện tốn đám mây 1.3 [2]Mơ hình triển khai điện tốn đám mây (Deploying Models) .3 1.3.1 Public Cloud – Đám mây công cộng 1.3.2 Private Cloud – Đám mây nội 1.3.3 Hybrid Cloud – Đám mây lai 1.4 Mơ hình dịch vụ Điện tốn đám mây (Service Models) 1.4.1 Cơ sở hạ tầng dịch vụ - IaaS Tài nguyên mà mơ hình IaaS cung cấp bao gồm: máy chủ, thiết bị mạng, nhớ, CPU, không gian đĩa cứng, trang thiết bị trung tâm liệu Mơ hình dịch vụ có khả mở rộng linh hoạt, chi phí dịch vụ tùy thuộc vào nhu cầu sử dụng người dùng, nhiều người thuê dùng chung tài nguyên 1.4.2 Nền tảng dịch vụ - PaaS 1.4.3 Phần mềm dịch vụ - SaaS 11 1.4.4 Các mơ hình dịch vụ khác 12 Chương DBaaS (Database as a Service) 14 2.1 Định nghĩa DBaaS 14 2.2 Lợi ích việc sử dụng DbaaS .14 2.3 Ưu điểm DBaaS 15 2.3.1 Năng Suất 15 2.3.2 Dễ sử dụng 15 2.3.3 Nhanh 15 2.3.4 Tính khả dụng khả mở rộng cao 16 2.3.5 Bảo vệ 16 2.3.6 Chi phí DBaaS 16 Chương MongoDB Atlas .18 3.1 Định nghĩa MongoDB 18 3.1.1 NoSQL 18 3.1.2 Ưu điểm MongoDB 18 3.1.3 Nhược điểm MongoDB 19 3.2 MongoDB Atlas ? .19 3.3 Các tính bật MongoDB Atlas 19 3.4 Automation at the Core .20 3.5 Tính linh hoạt hỗ trợ .20 3.6 Security 20 3.7 Khả mở rộng 21 3.8 Hiệu suất cao 21 3.9 Get Started with Atlas 22 Chương Dự n giớ i thiệu tính ứ ng dụ ng củ a Atlas 33 4.1 Tổng quan dự án 33 4.2 Về MERN Stack 33 4.2.1 React.js .34 4.2.2 Express.js Node.js .34 4.2.3 MongoDB Atlas 35 4.2.4 Ưu điểm MERN 35 4.3 Dự án bao gồm ? 36 4.3.1 Về giao diện tính .36 4.3.2 Về Cơ Sở Dữ Liệu 39 PHỤ LỤ C 41 TÀ I LIỆ U THAM KHẢ O .42 LỜI CẢM ƠN Lời em xin gửi lời cảm ơn đến nhà trường xây dựng môi trường học tập tốt để em học tập nghiên cứu Tiếp theo, em xin gửi lời cảm ơn đến toàn thể đội ngũ giảng viên, cảm ơn thầy cô dành thời gian giảng dạy, truyền tải kiến thức cho chúng em để chúng em có tảng kiến thức vững phục vụ cho việc nghiên cứu Bên cạnh đó, em xin cảm ơn thầy TS.Nguyễn Tiến Đạt, giảng viên hướng dẫn nhóm em Mặc dù bận rộn thầy dành thời gian để hỗ trợ hướng dẫn tận tình cho nhóm em Trong q trình nghiên cứu đồ án nhóm em cịn nhiều thiếu sót nên mong q thầy, cô độcc giả thông cảm Lời cuối, em xin gửi lời chúc sức khỏe đến toàn thể người Xin cảm ơn NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN DANH MỤC HÌNH VẼ Hình 1.1: Public Cloud Hình 1.2: Private Cloud .7 Hình 1.3: Hybrid Cloud .7 Hình 1.4: Cơ sở hạ tầng dịch vụ - IaaS Hình 1.5: Nền tảng dịch vụ - PaaS .10 Hình 1.6: Phàn mềm dịch vụ - SaaS 12 Hình 3.1: MongoDB 22 Hình 3.2: Login MongoDB với tài khoản Google 23 Hình 3.3: Đặt tên Project chọn ngơn ngữ lập trình .23 Hình 3.4: Thuê Cụm (Cluster) 24 Hình 3.5: Chọn nhà cung cấp đám mây khu vực 24 Hình 3.6: Thêm địa IP vào danh sách truy cập 25 Hình 3.7: Danh sách truy cập 25 Hình 3.8: Tạo người dùng sở liệu 26 Hình 3.9: Danh sách người dùng 26 Hình 3.10: Kết nối với cụm thơng qua MongoDB Compass 27 Hình 3.11: Truy cập sưu tập sở liệu 28 Hình 3.12: Bộ sưu tập sở liệu trống 28 Hình 3.13: Xem liệu .29 Hình 3.14: Tìm kiếm liệu 30 Hình 3.15: Chỉnh sửa liệu 31 Hình 3.16: Chèn liệu 31 Hình 3.17: Dữ liệu sau chèn .32 Hình 4.1: Kiến trúc tầng 34 Hình 4.2: Giao diện đăng nhập .36 Hình 4.3: Giao diện đăng ký tài khoản 37 Hình 4.4: Giao diện 37 Hình 4.5: Thông tin người dùng .38 Hình 4.6: Tìm kiếm người dùng khác thông qua mail .38 Hình 4.7: Giao diện chức đăng viết .39 Hình 4.8: Cơ sở liệu Post lưu MongoDB Atlas 39 Hình 4.9: Cơ sở liệu người dùng lưu MongoDB Atlas 40 Hình 4.10: Cơ sở liệu đa phương tiện lưu Cloundiary 40 Phần 5: Kết nối với Cụm Bây tạo người dùng, đến lúc kết nối với cụm Chúng ta nhắc chọn phương thức kết nối, kết nối với MongoShell, ứng dụng riêng MongoDB Compass, GUI MongoDB Trong ví dụ này, thử kết nối MongoDB Compass.[ CITATION Mon08 \l 1033 ] Hình 3.16: Kết nối với cụm thông qua MongoDB Compass Phần 6: Chèn xem liệu cụm Atlas cung cấp GUI để tương tác với liệu cụm, gọi Data Explorer Chúng ta sử dụng Data Explorer để nhập liệu mẫu Atlas cung cấp vào cụm.[ CITATION Mon08 \l 1033 ] 28 Hình 3.17: Truy cập sưu tập sở liệu Hình 3.18: Bộ sưu tập sở liệu trống Bây có liệu, thực số thao tác với liệu Như xem, sửa, xóa tìm kếm sở liệu Chúng ta sử dụng lọc Data Explorer để tìm kiếm tài liệu cụ thể, chỉnh sửa tài liệu (tức thêm trường), sau lưu cập nhật sở liệu 29 Hình 3.19: Xem liệu 30 Hình 3.20: Tìm kiếm liệu 31 Hình 3.21: Chỉnh sửa liệu Hình 3.22: Chèn liệu 32 Hình 3.23: Dữ liệu sau chèn 33 Chương Dự án giới thiệu tính ứng dụng Atlas 4.1 Tổng quan dự án Đây dự án demo tính ứng dụng mơ hình dịch vụ DBaaS thơng qua MongoDB Atlas vào thực tiễn Chúng ta xây dựng ứng dụng React với MERN Stack Vậy React ? Mà MERN Stack ? React thư viện JavaScript khai báo, hiệu linh hoạt để xây dựng giao diện người dùng Nó cho phép soạn giao diện người dùng phức tạp từ đoạn mã nhỏ biệt lập gọi "Components" Còn MERN viết tắt MongoDB, Express, React, Node Trong đó, MongoDB sở liệu, Express(.js) web framework xây dựng Javascript chạy Node.js, Node.js Javascript runtime React/React Native React thư viện frontend viết Javascript [ CITATION Mon20 \l 1033 ] 4.2 Về MERN Stack MERN số biến thể MEAN Stack (MongoDB Express Angular Node), nơi khung giao diện người dùng Angular.js truyền thống thay React.js Các biến thể khác bao gồm MEVN (MongoDB, Express, Vue, Node) thực khung JavaScript frontend hoạt động.[ CITATION Mon20 \l 1033 ] Kiến trúc MERN cho phép người dùng dễ dàng xây dựng kiến trúc tầng (giao diện người dùng, phụ trợ, sở liệu) hoàn toàn JavaScript JSON 34 Hình 4.24: Kiến trúc tầng 4.2.1 React.js Tầng ngăn xếp MERN React.js, khung JavaScript khai báo để tạo ứng dụng phía máy khách động HTML React cho phép người dùng xây dựng giao diện phức tạp thông qua Components đơn giản, kết nối chúng với liệu máy chủ phụ trợ người dùng hiển thị chúng dạng HTML [ CITATION Mon20 \l 1033 ] 4.2.2 Express.js Node.js Cấp framework phía máy chủ Express.js, chạy bên máy chủ Node.js Express.js tự lập hóa đơn “khung web nhanh, khơng đơn giản, tối giản cho Node.js” Express.js có mơ hình mạnh mẽ để định tuyến URL (khớp URL đến với chức máy chủ) xử lý yêu cầu phản hồi HTTP Bằng cách thực Yêu cầu HTTP XML (XHR) GET POST từ giao diện người dùng Angular.js, ta kết nối với hàm Express.js cung cấp lượng cho ứng dụn Các chức sử dụng trình điều khiển MongoDB’s Node.js, thông qua lệnh gọi lại để sử dụng Promises, để truy cập cập nhật liệu sở liệu MongoDB.[ CITATION Mon20 \l 1033 ] 35 4.2.3 MongoDB Atlas Nếu ứng dụng người dùng lưu trữ liệu (user profiles, content, comments, uploads, events, v.v.), họ muốn có sở liệu dễ làm việc dễ dàng với Angular, Express Node Đó lý MongoDB xuất hiện: Các tài liệu JSON tạo giao diện người dùng Angular.js người dùng gửi đến máy chủ Express.js, nơi chúng xử lý (giả sử chúng hợp lệ) lưu trữ trực tiếp MongoDB để truy xuất sau Bất kì có ý định xây dựng sở liệu đám mây khơng thể bỏ lỡ MongoDB Atlas.[ CITATION Mon20 \l 1033 ] 4.2.4 Ưu điểm MERN MERN Stack tách thành hai thành phần: back-end front-end Thêm vào đó, tồn hệ thống sở liệu cách ly với phần cịn lại Tồn hệ thống, bao gồm front-end, back-end sở liệu, sử dụng API REST, hoạt động ' phần mềm trung gian ' tái sử dụng cho ứng dụng khác: mobile softwar e, v.v., dễ dàng API REST cho phép ta kết nối ứng dụng với mảnh ghép câu đố Các API REST dựa HTTP bắt chước phong cách giao tiếp web, làm cho chúng thuận lợi để sử dụng MERN Stack Node.js nhanh đơn giản ngơn ngữ khơng đồng Hiệu suất ấn tượng so với mức trung bình ngơn ngữ khác Back-end nhanh chóng có nghĩa người dùng ứng dụng có quyền truy cập vào liệu họ nhanh nhiều điều thực thuận lợi Điều đặc biệt xem xét ngày nay, thời gian trung bình chấp nhận để người dùng chờ trang web tải giây Thêm vào đó, tốc độ tăng làm giảm chi phí vận hành máy chủ.[ CITATION Mon20 \l 1033 ] 36 Trên tồn kiến thức tảng để chuẩn bị cho việc triển khai dự án Tiếp theo đây, bắt tay vào để xây dựng dự án ứng dụng React sử dụng mơ hình dịch vụ DbaaS thơng qua MongoDB Atlas 4.3 Dự án bao gồm ? Chúng ta xây dựng ứng dụng mạng xã hội tương tự Instagram 4.3.1 Về giao diện tính App có tính trang mạng xã hội đăng ký tài khoản, đăng nhập, đăng xuất, trang chủ để hiển thị post, thông tin người dùng, tạo post, tìm kiếm người dùng khác, quản lý followers following Hình 4.25: Giao diện đăng nhập 37 Hình 4.26: Giao diện đăng ký tài khoản Hình 4.27: Giao diện 38 Hình 4.28: Thơng tin người dùng Hình 4.29: Tìm kiếm người dùng khác thơng qua mail 39 Hình 4.30: Giao diện chức đăng viết 4.3.2 Về Cơ Sở Dữ Liệu Cơ sở liệu dự án lưu đám mây, MongoDB Atlas lưu liệu account thông tin user Ngồi MongoDB Atlas Cloudinary sử dụng dự án để lưu trữ file Media Hình 4.31: Cơ sở liệu Post lưu MongoDB Atlas 40 Hình 4.32: Cơ sở liệu người dùng lưu MongoDB Atlas Hình 4.33: Cơ sở liệu đa phương tiện lưu Cloundiary 41 PHỤ LỤC TÀI LIỆU THAM KHẢO [1] M Rouse, “cloud database,” March 2019 [Trự c tuyến] Available: https://searchcloudcomputing.techtarget.com/definition/cloud-database [2] Đ Đ Đ Đạ t, “MATBAO,” 10 2020 [Trự c tuyến] Available: https://wiki.matbao.net/dien-toan-dam-may-la-gi-thoi-dai-cach-mangcloud-computing-la-gi/ [3] I C Education, “IBM Cloud Learn Hub,” IBM, 14 November 2016 [Trự c tuyến] Available: https://www.ibm.com/cloud/learn/dbaas [4] tutorialspoint, “Learn MongoDB,” 2020 [Trự c tuyến] Available: https://www.tutorialspoint.com/mongodb/index.htm [5] “MongoDB Documentation,” 2008 [Trự c tuyến] Available: https://docs.atlas.mongodb.com/ [6] MongoDB, “MongoDB/MERN Stack” 2020 [Trự c tuyến] Available: https://www.mongodb.com/mern-stack Chương 42 ... trình liệu vào đám mây Trong dịch vụ kể tên dịch vụ DBaaS ưa chuộng thị trường tính tiện lợi, đa dụng dễ dàng sử dụng Ngoài ra, DBaaS ưa chuộng khả ứng dụng vào thực tế nhiều lĩnh vực, sâu vào tìm... Phàn mềm dịch vụ - SaaS 1.4.4 Các mơ hình dịch vụ khác Vì Cloud Computing tiếp tục mở rộng phát triển, ứng dụng vào hầu hết loại hình dịch vụ đưa lên internet Nên ngồi mơ hình dịch vụ chủ yếu IaaS,... dạng dịch vụ cloud) Điện tốn đám mây chiếm lĩnh mơ hình dịch vụ Trên thị trường có nhiều nhà cung cấp triển khai mơ hình dịch vụ, phối hợp nhiều mơ hình khác dịch vụ 1.4.1 Cơ sở hạ tầng dịch vụ