Bài tập lớn
ĐIỆN TOÁN ĐÁM MÂY
TÌM HIỂU VỀ HEROKU VÀ TRIỂN KHAI ỨNG DỤNG TRÊN
MÔI TRƯỜNG CLOUD
Giảng viên hướng dẫn:
TS. Nguyễn Bình Minh
Học viên thực hiện: Đào Xuân Dương CB170272
Nguyễn Thị Phương Bắc
CB170269
Đặng Giang Biên CB170270
Nguyễn Đắc Phương Thảo CB170275
Lớp:
17BCNTT
NỘI DUNG
GIỚI THIỆU VỀ HEROKU
GIỚI THIỆU mLab, MongoDB và NodeJS
TRIỂN KHAI ỨNG DỤNG LÊN HEROKU
MỘT SỐ CÂU LỆNH THÔNG DỤNG
TRIỂN KHAI ỨNG DỤNG BÀI TẬP LỚN
Mục đích của Bài tập lớn
Nội dung ứng dụng Baitaplon-dientoandammay
Các bước xây dựng, triển khai ứng dụng
Demo & test ứng dụng
MỘT SỐ GIAO DIỆN
I. GIỚI THIỆU VỀ HEROKU (1/4)
Heroku = Hero + Haiku
Thành lập năm 2007, mua lại bởi Salesforce 2010
An elastic, multi-language, multi-framework,
Platform as a Service
I. GIỚI THIỆU VỀ HEROKU (2/4)
Các thành phần của heroku
I. GIỚI THIỆU VỀ HEROKU (3/4)
So sánh Heroku
với Amazon AWS
I. GIỚI THIỆU VỀ HEROKU (4/4)
II. GIỚI THIỆU MongoDB, mLab và NodeJS (1/4)
MongoDB
Là CSDL mã nguồn mở
Là CSDL hướng đối tượng
Là CSDL phi quan hệ (NoSQL)
Lưu trữ dữ liệu dạng JSON
Viết bằng C++ -> Tốc độ xử lý
Thích hợp cho Big Data
….
II. GIỚI THIỆU MongoDB, mLab và NodeJS (2/4)
mLab
Là dịch vụ điện toán đám mây cung cấp Hệ thống Database
(Database-as-a-Service)
Chạy trên nhiều nền tảng Platform-as-a-Service
Cho phép sử dụng miễn phí
II. GIỚI THIỆU MongoDB, mLab và NodeJS (3/4)
NodeJS
Là một nền tảng (Platform) phát triển độc lập xây dựng trên
Javascript Runtime của Chrome
Được xây dựng và phát triển từ năm 2009 bởi Joyent, US
Core được viết hầu hết bằng C++ => tốc độ xử lý và hiệu năng
cao
Thích hợp ứng dụng có tốc độ xử lý nhanh, realtime thời gian
thực.
Các đặc điểm:
Không đồng bộ
Tốc độ xử lý rất nhanh
II. GIỚI THIỆU MongoDB, mLab và NodeJS (4/4)
NodeJS
Các thành phần của NodeJS
III. TRIỂN KHAI ỨNG DỤNG LÊN HEROKU
(1/3)
5 bước để deploy ứng dụng trên Heroku:
1) Create you app (using build tools)
2) Initialise a git repository for your project
3) Create your heroku app (heroku create)
4) Git Commit your files to the local repository
5) Git Push your app to heroku
III. TRIỂN KHAI ỨNG DỤNG LÊN HEROKU
(2/3)
III. TRIỂN KHAI ỨNG DỤNG LÊN HEROKU
(3/3)
IV. MỘT SỐ CÂU LỆNH THÔNG DỤNG (1/4)
Khởi tạo ứng dụng
List ds ứng dụng
$ heroku apps
Liệt kê danh sách ứng dụng
Tạo 1 ứng dụng
heroku create
Tạo một app với tên tự động và host
ứng dụng đặt tại United State (default)
heroku create baitaplon
Tạo một app có tên “baitaplon”
Thiết lập nơi lưu trữ
heroku create -–region eu
Tạo 1 app và host server tại Europe (*)
Thay đổi ứng dụng
heroku apps:rename newname
Đổi tên ứng dụng hiện tại
heroku apps:rename newname --app oldname
Thay đổi tên ứng dụng “oldname”
$ heroku apps:destroy --app APPNAME
Xóa 1 ứng dung
* Với các app ở Việt Nam, nên chọn server Europe để nâng cao tốc độ truy cập
IV. MỘT SỐ CÂU LỆNH THÔNG DỤNG (2/4)
Thiết lập Platform (11 Platform)
Tạo ứng dụng cùng Platform
$ heroku buildpacks:set heroku/python
Thiết lập platform
heroku buildpacks:set heroku/php
heroku buildpacks:set heroku/nodejs
Xóa Platform
heroku buildpacks:remove heroku/nodejs
IV. MỘT SỐ CÂU LỆNH THÔNG DỤNG (3/4)
Kết nối đến thư mục ứng dụng (repository)
Ứng dụng mới
Ứng dụng sẵn có
$ heroku login
$ heroku login
$ cd my-project/
$ git init
$ heroku git:remote -a baitaplondientoandammay
$ heroku git:remote -a baitaplondientoandammay
Commit code và deploy
lên Heroku sử dụng Git
$ git add .
$ git commit -am "make it better"
$ git push heroku master
IV. MỘT SỐ CÂU LỆNH THÔNG DỤNG (4/4)
List ds người dùng có quyền truy cập vào app
$ heroku access --app=APPNAME
Bổ sung/update/xóa quyền vào đội dev
$ heroku access:add --app APPNAME --permissions
deploy,manage,operate # permissions must be comma separated
$ heroku access:update EMAIL --app APPNAME –permissions
permissions
$ heroku access:remove EMAIL --app=APPName
Mở dụng dụng trên browser
$ heroku open -a APPNAME
$ heroku local web
$ npm start
# Mở trên server
# Mở trên local
V. ỨNG DỤNG baitaplon-dientoandammay (1/5)
Mục đích của Bài tập lớn
Tìm hiểu Hệ thống Cloud Platform-as-a-Service heroku
Tìm hiểu Hệ thống Cloud Database-as-a-Service mLab
Tìm hiểu mô hình, cách thức xây dựng, triển khai một ứng dụng
trên môi trường cloud computing
Xây dưng ứng dụng có thể chạy trên môi trường cloud
Cài đặt, chạy trên môi trường Cloud heroku
V. ỨNG DỤNG baitaplon-dientoandammay (2/5)
Nội dung ứng dụng Quản lý Sinh viên
Ứng dụng được cài đặt, chạy trên môi trường Cloud Heroku
Sử dụng framework NodeJS và AngularJS
Sử dụng dịch vụ DaaS mLab và database MongoDB
Sử dụng Git làm repository
Chạy trên Web, cổng 8080
V. ỨNG DỤNG baitaplon-dientoandammay (3/5)
Nội dung ứng dụng Quản lý Sinh viên
Xây dựng ứng dụng Quản lý sinh viên đơn giản với các thao tác
Liệt kê, Xem, Thêm, Xóa, Sửa (CRUD) và Tìm kiếm sinh viên
V. ỨNG DỤNG baitaplon-dientoandammay (4/5)
Các bước xây dựng, triển khai Ứng dụng
Khởi tạo ứng
dụng
Phát triển ứng
dụng
Tạo/đk account (free)
Cài đặt Nodejs và npm
Cài đặt Git
Cài đặt heroku CLI
Thiết lập thư mục trên
local
• Khởi tạo Git repo
• Tạo/kết nối đến heroku
• Tạo Database
MongoDB trên
mLab
• Kết nối heroku tới
mLab
• Xây dựng Ứng dụng
Quản lý sinh viên
• Cài đặt các thư viện
•
•
•
•
•
Triển khai và
test
• Test trên Local
• Commit changes
• Đẩy lên heroku và
build
• Open app
• Test
V. ỨNG DỤNG baitaplon-dientoandammay (5/5)
Demo và test ứng dụng
Thử nghiệm trên Local
$ heroku local web
Chạy trên server
$ heroku open
Xem log server
$ heroku logs --tail
Check số người truy cập
$ heroku access
$ heroku clients
VI. MỘT SỐ GIAO DIỆN (1/4)
Trang chủ/Danh sách sinh viên
VI. MỘT SỐ GIAO DIỆN (2/4)
Tìm kiếm sinh viên
VI. MỘT SỐ GIAO DIỆN (3/4)
Thông tin sinh viên