1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đồ án ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY Đề tài Tìm hiểu về nền tảng Heroku – triển khai ứng dụng trên nền tảng

18 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 1,61 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ án ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY Đề tài Tìm hiểu về nền tảng Heroku – triển khai ứng dụng trên nền tảng BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP. HCM KHOA CNTT

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP HCM

KHOA CNTT

🙣🙣🙣

Đồ án: ẢO HÓA VÀ ĐIỆN TOÁN ĐÁM MÂY

Đề tài: Tìm hiểu về nền tảng Heroku – triển khai ứng dụng trên nền tảng

Giảng viên hướng dẫn: Phạm Tuấn Khiêm

Sinh viên thực hiện:

1 2001190646 – Nguyễn Trọng Liêm

2 2001191021 – Trần Phương Bình

3 2001190595 – Nguyễn Duy Khang

TP.HỒ CHÍ MINH

Trang 2

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

TP Hồ Chí Minh, ngày tháng năm 2022

(Ký và ghi rõ họ tên)

Trang 3

LỜI MỞ ĐẦU

Ngày nay, cùng với sự vươn lên của đất nước, hòa vào đó Công nghệ thông tin là một ngành đã có những bước phát triển mạnh mẽ không ngừng và nó đã trở thành chiếc chìa khóa dẫn đến thành công cho nhiều cá nhân, tổ chức Với những ứng dụng của mình, công nghệ thông tin đã góp phần mang lại nhiều lợi ích mà không ai có thể phủ nhận được Đặc biệt là trong lĩnh vực quản lý kinh tế, công nghệ thông tin đã góp phần tạo ra sự thay đổi nhanh chóng cho bộ mặt xã hội Trong quá trình thực hiện đề tài nhóm đã gặp phải không ít khó khăn và trở ngại, tuy nhiên, với sự giúp đỡ của bạn bè, cùng sự hướng dẫn tận tình, chỉ bảo

cặn kẽ của giảng viên Phạm Tuấn Khiêm, cuối cùng chúng em cũng đã cố gắng

hoàn thành đề tài này với tất cả sự cố gắng và nỗ lực Chúng em xin được gửi lời cảm ơn tới những người bạn đã góp ý và giúp đỡ nhóm, và đặc biệt là cảm ơn cô, người đã giúp chúng tôi xác định được những yêu cầu và mục tiêu đề tài, truyền dạy các kĩ năng nghiệp vụ cũng như hướng dẫn cho chúng tôi cách thức thực hiện

đề tài

Do kiến thức thực tế và hiểu biết còn hạn chế nên trong quá trình hoàn thành báo cáo không tránh khỏi sai sót, nhóm chúng em rất mong sự góp ý đóng góp của thầy và các bạn để nhóm có thể hoàn thiện bài tập lớn được tốt hơn

Chúng em xin chân thành cảm ơn!

Trang 4

Mục lục

1 Heroku là gì? 1

2 Các tính năng của Heroku 1

2.1.Heroku Runtime 1

2.2.Heroku Postgres (SQL) 2

2.3 Heroku Redis 2

2.4 Heroku Scale 2

2.5 Add-ons 2

2.6 Code/data rollback 2

2.7 App metrics 2

2.8 Continuous delivery 2

2.9 Github Integration 2

3 Cơ chế hoạt động của Heroku 3

4 Tại sao lại sử dụng Heroku trong khi có AWS? 3

5 Tại sao Heroku thu hút người dùng? 3

6 Các phiên bản của Heroku 4

6.1 Heroku Postgres 4

6.2 Heroku Redis 4

6.3 Heroku Teams 4

6.4 Heroku Enterprise 4

6.5 Heroku Connect 5

6.6 Heroku Elements 5

7 Ưu và nhược điểm Heroku 5

7.1 Ưu điểm 5

7.2 Nhược điểm 5

8 Cách đưa ứng dụng lên Heroku 5

9 Tài liệu tham khảo 14

Trang 5

1 Heroku là gì?

Heroku là một nền tảng đám mây dựa trên ứng dụng container dưới dạng dịch

vụ (PaaS) Các nhà phát triển sử dụng Heroku để triển khai, quản lý và mở rộng

các ứng dụng hiện đại Nền tảng của họ rất linh hoạt và dễ sử dụng, cung cấp cho các nhà phát triển con đường đơn giản nhất để đưa ứng dụng của họ ra thị trường

