NGUYEN THANH SÁNG - D17CNPM0I

Một phần của tài liệu Xây dựng hệ thống website hỗ trợ hỏi đáp cho lập trình viên (Trang 24 - 29)

Đồ án tốt nghiệp

container image Tmanages manages —}

Client docker CLI

network data volumes

REST API

manages server manages

Hình 8: Các đối tượng trong Docker

Docker Server: là một chương trình chạy ngầm dưới hệ điều hành. Docker Server lắng nghe các yêu cầu API đến và quản lý các đối tượng của Docker như images, containers, networks và volumes.

Docker Client: là cách mà người sử dung tương tac với máy chủ Docker bang

cach sử dụng giao diện dòng lệnh. Ví dụ khi gõ "docker run", một API tương

ứng với dòng lệnh sẽ được yêu cầu tới Server và thực hiện chạy ứng dụng cụ thê lên hệ thống.

Docker Registry: là nơi chứa các các bản thiết kế dé tạo ra một container còn được gọi là Docker Images. Docker Registry có thé cài đặt ở chế độ riêng tư hoặc công khai dé có thé chia sé với cộng đồng. Một số nơi chứa được sử dụng

rộng rãi như: Gitlab Registry, Docker Hub, Google Registry.

Images: Image như một ban thiết kế va định nghĩa cách ứng dụng được triển khai. Docker Server sẽ dựa vào bản thiết kế để khởi tạo container và vận hành

ứng dụng.

Một số ưu điểm khi sử dụng Docker:

Thời gian dé tạo một Container bằng Docker là rất nhanh vì dung lượng thực sự nhỏ. Từ đó các giai đoạn phát triển, kiểm thử và triển khai ứng dụng có thê

được thực hiện nhanh hon. Các Container chứa ứng dụng có thê được đưa vào kiểm thử sau đó đưa vào môi trường sản xuất mà không cần phải thêm bất kỳ

sự thay đồi nào.

Docker có khả năngđược triển khai cả ở máy chủ vật lý cũng như các nền

tang Cloud. Có thé dé dang di chuyên các ứng dung từ môi trường Cloud sang máy chủ cục bộ và từ cục bộ lên Cloud với tốc độ nhanh. Sự điều chỉnh có thê

NGUYEN THANH SÁNG - DI17CNPM0I

Đồ án tốt nghiệp

dé dang được thực hiện. Khi có bat kỳ thay đối mở rộng về phần cứng đều

không làm ảnh hưởng tới khả năng hoạt động của ứng dụng.

- Docker sử dụng các tài nguyên có sẵn một cách hiệu quả hon vì cách hoạt động không mat nhiều tài nguyên dé chạy trình Hypervisor.

1.5.3. Công nghệ lưu trữ dữ liệu S3 AWS

“sus amazon pia s2"8 webservicesMi N

Tổng quan về Amazon Simple Storage Service (S3):

S3 là một phan dịch vụ lưu trữ trên môi trường Cloud phổ biến của Amazon Web Services (AWS). S3 cung cap tinh sẵn dùng, su én định lên đến 99.99999 %, ngoài ra S3 cũng cung cấp khả năng mở rộng dung lượng lưu trữ và truy cập cao đáp ứng mọi nhu cầu lưu trữ và truy xuất của người dùng. Một đặc điểm nôi bật của S3 thu hút người dùng là S3 tính phi dựa trên dung lượng lưu trữ và truy xuất dữ liệu người dùng sử dụng, điều đó giúp giảm chi phí cho việc vận hệ thống.

Phương pháp lưu trữ dữ liệu trên S3 khác với việc lưu trữ dữ liệu trên 6 đĩa cứng truyền thống. S3 sử dụng cách tiếp cận lưu trữ dạng khối, khi một tệp tin được lưu trữ trong Amazon S3, tệp tin đó sẽ được lưu trữ ở nhiều nơi (trong nhiều trung tâm dữ liệu) đồng thời cùng lúc. Amazon S3 thường xuyên kiểm tra tính nhất quán của dữ liệu băng cách kiểm tra thông qua

thuật toán sử dụng mã băm. Nếu phát hiện dữ liệu của tệp tin bi hỏng, tệp tin sẽ được khôi phục băng cách sử dụng dữ liệu đã được nhân bản khi tệp tin được tải lên lan đầu.

Một số khái niệm khi sử dụng S3:

