TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN
THỰC HÀNH
ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY
Biên soạn:
ThS Phạm Tuấn Khiêm
Trang 2MỤC LỤC
BÀI 1 DỊCH VỤ SaaS 3
Bài thực hành 1: Sử dụng các công cụ văn phòng của Google. 4
Bài thực hành 2: Khám phá sản phẩm SaaS www.box.com 12
Bài thực hành 3: Khám phá công cụ tạo Blog/Website của Google, www.blogger.com 16
BÀI 2 DỊCH VỤ PaaS 27
Bài thực hành 1: Khám phá nền tảng Github. 28
Bài thực hành 2: Khám phá nền tảng PaiZa. 33
Bài thực hành 3: Tạo ứng dụng Web đơn giản bằng Java trên Azure App Service 37
Bài thực hành 4: Sử dụng Google App Engine 41
Bài thực hành 5: Viết và triển khai ứng dụng sử dụng nền tảng Heroku. 45
Bài thực hành 6: Khám phá và triển khai ứng dụng tính toán đơn giản với nền tảng www.anvil.works 50
BÀI 3 DỊCH VỤ IaaS 59
Bài thực hành 1: Khám phá sản phẩm IaaS của Amazon Web Services: EC2 60
Bài thực hành 2: Triển dịch vụ NFS trên EC2 70
Bài thực hành 3: Khám phá dịch vụ IaaS ở một số nhà cung cấp khác: ServerAvatar, MicroHost 82
BÀI 4 ẢO HÓA 91
Bài thực hành 1: Tạo và sử dụng máy ảo với VMware 92
Bài thực hành 2: Tạo và sử dụng máy ảo với VirtualBox 95
Bài thực hành 3: Tạo mạng LAN đơn giản gồm 2 máy ảo 106
Bài thực hành 4: Ảo hóa với nền tảng Vagrant 115
Bài thực hành 5: Ảo hóa với nền tảng Docker 119
Trang 3Tài liệu Thực hành Ảo hóa và điện toán đám mây
Bài thực hành 2: Okta. 170
Bài thực hành 3: OpenVPN 174
Trang 4Trường: ĐH CNTP TP.HCM Khoa: Công nghệ Thông tin Bộ môn: Mạng máy tính – ATTT MH: TH Ảo hóa và điện toán đám
Sau khi hoàn thành bài thực hành này, sinh viên sẽ đạt được các kỹ năng sau:
• Phân biệt rõ ràng về các sản phẩm thuộc nhóm dịch vụ SaaS trong điện toán đám mây
• Sử dụng thay thế môi trường truyền thống các sản phẩm SaaS của Google như: Google Docs, Google Sheets, Google Slides
• Khám phá nhiều sản phẩm SaaS khác để phục vụ cho công việc của mình
B DỤNG CỤ - THIẾT BỊ THỰC HÀNH CHO MỘT SINH VIÊN:
Trang 5Tài liệu Thực hành Ảo hóa và điện toán đám mây
- Trong SaaS, người sử dụng chỉ có quyền sử dụng các chức năng của một sản phẩm được giao, KHÔNG có quyền thay đổi cập nhật nội dung của bất cứ thành phần
Bài thực hành 1: Sử dụng các công cụ văn phòng của Google
Sử dụng các công cụ văn phòng của Google, hoàn thành các nội dung theo mẫu sau
Với Google Docs, tạo 1 tập tin với tên SaaS_GoogleDocs_HoTenSV, soạn nội dung
theo mẫu sau:
- Vào địa chỉ docs.google.com với tài khoản gmail đang sử dụng
Trang 6- Đặt tên cho tập tin
- Tiến hành soạn thảo đoạn văn bản như sau
Trang 7Tài liệu Thực hành Ảo hóa và điện toán đám mây
Nội dung tiếp theo
Nội dung tiếp theo
Trang 8Với Google Slides, tạo 1 tập tin với tên SaaS_GoogleSlides_HoTenSV, soạn nội dung
theo mẫu sau:
- Vào ứng dụng Slides trong bộ ứng dụng có trong tài khoản gmail đang sử dụng
- Tạo các Slide theo mẫu sau:
Trang 9Tài liệu Thực hành Ảo hóa và điện toán đám mây
Slide 1:
Trang 10Slide 2:
Slide 3:
Trang 11Tài liệu Thực hành Ảo hóa và điện toán đám mây
Với Google Sheets, tạo 1 tập tin với tên SaaS_GoogleSheets_HoTenSV, soạn nội dung
theo mẫu sau:
- Vào ứng dụng Sheets trong bộ ứng dụng có trong tài khoản gmail đang sử dụng
- Tạo và thống kê bảng tính theo mẫu sau:
Trang 12Biểu đồ:
Trang 13Tài liệu Thực hành Ảo hóa và điện toán đám mây
Bài thực hành 2: Khám phá sản phẩm SaaS www.box.com
Khám phá sản phẩm SaaS www.box.com ; công cụ quản lý nội dung trên đám mây, quy trình làm
việc cùng nhau.
- Đăng ký tài khoản với gói miễn phí (free)
Trang 14- Điền các thông tin và đăng ký
- Sau khi có tài khoản, tiến hành đăng nhập vào tài khoản Khám phá và sử dụng các chức năng mà Box cung cấp Chọn nút New sẽ thấy các chức năng được tích hợp sẵn trong Box, trong đó có các công cụ văn phòng như Word Document (tích hợp với Microsoft), …
Trang 15Tài liệu Thực hành Ảo hóa và điện toán đám mây
- Tạo thư mục mới để lưu trữ
Trang 16- Upload các file cần lưu trữ lên ổ mây
- Xem, chỉnh sửa trực tiếp trên Box và sử dụng nhiều tính năng hữu ích mà Box cung cấp
Trang 17Tài liệu Thực hành Ảo hóa và điện toán đám mây
Bài tập về Box: Tìm hiểu và sử dụng tính năng chữ ký (sign) của Box.com
Bài thực hành 3: Khám phá công cụ tạo Blog/Website của Google, www.blogger.com
Blogger là một nền tảng miễn phí cung cấp đủ các tính năng cơ bản để tạo một blog đơn giản, dễ sử dụng và đặc biệt nó thuộc sở hữu của Google
Blogger cung cấp miền phụ miễn phí và chứng chỉ SSL miễn phí được cài đặt sẵn Bạn cũng có thể mua miền tùy chỉnh của riêng mình và trỏ miễn phí miền đó đến trang Blogger của bạn
Trang 19Tài liệu Thực hành Ảo hóa và điện toán đám mây
Đặt tên xuất hiện trên các bài viết
Trang 20Giao diện chính khi hoàn thành tạo Blog
Trang 21Tài liệu Thực hành Ảo hóa và điện toán đám mây
Thay đổi giao diện hiển thị của Blog
Vào google, dùng từ khóa Template Blogspot để tìm và tải về tập tin chứa giao diện cho Blog
Trang 22Trong file tải về, tìm và mở tập tin có phần mở rộng xml, sau đó copy toàn bộ code trong tập tin vừa mở
Trở lại trang blogger, chọn mục Theme, chọn tiếp Edit HTML
Cửa sổ Code HTML mở ra, tiến hành nhấn Ctrl+A để chọn và xóa toàn bộ Code đang có đi, đồng thời dán Source Code đã sao chép ở bước trước vào thay thế
Trang 23Tài liệu Thực hành Ảo hóa và điện toán đám mây
Sau khi thay thế code xong, nhấn nút Save để lưu lại code giao diện mới cho Blog
Vào trình duyệt xem lại trang Blog và thấy giao diện đã được thay đổi
Trang 24Lưu ý: Nếu thành thạo về HTML và JS, các bạn có thể tự code giao diện, sau đó sử dụng
source code của mình để thay đổi giao diện như các bước bên trên
Viết bài cho Blog
Vào lại trang Blogger, chọn nút New Post để viết bài viết mới
Trang 25Tài liệu Thực hành Ảo hóa và điện toán đám mây
Sau khi viết xong, nhấn nút Publish Sau đó vào trình duyệt xem lại Blog để thấy kết quả
Trang 27Tài liệu Thực hành Ảo hóa và điện toán đám mây
Bài tập 4 Sản phẩm về quản lý dự án, tài liệu:
Trang 28
Trường: ĐH CNTP TP.HCM Khoa: Công nghệ Thông tin Bộ môn: Mạng máy tính – ATTT MH: TH Ảo hóa và điện toán đám
Sau khi hoàn thành bài thực hành này, sinh viên sẽ đạt được các kỹ năng sau:
- Phân biệt rõ ràng về các sản phẩm thuộc nhóm dịch vụ PaaS trong điện toán đám mây
- Sử dụng thay thế môi trường truyền thống các sản phẩm PaaS như: Google App Engine, Heroku
- Khám phá nhiều sản phẩm PaaS khác để phục vụ cho công việc của mình
B DỤNG CỤ - THIẾT BỊ THỰC HÀNH CHO MỘT SINH VIÊN:
Trang 29Tài liệu Thực hành Ảo hóa và điện toán đám mây
- Trong PaaS, người sử dụng có quyền quản lý (thay đổi, cập nhật nội dung) của các thành phần: Các ứng dụng, Dữ liệu Người sử dụng KHÔNG có quyền thay đổi cập nhật nội dung của các thành phần nào sau:
o Môi trường thực thi
Github là nền tảng tốt dành cho nhà phát triển, lập trình viên, đội nhóm,…sử dụng để xây dựng, mở rộng quy mô và cung cấp phần mềm an toàn
Các sản phẩm github cung cấp bao gồm: Tự động hóa workflow, lưu trữ và quản lý source code, bảo mật code, Codespaces, Codepilot (viết code có sự hỗ trợ của AI), quản lý phiên bản Code, thảo luận đội nhóm về Code
2 Tạo tài khoản
- Vào địa chỉ www.github.com và tiến hành chọn signup với các bước hướng dẫn đơn giản để tạo tài khoản
Trang 30- Sau khi có tài khoản, bạn tiến hành đăng nhập vào và khám phá các chức năng được cung cấp bởi github thông qua menu như hình bên dưới
3 Sử dụng một số tính năng
- Đẩy code lên kho lưu trữ (Repositories) được hỗ trợ bởi github
Trang 31Tài liệu Thực hành Ảo hóa và điện toán đám mây
Chọn cách đẩy code lên kho
Trang 33Tài liệu Thực hành Ảo hóa và điện toán đám mây
Sau khi code đã được đưa lên, có thể mở chỉnh sửa và phát triển (biểu tượng hình cây viết là chức năng chỉnh sửa và phát triển code)
Trang 34- Xem và quản lý Source code của mình
4 Bài tập làm thêm về Github
Khám phá và sử dụng chi tiết 1 (hoặc nhiều) chức năng trong nền tảng Github
Bài thực hành 2: Khám phá nền tảng PaiZa
1 Giới thiệu
Paiza.IO là trình soạn thảo và trình biên dịch trực tuyến, nơi bạn có thể viết và chạy mã ngay lập tức Bất cứ khi nào bạn nảy ra ý tưởng mới, học hoặc dạy lập trình, bạn và những người khác chỉ cần viết và chạy mã
Tất cả source code của bạn được lưu lại để xem hoặc chỉnh sửa sau này Hơn nữa, code của bạn có thể được tự động đồng bộ hóa với nền tảng GitHub
2 Tạo tài khoản
- Đăng nhập vào địa chỉ https://www.paiza.io và tiến hành đăng ký tạo tài khoản miễn phí
Trang 35Tài liệu Thực hành Ảo hóa và điện toán đám mây
- Sau khi đăng ký thành công, tiến hành đăng nhập vào tài khoản để sử dụng
3 Sử dụng một số tính năng trong nền tảng cung cấp
- Khám phá và tham khảo code được publish trên nền tảng với một ngôn ngữ cụ thể bạn quan tâm: vào mục Featured của Project, hình bên dưới là chương trình minh họa đồng hồ treo tường viết bằng ngôn ngữ PHP
Trang 36- Nhấp vào phần nội dung code để chuyển sang giao diện soạn và chạy sẽ được kết quả như hình bên dưới
Trang 37Tài liệu Thực hành Ảo hóa và điện toán đám mây
- Viết xong chương trình ta tiến hành chạy kiểm tra kết quả như hình bên dưới
4 Bài tập làm thêm:
Sử dụng nền tảng PaiZa, tự viết một chương trình bằng ngôn ngữ C đã được học trong các môn Ngôn ngữ lập trình, Cấu trúc dữ liệu và giải thuật
Trang 38Bài thực hành 3: Tạo ứng dụng Web đơn giản bằng Java trên Azure App Service Lưu ý: Để khám phá và sử dụng được các sản phẩm của Microsoft Azure, bạn phải đăng
ký và xác thực tài khoản với nhà cung cấp dịch vụ điện toán đám mây Microsoft Bài tập sau chỉ hướng dẫn các bước sau khi bạn đã có tài khoản rồi
Đăng nhập vào tài khoản Azure, Mở Cloud Shell trong trình duyệt
Sao chép đoạn code sau và dán vào Bash Shell (Ctrl+Shift+V với máy chạy HDH Windows): git clone https://github.com/spring-guides/gs-spring-boot
Enter để chạy code
Trang 39Tài liệu Thực hành Ảo hóa và điện toán đám mây
Cấu hình Maven plugin: Chạy lệnh Maven bên dưới để định cấu hình việc triển khai Lệnh này sẽ giúp bạn thiết lập App Service cho hệ điều hành, phiên bản Java và phiên bản Tomcat mvn com.microsoft.azure:azure-webapp-maven-plugin:1.11.0:config
Lựa chọn HĐH sau khi đã cấu hình xong Maven plugin
Chọn phiên bản Java cho ứng dụng
Trang 40Xem lại các thông tin cấu hình
Chọn nút Open Editor để mở file pom.xml chỉnh sửa trực tiếp một số trường hiển thị
Trang 41Tài liệu Thực hành Ảo hóa và điện toán đám mây
Chỉnh sửa câu xuất màn hình trong file HelloController.java và file HelloControllerTest.java
Chọn vào dấu ba chấm, chọn tiếp Save, sau đó chọn Close Editor để đóng cửa sổ chỉnh sửa
Trang 42mvn package azure-webapp:deploy
Quá trình diễn ra tự động, và cho kết quả
Nhấp vào URL hoặc mở trình duyệt gõ địa chỉ đã cấu hình, ta được kết quả
Bài thực hành 4: Sử dụng Google App Engine
1 Giới thiệu
Google App Engine (thường được gọi là GAE hoặc đơn giản là App Engine) là một nền tảng điện toán đám mây như một dịch vụ để phát triển và lưu trữ các ứng dụng web trong các trung tâm dữ liệu do Google quản lý Các ứng dụng được đóng gói thành các đối tượng được gọi là sandbox và chạy trên nhiều máy chủ App Engine cung cấp tính năng tự động thay đổi quy mô cho các ứng dụng web—khi số lượng yêu cầu tăng lên đối với một ứng dụng, App Engine sẽ tự động phân bổ nhiều tài nguyên hơn cho ứng dụng web để xử lý nhu cầu bổ sung
Trang 43Tài liệu Thực hành Ảo hóa và điện toán đám mây
Google App Engine chủ yếu hỗ trợ các ứng dụng Go, PHP, Java, Python, Node.js, NET và Ruby, mặc dù nó cũng có thể hỗ trợ các ngôn ngữ khác thông qua tính năng "custom runtimes"
2 Hướng dẫn thực hành
Lưu ý: Để khám phá và sử dụng được các sản phẩm của GAE, bạn phải đăng ký và xác
thực tài khoản với nhà cung cấp dịch vụ điện toán đám mây Google Cloud Bài tập sau chỉ hướng dẫn các bước sau khi bạn đã có tài khoản rồi
Giao diện chính khi đăng nhập vào tài khoản Goolge Cloud
Trang 44Chức năng tạo Project với ID
Giao diện bắt đầu xây dựng ứng dụng
Trang 45Tài liệu Thực hành Ảo hóa và điện toán đám mây
Chọn chức năng Cloud Shell để mở cửa sổ tương tác lệnh Sau đó ta triển khai ứng dụng mong muốn thông qua việc kết nối với kho lưu trữ Code (như github hoặc kết nối từ máy laptop cục bộ)
Trang 463 Bài tập
Sinh viên thực hiện bài tập theo yêu cầu sau sử dụng Google App Engine (GAE)
Viết chương trình cho xuất hiện câu “Hello World!” hoặc một ứng dụng đơn giản khác sử dụng ngôn ngữ yêu thích (Java, Python, PHP,…) và triển khai ứng dụng đó trên GAE
Bài thực hành 5: Viết và triển khai ứng dụng sử dụng nền tảng Heroku
1 Giới thiệu
Heroku là một PaaS dựa trên hệ thống container được quản lý, với các dịch vụ dữ liệu tích hợp và hệ sinh thái mạnh mẽ, giúp triển khai và chạy các ứng dụng hiện đại
Heroku là một cách tiếp cận tập trung vào ứng dụng để phân phối phần mềm, được tích hợp với các công cụ và quy trình công việc phổ biến nhất hiện nay
2 Hướng dẫn chi tiết bài thực hành
Đăng ký tài khoản
Trang 47Tài liệu Thực hành Ảo hóa và điện toán đám mây
Đăng nhập vào tài khoản và chọn “Create new app” để tạo ứng dụng của mình
Sau khi có ứng dụng được tạo, ta cần viết code để triển khai trên ứng dụng đã tạo, phần này sẽ sử dụng github để kết nối source code với ứng dụng trên heroku
Đăng nhập github chọn project cần kết nối
Trang 48Tiếp theo đăng nhập vào lại Heroku để thực hiện kết nối với Project đã chọn bên Github
Deploy → Github → tìm Project cần kết nối → connect (Lưu ý: có thể triển khai
ứng dụng từ máy cục bộ cá nhân (chọn cách kết nối Heroku Git như hình bên dưới) hoặc triển khai với Docker (chọn cách kết nối Container Registry như hình bên dưới) Sinh viên tự thực hành thêm 2 cách này)
Chọn Deploy Branch
Trang 49Tài liệu Thực hành Ảo hóa và điện toán đám mây
Sau khi quá trình triển khai hoàn thành, chọn nút Open app xem kết quả web
Trang 50
Kết quả khi xem trên trình duyệt
Trang 51Tài liệu Thực hành Ảo hóa và điện toán đám mây
Bài thực hành 6: Khám phá và triển khai ứng dụng tính toán đơn giản với nền tảng
1 Giới thiệu
Anvil là một ứng dụng dịch vụ PaaS, được dùng để xây dựng ứng dụng web viết bằng ngôn ngữ Python
Cấu trúc của ứng dụng Anvil
- Giao diện người dùng được thực hiện với hình thức thiết kế kéo và thả (drag-and-drop)
- Client-side Python code, chạy trong trình duyệt web
- Server-side Python code, chạy trên máy chủ Anvil
- Lưu trữ dữ liệu của bạn với cơ sở dữ liệu được tích hợp sẵn (Data Tables)
- Tùy chọn khác: một số Python code chạy trên máy tính cũng có thể tương tác với ứng dụng đang được triển khai
2 Hướng dẫn chi tiết bài thực hành
Trang 52Đăng ký tài khoản tại địa chỉ: https://anvil.works/ Sau khi có tài khoản ta đăng nhập vào để làm việc
Giao diện khi tạo một ứng dụng: gồm có các thành phần chính
- Menu tài nguyên
- Menu thiết kế: Client Code, Server Code, Asset
- Giao diện chính kéo thả, code hoặc xem cả 2 dạng khi tạo ứng dụng
- Thanh Toolbox chứa các đối tượng để thiết kế Form
Khi tạo ứng dụng xong nhấn nút Run để xem trước kết quả
Nếu đã hoàn thành sản phẩm thì chọn nút Publish để đưa sản phẩm chạy trên web
Trang 53Tài liệu Thực hành Ảo hóa và điện toán đám mây
Đặt tên cho Subdomain
Mở trình duyệt, nhập địa chỉ đã đặt để xem kết quả
Trang 54Bài tập áp dụng mẫu: Viết và chạy ứng dụng “MÁY TÍNH BỎ TÚI”
Các bước thực hiện:
Thiết kế Form và viết code cho chương trình “Máy tính bỏ túi”
Trang 55Tài liệu Thực hành Ảo hóa và điện toán đám mây
Kết quả khi chạy trên trình duyệt
Trang 56Bài tập áp dụng nền tảng Anvil: Viết các chương trình minh họa sau đây
- Chương trình minh họa các giải thuật sắp xếp
- Chương trình minh họa các giải thuật tìm kiếm
- Chương trình minh họa chuyển đổi số nhị phân sang thập phân và ngược lại
- Một bài toán đã được học trong các môn học
Bài tập làm thêm tại lớp: Đăng ký tạo tài khoản và viết và chạy 1 ứng dụng ngay trong trình duyệt với nhà cung cấp https://neverinstall.com/plans