Các máy tính trong các đám mây được cấu hình để làm việc cùng nhau và các ứng dụng khác nhau sử dụng sức mạnh điện toán tập hợp cứ như thể là chúng đang chạy trên một hệ thống duy nhất..
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN BÁ THANH TÌM HIỂU NỀN TẢNG ĐIỆN TỐN ĐÁM MÂY IBM BLUEMIX Chuyên ngành : Kỹ thuật máy tính Mã số SV : CB140337 LUẬN VĂN THẠC SĨ KỸ THUẬT MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS TRẦN HOÀNG HẢI HÀ NỘI - 2017 Tai ngay!!! Ban co the xoa dong chu nay!!! 17051113813751000000 MỤC LỤC MỤC LỤC i LỜI CẢM ƠN iii LỜI CAM ĐOAN iv TÓM TẮT LUẬN VĂN v DANH MỤC TỪ VIẾT TẮT vi DANH MỤC HÌNH VẼ vii MỞ ĐẦU ix CHƯƠNG TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1.1 Giới thiệu chung 1.2 Đặc điểm điện toán đám mây 1.3 Cấu trúc điện toán đám mây: 1.4 Các mơ hình hạ tầng điện tốn đám mây 1.4.1 Đám mây công cộng (Public Cloud) 1.4.2 Đám mây riêng (Private Cloud) 1.4.3 Đám mây lai (Hybrid Cloud) 1.4.4 Đám mây cộng đồng (Community Cloud) 1.5 Điện toán đám mây điện toán truyền thống 1.6 Lợi ích điện toán đám mây 1.7 Các vấn đề bảo mật điện toán đám mây 1.8 Các mơ hình dịch vụ điện toán đám mây 1.8.1 Cơ sở hạ tầng dịch vụ (IaaS) 10 1.8.2 Nền tảng dịch vụ (PaaS) 11 1.8.3 Phần mềm dịch vụ (SaaS) 12 1.9 Ưu nhược điểm điện toán đám mây 12 1.9.1 Ưu điểm 12 1.9.2 Nhược điểm 13 1.10 Các nhà cung cấp dịch vụ Cloud 15 1.10.1 Các nhà cung cấp dịch vụ điện toán đám mây 15 1.10.2 Các dịch vụ lưu trữ đám mây 16 CHƯƠNG ĐIỆN TOÁN ĐÁM MÂY IBM BLUEMIX 18 2.1 Tổng quan IBM Bluemix 18 2.1.1 Khái niệm 18 2.1.2 Tính lợi ích IBM Bluemix 19 2.1.3 Các đối tượng sử dụng IBM Bluemix 19 2.2 Kiến trúc IBM Bluemix 20 2.2.1 Bluemix Public 20 2.2.2 Cách thức hoạt động IBM bluemix 22 2.2.3 Khả phục hồi Bluemix 24 i 2.2.4 Bluemix Dedicated 25 2.2.5 Cơ chế bảo mật Blemix Platform 25 2.3 So sánh IBM Bluemix với tảng tương tự khác 27 2.3.1 Amazon Web services 27 2.3.2 Microsoft Azuse 28 2.3.3 Các dịch vụ IBM Bluemix cung cấp 28 CHƯƠNG GIỚI THIỆU KIẾN TRÚC MICROSERVICES VÀ DEVOPS 29 3.1 Microservices 29 3.1.1 Kiến trúc khối (Monolithic Applications) 29 3.1.2 Kiến trúc Microservices 30 3.1.3 Xây dựng Microservices: Sử dụng cổng kết nối API (API Gateway) 33 3.2 DevOps 37 3.2.1 Tổng quan DevOps 37 3.2.2 Mối quan hệ DevOps với Agile tích hợp/phân phối liên tục CI/CD 39 3.2.4 Mục tiêu lợi ích DevOps 41 CHƯƠNG XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH HỌC CHO SINH VIÊN ÁP DỤNG MICROSERVICES VÀ DEVOPS TRÊN NỀN TẢNG IBM BLUEMIX 43 4.1 DevOps Services IBM Bluemix 43 4.1.1 Giới thiệu DevOps Services IBM Bluemix 43 4.1.2 Tạo quản lý project với DevOps Services 44 4.2 Xây dựng phần mềm đặt lịch học cho sinh viên áp dụng microservices tảng IBM Bluemix 48 4.2.1 Mô tả 48 4.2.2 Yêu cầu chức hệ thống 48 4.2.3 Phân tích thiết kế hệ thống áp dụng microservices 49 4.3 Đánh giá kết 55 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 ii LỜI CẢM ƠN Tôi xin tỏ lịng kính trọng biết ơn sâu sắc thầy TS Trần Hoàng Hải giành nhiều thời gian tâm huyết hướng dẫn bảo giúp em hồn thành luận văn Tiếp theo, tơi xin cảm ơn Thầy, Cô Viện Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội nhiê ̣t tın ̀ h giảng dạy, truyền đạt kiến thức cho em suốt thời gian qua Tôi xin chân thành biết ơn tới Lãnh đạo viện Công nghệ thông tin truyền thông - Trường Đại học Bách khoa Hà Nội nhiệt tình truyền đạt giúp đỡ em suốt thời gian qua Cuối cùng, em xin cảm ơn tới gia đình, bạn bè tạo hội điều kiện thuận lợi giúp em toàn tâm toàn ý thực luận văn Xin chân thành cảm ơn Hà nội, tháng năm 2017 Học viên Nguyễn Bá Thanh iii LỜI CAM ĐOAN Tôi xin cam đoan luận văn Thạc sĩ “Tìm hiểu tảng Điện tốn đám mây IBM Bluemix” cơng trình nghiên cứu cá nhân Các số liệu, kết nêu luận văn trung thực rõ ràng Các tài liệu tham khảo, nội dung trích dẫn ghi rõ nguồn gốc Hà nội, tháng năm 2017 Học viên Nguyễn Bá Thanh iv TÓM TẮT LUẬN VĂN Trong thời đại bùng nổ thông tin nay, nhu cầu phát triển phầm mềm như, nhu cầu phát triển phầm mềm cá nhân dư doanh nghiệp tăng cao Theo có nhiều nhà đơn vị cung cấp dịch vụ hạ tầng phát triển ứng dụng, nhiên việc phát triển phần mềm, xây dựng, triển khai chạy ứng dụng vấn đề lớn nhà phát triển Để giải tốn đồ án tập trung trình bày vào nội dung sau: - Tìm hiểu điện tốn đám mây - Tìm hiểu IBM Bluemix - Tìm hiểu Microservices DevOps - Xây dựng ứng dụng đặt lịch học cho sinh viên ứng dụng Microservices, Devops triển khai IBM Bluemix v DANH MỤC TỪ VIẾT TẮT Từ viết tắt API CF CD CI CIO CLI CPU CTO Từ viết đầy đủ Application Programming Interface Cloud Foundry Continuous Delivery Continous Integration Chief Information Officer Command-line interface Central Processing Unit Chief Technical Officer DevOps Development and Operation HTTP IaaS IP IPS SOAP HyperText Transfer Protocol Infrastructure as a Service Internet Protocol Intrustion prevention system Lightweight Directory Access Protocol Platform as a Service Representational State Transfer Remote Procedure Call Software as a Service Security information and event management Simple Object Access Protocol QA Quality Assurance UI VLAN VM VPN User interface Virtual Local Area Network Virtual machine Virtual private network LDAP PaaS REST RPC SaaS SIEM Diễn giải Giao diêṇ lâ ̣p trın ̀ h ứ ng du ̣ng Nền tảng mở dịch vụ Phân phối liên tục Tích hợp liên tục Giám đốc cơng nghệ thơng tin Giao diện dịng lệnh Bộ xử lý trung tâm Giám đốc công nghệ Phương pháp tối ưu hóa phát triển phần mềm Giao thức truyền tải siêu văn Cơ sở hạ tầng dịch vụ Giao thức kết nối internet Hê ̣thố ng phòng chố ng xâm nhâ ̣p Giao thức truy cập thư mục Nền tảng dịch vụ Kiế n trú c di ch ̣ vụ Web thay thế Gọi thủ tục từ xa Phần mềm dịch vụ Hệ thống giám sát an toàn mạng Giao thức truy cập đơn giản Người chịu trách nhiệm đảm bảo chất lượng Giao diện người dùng Mạng cục ảo Máy ảo hóa Ma ̣ng riêng ảo vi DANH MU ̣C HÌNH VẼ Hình Mơ hình Cloud Computing Hình Cấu trúc điện toán đám mây Hình Mơ hình đám mây cơng cộng Hình Mơ hình đám mây riêng Hình Mơ hình đám mây lai Hình Mơ hình đám mây cộng đồng Hình Các mơ hình dịch vụ điện toán đám mây 10 Hình Mối quan hệ máy ảo, trình siêu giám sát máy tính 11 Hình Các nhà cung cấp dịch vụ điện toán đám mây 15 Hình 10 Mơ hình kiến trúc IBM Bluemix 21 Hình 11 Triển khai ứng dụng nhiều khu vực khác 22 Hình 12 Triển khai ứng dụng 23 Hình 13 Thiết kế máy chủ ảo 23 Hình 14 Gọi ứng dụng Bluemix 24 Hình 15 Chi tiết sơ đồ IBM Bluemix Dedicated 25 Hình 16 Thị phần top nhà cung cấp điện toán đám mây năm 2015 27 Hình 17 Kiến trúc khối (Monolithic Applications) 29 Hình 18 Sự phân tách mơ hình hệ thống công ty điều hành taxi (Uber) 31 Hình 19 Ứng dụng di động Amazon 34 Hình 20 Mobile client gửi REST đến dịch vụ nhỏ 35 Hình 21 Sơ đồi API Gateway 36 Hình 22 DevOps giao thoa bên 38 Hình 23 Minh họa giai đoạn (stages) DevOps 39 Hình 24 Continuous Integration (CI) 40 Hình 25 Nguyên tắc phân phối liên tục CD 41 Hình 26 Giao diện Devops IBM Bluemix 43 Hình 27 Khởi tạo project 44 Hình 28 Các lựa chọn khởi tạo DevOps 44 Hình 29 Ứng dụng khởi tạo GIT URL 45 Hình 30 Màn hình project IBM Bluemix DevOps Services 45 vii Hình 31 Mời thành viên tham gia nhóm 46 Hình 32 Giao diện Edit Code 46 Hình 33 Commit push code sửa 47 Hình 34 Sprint lanning Track & Plan 47 Hình 35 Build & Deploy project 48 Hình 36 Biểu đồ lớp 50 Hình 37 Sơ đồ Api phần mềm đặt lịch học cho sinh viên 51 Hình 38 Code phần back-end hệ thống 52 Hình 39 File Docker file 52 Hình 40 File Dockerfile.bk 52 Hình 41 File Docker-compose.yml 53 Hình 42 Các Container push lên hệ thống 53 Hình 43 Giao diện đăng nhập User admin 54 Hình 44 Giao diện quản lý Admin 54 Hình 45 Giao diện đăng ký lớp học sinh viên 55 viii MỞ ĐẦU Lý lựa chọn đề tài Ngày loại phương tiện thông tin đại chúng mạng internet, ta thường nghe nói khại niệm mẻ, “Điện toán đám mây” (Cloud computing) Mặc dù điện toán đám mây cách khách để cung cấp tài ngun máy tính, khơng phải cơng nghệ mới, châm ngịi cho cách mạng cách thức cung cấp thông tin dịch vụ tổ chức Điện toán đám mây hứa hẹn mang đến cách mạng công nghệ kinh doanh cách hỗ trợ dịch vụ có sẵn qua Internet Bluemix giải pháp điện toán đám mây IBM (PaaS IBM) Đây tảng xây dựng dựa chuẩn mở, chạy đám mây với mục tiêu giúp nhà phát triển phần mềm xậy dựng, quản lý, triển khai chạy ứng dụng thời gian ngắn Để nắm bắt xu hướng công nghệ đưa cách tổng quan cơng nghệ Điện tốn đám mây nói chung tảng IBM Bluemix nói riêng Vì tơi lựa chọn đề tài “Tìm hiểu tảng Điện toán đám mây IBM Bluemix” Mục tiêu đề tài Đề tài tập trung nghiên cứu tảng điện tốn đám mây nói chung IBM Bluemix nói riêng Qua áp dụng xây dựng phần mềm đặt lịch học cho sinh viên triển khai tảng IBM Bluemix Để đạt mục tiêu đó, đồ án tập trung làm rõ nội dung sau: - Tìm hiểu tổng quan điện tốn đám mây - Tìm hiểu IBM Bluemix - Tìm hiểu Microservices, DevOps - Áp dụng microservices DevOps triển khai phần mềm đặt lịch học cho sinh viên IBM Bluemix Phương pháp nghiên cứu 3.1 Phương pháp nghiên cứu lý thuyết Tổng hợp kiến thức nghiên cứu từ nguồn tài liệu khác nhau: Các tài liệu chuyên ngành, báo khoa học, sách điện tử, luận văn chuyện ngành 3.2 Phương pháp thử nghiệm Áp dụng mơ hình microservices Devops, triển khai ứng dụng đặt lịch học cho sinh viên tảng IBM Bluemix ix