Heroku được quản lý hoàn toàn bởi Heroku, cho phép các nhà phát triển tự do

tập trung vào sản phẩm cốt lõi của họ mà không bị phân tâm trong việc duy trì

máy chủ, phần cứng hoặc cơ sở hạ tầng Trải nghiệm Heroku cung cấp các dịch

vụ, công cụ, quy trình làm việc và hỗ trợ tất cả được thiết kế để nâng cao năng suất của nhà phát triển ứng dụng

Heroku được biết đến như một nơi để triển khai các ứng dụng trong dyno (Khi bạn triển khai một ứng dụng Heroku, bạn phải thiết lập một máy ảo được gọi

là slug, sử dụng một hoặc nhiều buildpacks Khi một máy ảo được khởi chạy từ

slug, nó được gọi là dyno.)

Trong trường hợp phải xử lý khối lượng công việc nhiều, phức tạp, bạn sẽ cần thêm nhiều block (scale chiều ngang) hoặc tăng kích thước các block (scale chiều

dọc) Phí sử dụng Heroku được tính dựa trên số lượng dyno và kích thước mỗi dyno mà bạn dùng.

Mặc dù bạn có thể phải trả phí để sử dụng Heroku, nhưng Heroku không thật sự lưu trữ ứng dụng của bạn Thực tế thì cả nền tảng Heroku lẫn mọi ứng dụng phát triển trên đó đều được triển khai trên Amazon Web Services (AWS)

2 Các tính năng của Heroku

2.1 Heroku Runtime

Ứng dụng của bạn chạy bên trong các smart container được quản lý hoàn toàn trong suốt thời gian chạy ứng dụng, Heroku xử lý mọi thứ quan trọng bao gồm: cấu hình, điều phối, cân bằng tải, chuyển đổi dự phòng, ghi nhật ký log, bảo mật,

Trang 6

2.2 Heroku Postgres (SQL)

Dịch vụ PostgreSQL đáng tin cậy và an toàn với thiết lập dễ dàng, mã hóa nhanh

gọn, mở rộng quy mô đơn giản, chuyển đổi cơ sở dữ liệu, bảo vệ liên tục và hơn thế nữa

2.3 Heroku Redis

Hỗ trợ dịch vụ Redis cho lập trình viên sử dụng Một trong những dịch vụ cache key-value trên bộ nhớ tốc độ nhanh phổ biến

2.4 Heroku Scale

Heroku có thể mở rộng quy mô ứng dụng ngay lập tức, cả theo chiều dọc và chiều ngang Bạn có thể điều hành mọi thứ một cách nhàn hạ từ các dự án sở thích nhỏ lẻ cho đến thương mại điện tử cấp doanh nghiệp

2.5 Add-ons

Mở rộng, nâng cao và quản lý các ứng dụng của bạn với các dịch vụ được tích hợp sẵn như New Relic, MongoDB, SendGrid, Searchify, Fastly, Papertrail, ClearDB MySQL, Treasure Data,…

2.6 Code/data rollback

Hệ thống xây dựng Heroku và dịch vụ Postgres cho phép bạn khôi phục mã nguồn hoặc cơ sở dữ liệu của mình về trạng thái trước đó ngay lập tức

2.7 App metrics

Bạn sẽ luôn biết những gì xảy ra với các ứng dụng của bạn nhờ vào tính năng giám sát tích hợp lưu lượng, thời gian phản hồi, bộ nhớ, tải CPU và lỗi

2.8 Continuous delivery

Heroku Flow sử dụng Heroku Pipeline, Review Apps và Github tích hợp để xây dựng quy trình pipeline CI/CD gồm build, test, deploy,…

2.9 Github Integration

Tích hợp Github giúp bạn có thể pull request, push, commit,… hoạt động với mọi branch mà bạn muốn

Trang 7

3.Cơ chế hoạt động của Heroku

 Heroku được biết đến với mục đích dành cho việc chạy các ứng dụng trong

dynos – thực sự chỉ là các máy ảo có thể được cung cấp sức mạnh dựa trên độ lớn các ứng dụng của bạn Nghĩ về dynos như các khối xây dựng cho việc chạy các ứng dụng

 Nếu bạn muốn xử lý nhiều dữ liệu hay nhiều tác vụ phức tạp hơn, bạn sẽ cần nhiều khối hơn (còn được gọi là mở rộng theo chiều rộng) hay tăng kích cỡ

các khối (mở rộng theo chiều sâu) Heroku khi đó tính phí theo tháng đối với