Bucket: là một khái niệm chỉ vùng chứa lưu trữ trên AWS, đây nơi dir liệu được lưu trữ trong bộ nhớ Amazon S3. 53 cho phép lưu trữ vô hạn dữ liệu và không giới hạn số lượng tệp tin hay thư mục trong một Bucket. Mỗi dữ liệu cần phải được lưu trữ trong một Bucket cụ thể. S3 đặt giới hạn 5 TB đối với kích thước của một tệp tin được lưu trữ. Bucket được sử dụng là

định danh cấp cao nhất và được sử dụng để kiểm soát truy cập từ người dùng tới một nơi lưu trữ cụ thể.

NGUYEN THANH SÁNG - DI17CNPM0I

Đồ án tốt nghiệp

Key: Một tập tin hay thư mục có một khóa định dạng duy nhất sau khi được

tải lên một Bucket. Key này là một chuỗi mô phỏng đường dẫn thư mục

phân cấp của hệ thống. Biết Key cho phép chúng ta truy cập đối tượng trong Bucket. Bucket, Key và tên phiên bản giúp xác định một đối tượng là duy nhất.

S53 Region: Amazon có các trung tâm dữ liệu ở các khu vực khác nhau trên

toàn cầu bao gồm: USA, Ireland, South Africa, India, Japan, China, Korea, Canada, Germany, Italy, and Great Britain ... Người dùng có thé chon khu

vực muốn khi tao Bucket. AWS khuyén khích nên chon một khu vực gần

nhất dé cung cấp độ trễ thấp hơn cho kết nối mạng hoặc giảm thiểu chi phí

sử dụng. Dữ liệu được lưu trữ trong một S3 Region không tự động di chuyền khỏi trung tâm đữ liệu của vùng đó nhưng có thể di chuyên đữ liệu theo cách thủ công.

Access control lists (ACL): là một tính năng được sử dụng để quản lý và kiểm soát quyền truy _cập vào các tệp tin và Bucket. ACL là các quy tắc được đính kèm với moi Bucket và tệp tin để xác định người dùng và nhóm người dùng có quyên truy cập vào một Bucket hoặc tệp tin cụ thé. Mặc

định, chủ sở hữu tài nguyên có toàn quyền truy cập vào tài nguyên sau khi được tạo. Quyên truy cập Bucket giúp xác định ai có thé truy cập các tệp tin hoặc thư mục trong Bucket. Quyền truy cập tệp tin xác định người dùng

nào được phép truy cập vào tệp tin và kiểu truy cập, thao tác được sử dụng.

Ví dụ: có thé đặt quyền chi đọc cho một người dung và quyền đọc-ghi cho người dùng khác.

Bucket policies: là cách mà S3 AWS cho phép hoặc từ chối quyền của một người dùng khác cùng sử dụng dịch vụ AWS đối với tài nguyên Amazon S3. Với Bucket policies, S3 sẽ xác định các quy tắc bảo mật áp dung cho nhiều tệp trong một Bucket. Đây là một chính sách bảo mật nội bộ trong

dịch vụ S3.

Một số lợi ich nồi bật khi sử dụng S3:

S53 cung cấp những khái niệm rất dé hiểu dé tiếp cận, ngoài ra S3 AWS

cũng cung câp những cách tương tác đơn giản dé người dùng có thé lưu trữ dễ dàng như sử dụng giao diện web, thao tác với dòng lệnh hoặc các SDK

dé hỗ trợ các lập trình viên.

S3 không giới hạn khả năng lưu trữ dữ liệu của người dùng. Bảo mật cao

với nhiều tùy chọn dé có thê linh động với mục tiêu sử dụng.

S3 được thiết kế để chịu được tải lớn và khả năng phục hồi hệ thống rất

nhanh. Theo tài liệu chính thống, Amazon S3 cam kết dịch vụ của mình có

khả năng duy trì tính sẵn sàng ở mức 99.9999 %,

S3 cung cấp các gói tùy chọn lưu trữ đữ liệu khác nhau tùy thuộc vào mục đích sử dụng. Vi dụ dữ liệu đã cũ và ít được sử dụng tới sẽ có thể lưu trữ bang gói lưu trữ với chi phí thấp đi kèm với tốc độ truy xuất thấp hơn nhưng

NGUYEN THANH SÁNG - DI17CNPM0I

Đồ án tốt nghiệp