những thay đổi này của bạn, dựa trên số dynos mà bạn có và kích cỡ của mỗi dyno

 Mặc dù Heroku tính tiền từ bạn dựa trên dyno, nhưng họ thực sự không hề lưu giữ ứng dụng của bạn Trong thực tế, toàn bộ nền tảng Heroku cũng như mọi ứng dụng khác được xây dựng trên Heroku – đều được triển khai trên AWS (Amazon Web Services).

4 Tại sao lại sử dụng Heroku trong khi có AWS?

Heroku và AWS không giống nhau AWS là nhà cung cấp IaaS, chịu trách

nhiệm quản lý các trung tâm chia sẻ dữ liệu lớn trên nền tảng đám mây điện toán

(cloud) Các công ty như AWS, Azure và Google đều triển khai IaaS để các nhà

phát triển lưu trữ ứng dụng của họ trên nền tảng các trung tâm dữ liệu này thay vì

tự xây dựng server Nhưng do bản chất kinh doanh, các nhà cung cấp IaaS dường

như quan tâm đến việc điều hành các trung tâm lưu trữ dữ liệu hơn là trải nghiệm

của khách hàng Vậy nên bạn cần có kiến thức về AWS thì mới làm việc trực tiếp

với nó được

Còn Heroku lại là một PaaS nằm trên AWS Nền tảng này được thiết kế đặc biệt

giúp các nhà phát triển ứng dụng dễ sử dụng hơn Chẳng hạn, để triển khai ứng

dụng trên Heroku, bạn chỉ cần biết một vài lệnh trên Heroku CLI và Dashboard Những câu lệnh này đều có sẵn trong tài liệu của Heroku.

5 Tại sao Heroku thu hút người dùng?

 Cung cấp trải nghiệm người dùng tốt nhất

- Heroku là thiên đường cho các nhà phát triển vì nó được xây dựng bởi

chính các nhà phát triển Họ hiểu chính xác developers cần gì và có thể gặp khó khăn gì khi sử dụng dịch vụ của họ

 Là một hệ sinh thái dịch vụ

Trang 8

- Các nhà phát triển có thể xây dựng ứng dụng của họ trên bất kỳ ngôn ngữ

nào, cho dù đó là Nodejs, Ruby, PHP, Python hay Java.

- Hơn nữa, Heroku còn có một danh sách Heroku Add-ons khổng lồ, tích

hợp các chức năng mạnh mẽ giúp bạn triển khai ứng dụng chỉ bằng một cú

click Heroku cung cấp cả add-on miễn phí và trả phí, nhưng chúng đều

giúp bạn tiết kiệm đáng kể thời gian triển khai dự án

Hỗ trợ kết nối với salesforce

- Với phiên bản Heroku Connect, Heroku có thể kết nối với salesforce, cho phép ứng dụng của bạn đồng bộ hai chiều với salesforce Từ đó, bạn

sẽ dễ dàng mở rộng quy mô và luôn có cái nhìn tổng quát về khách hàng của mình

6 Các phiên bản của Heroku

6.1 Heroku Postgres

Heroku Postgres là dịch vụ cơ sở dữ liệu đám mây dựa trên PostgreQuery Heroku Postgres có khả năng bảo vệ liên tục, khôi phục và có tính sẵn sàng cao 6.2 Heroku Redis

Heroku Redis là bản tùy chỉnh từ Heroku, cung cấp trải nghiệm tốt hơn cho người dùng Heroku Redis giúp quản lý các phiên bản với CLI, liên kết dữ liệu với Postgres để hiểu rõ hơn về doanh nghiệp bằng các công cụ SQL.

6.3 Heroku Teams

Heroku Teams là một công cụ quản lý nhóm, kết hợp nhiều nhà phát triển lại

với nhau để xây dựng phần mềm tốt hơn Các nhóm này có thể tự tổ chức, kiểm

soát, thêm thành viên và sử dụng các công cụ cộng tác như Heroku Pipelines.

6.4 Heroku Enterprise

Heroku Enterprise dành riêng cho các công ty lớn, giúp họ cải thiện sự hợp tác

giữa các nhóm khác nhau Nó cung cấp một tập hợp các tính năng như kiểm soát truy cập chi tiết, liên kết danh tính và không gian riêng để quản lý quy trình phát triển ứng dụng doanh nghiệp, tài nguyên và người dùng của họ

6.5 Heroku Connect

Trang 9

Heroku Connect cho phép người dùng sở hữu ứng dụng Heroku dễ dàng tích hợp với các salesforce linh hoạt, nhờ đồng bộ hóa dữ liệu liền mạch giữa cơ sở

dữ liệu Heroku Postgres và các tổ chức salesforce.

6.6 Heroku Elements

Heroku Elements cung cấp các add-on và dịch vụ để phát triển, mở rộng và vận

hành ứng dụng, tự động hóa các quy trình xây dựng cho các ngôn ngữ và

frameworks phổ biến Đồng thời và cung cấp tính năng One-Click, cấu hình và

triển khai các thành phần của bên thứ ba, cũng như thư viện và ứng dụng mẫu

7 Ưu và nhược điểm Heroku

7.1 Ưu điểm

- Database hoàn toàn miễn phí.

- SSL sử dụng miễn phí.

- Có khả năng hỗ trợ làm việc dành cho team

- Có thể liên kết với các loại Github đơn giản nhất.

7.2 Nhược điểm

- Heroku chỉ dành riêng cho người dùng sử dụng 550 giờ/tháng Tuy nhiên,

bạn có thể gia tăng số giờ sử dụng lên 1000 nếu như bạn đã cài phương thức thanh toán vào trong tài khoản của mình 1000 giờ này là đủ để cho một blog cá nhân hoạt động đều đặn, êm ái trong một tháng

- Chỉ sau từ 2 đến 3 giờ nếu như server không thu hút được người truy cập thì nó sẽ tự động chuyển sang trạng thái ngủ Nếu như server bị tắt đột

ngột khi không có traffic thì cách đơn giản bạn cần làm là tự tạo ra traffic cho nó Bạn có thể sử dụng Pingdom để ping trang blog của mình thường

xuyên và đảm bảo sao cho server không bị tắt

8 Cách đưa ứng dụng lên Heroku

Bước 1: Cài Heroku CLI

Đầu tiên vào link: https://devcenter.heroku.com/articles/heroku-cli#download-and-install để tải về cho Windows

Trang 10

Chọn phiên bản phù hợp với Windows rồi tải Sau khi tải xong nhấn vào để tiến hành cài đặt

Nếu cài đặt thành công thì khi nhấn chuột trái vào sẽ thấy lệnh Git Bash Here (Nếu không thấy bạn cần cài thêm Git Link download Git: https://git-scm.com)

Trang 11

Bước 2: Đăng kí tài khoản và tạo mới app

Nếu chưa có tài khoản bạn hãy vào link sau để đăng ký: https://signup.heroku.com/login

Sau khi đăng nhập thành công sẽ vào giao diện này

Trang 12

Muốn tạo app mới ta bắt đầu chọn New -> Create new app.

Đặt tên cho app rồi chọn Create app.

Trang 13

Sau khi Create app sẽ đưa đến phần tiếp theo.

Bước 3: Chuẩn bị app và push code lên heroku

Nhóm em có một app là làm máy tính đơn giản

Trang 14

Tiếp theo là phần push app lên heroku

Đầu tiên là vào folder chứa app và bấm chuột trái chọn Git Bash Here

Sau khi mở lên gõ lệnh heroku login để đăng nhập vào tài khoản

Trang 15

Sau khi nhập heroku login thì web sẽ tự động mở trang đăng nhập và nhấn đăng nhập vào trang web

Sau đó nhập tiếp lệnh git init để khởi tạo app

Nhập tiếp lệnh heroku git:remote -a doancalculator để chạy lệnh kiểm tra xem app có thay đổi hay thêm xóa sửa gì không

Nhập tiếp lệnh git add và git commit -am “tạo câu để người khác biết là sửa gì hay tạo mới cái gì đó”

Trang 16

12 Cuối cùng là lệnh git push heroku master để push app lên heroku

Vậy là xong tiếp theo chọn nút Open app để xem kết quả

Trang 17

Kết quả đạt được:

Sau khi có được trang web để share cho người khác có thể vào được để xem và

sử dụng Link vào app của nhóm:

https://doancalculator.herokuapp.com/index.html

Như vậy nhóm vừa trình bày xong cách để đưa ứng dụng lên heroku

Trang 18

9 Tài liệu tham khảo

https://topdev.vn/blog/heroku-la-gi/

https://vsudo.net/blog/heroku-la-gi.html

https://wiki.tino.org/heroku-la-gi/

Ngày đăng: 28/03/2022, 20:14

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w