tiết kiệm được chi phí. Ngoài ra, người dùng chỉ thanh toán với những dung

lượng lưu trữ mà người dùng sử dụng khi đó sẽ tránh lãng phí với các tải nguyên và tiên bạc.

1.5.4. Công nghệ chạy mã nguồn không cần máy chủ Lambda AWS

Lambda là một dạng dịch vụ chạy mã nguồn không cần máy chủ được cung cấp bởi AWS. Lambda là một trong các dịch vụ quan trọng được AWS cung cấp hiện nay vì được sử dụng bởi hàng trăm nghìn khách hàng của Amazon Web Services (AWS) dé phục vụ hàng nghìn tỷ yêu cầu mỗi tháng.

Lambda thích hợp với hầu hết các ứng dụng trong các ngành công nghiệp với nhiều đối tượng khách hàng khác nhau từ giải trí đến dịch vụ tài chính và các ngành thương mại điện tử khác. Những khách hàng tận dụng những lợi thế của Lambda như giảm thời gian đưa ứng dụng ra thị trường, tối ưu hóa chỉ phí và

cải thiện hiệu năng của ứng dụng.

Lambda chạy mã nguồn của ứng dụng trên cơ sở hạ tầng có tính khả dụng cao và thực hiện tất cả việc quản trị cơ bản, bao gồm bảo trì máy chủ và hệ điều

hành, cung cấp dung lượng và tự động mở rộng, vá lỗi, giám sát mã nguồn và ghi lại nhật ký hoạt động cua ứng dụng.

Tóm tắt: Với Lambda, người dùng có thể tải lên mã nguồn ứng dụng; Lambda

sẽ xử lý các thành phan can thiết để chạy mã nguồn với tinh săn dùng cao.

Mặt khác, Lambda cho phép tạo các ứng dụng không máy chủ và có khả năng

tích hợp với nhiêu dịch vu AWS khác.

Lợi ích: Một số lợi ích nồi bật ma Lambda Cung cấp:

Lambda chạy mã nguồn trên cơ sở hạ tầng có khả năng chịu lỗi cao và đặt dưới sự quản lý của AWS, trải rộng trên nhiều vùng khả dụng. Lambda đảm nhiệm việc quản trị, bảo trì và sửa các lỗi bảo mật của cơ sở hạ tầng. Ngoài ra

Lambda cũng cung cấp tính năng ghi nhật ký hoạt động và truy xuất nhất ký NGUYEN THANH SÁNG - DI17CNPM0I

Đồ án tốt nghiệp

đó. Từ đó các lập trình viên sẽ có thời gian để tập trung vào việc phát triển và

tối ưu ứng dụng.

- Lambda cung cap kha năng tự động nâng cấp tài nguyên dé đáp ứng khi ứng dụng bị quả tải bởi lượt sử dụng lớn. Lambda tự động nâng câp khi có một lượt truy cập lớn một cach đột ngột.

- Nguoi dùng khi sử dung Lambda chỉ cần thanh toán mỗi khi mã nguồn được chạy, điều đó khác với việc triển khai truyền thống là thanh toán bằng việc thuê máy chủ hoặc mua phần cứng và mat chi phi dé vận hành hang tháng trong khi tài nguyên không được tận dụng hết.

1.5.5. Công nghệ tăng tốc độ tải ảnh CloudFront AWS

“es „

¥)

Hình 9: Mang phân phối nội dung CDN: Mạng phân phối nội dung

- Là một hệ thống các máy chủ trên toàn cầu làm nhiệm vụ lưu bản sao của các nội dung tĩnh bên trong ứng dụng, sau đó phân tán bản sao ra nhiều

máy chủ khác và từ các máy chủ đó sẽ gửi tới cho người dùng khi họ truy

cập vào ứng dụng. Vì lý do các máy chủ được đặt khắp nơi trên thế giới

nên khi người dùng lay những nội dung trong ứng dụng như hình ảnh và video, ứng dụng sẽ tìm đến máy chủ gan nhất và hién thi nội dung đến người dùng. Số lượng máy chủ các nhiều càng làm tăng trải nghiệm của người dùng cũng như giảm tải cho toàn bộ hệ thống.

CloudFront:

Một phần của tài liệu Xây dựng hệ thống website hỗ trợ hỏi đáp cho lập trình viên (Trang 24 - 29)

Tải bản đầy đủ (PDF)

(77 trang)