Báo cáo thực tập phát triển hệ thống với AMAZON WEB SERVICES

34 13 0
Báo cáo thực tập phát triển hệ thống với  AMAZON WEB SERVICES

Đ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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP PHÁT TRIỂN HỆ THỐNG VỚI AMAZON WEB SERVICES Công ty thực tập : TechXCorp Người phụ trách : anh Lê Minh Ân Thực tập sinh : Nguyễn Duy Minh TP Hồ Chí Minh, tháng 12 năm 2020 Nội dung LỜI MỞ ĐẦU Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty TechX Chương 2: Nội dung thực tập Tìm hiểu cơng ty kỹ công ty Nghiên cứu kỹ thuật 1.1 Làm quen với Python 1.2 Tìm hiểu phát triển ứng dụng với Django 1.3 Tìm hiểu mơ hình serverless, tảng AWS service phổ biến 1.4 Tìm hiểu service tảng AWS cách sử dụng 10 Chương 3: Chi tiết project 14 Giới thiệu project 14 Usecases 15 Sequence diagrams 17 Cơ sở đữ liệu 30 Tài liệu tham khảo 33 TỔNG KẾT 34 LỜI MỞ ĐẦU Hiện nay, công nghệ ngày phát triển, nhu cầu việc triển khai dịch vụ phát triển hệ thống internet gia tăng đáng kể Để đáp ứng u cầu địi hỏi nhà phát triển cần phải tiến tới giải pháp công nghệ tối ưu mang lại hiệu cao mặt nhân lực, chi phí thời gian Cloud computing xem xu hướng công nghệ mới, nơi mà liệu, dịch vụ lưu trữ, triển khai internet Việc đưa hệ thống lên đám mây giúp người dùng tiếp cận sử dụng dễ dàng thay phải cài đặt local máy tính cá nhân, đồng thời đáp ứng nhu cầu kết nối, chia sẻ hàng triệu người dùng với Một giải pháp cho Cloud Computing ứng dụng phổ biến Serverless + Microservices Microservices kiến trúc hệ thống cho phép phát triển, vận hành triển khai dịch vụ (service) cách độc lập với Các service giao tiếp với thông qua chuẩn định (TCP, HTTP, …) Đó ưu điểm lí mà Microservices sử dụng nhiều hệ thống Cloud (Google, Amazon, …) Serverless (trái ngược với Server) mơ hình phát triển hệ thống mà đó, việc xây dựng ứng dụng tách rời độc lập với cầu hình hệ thống (Server) Hay nói cách khác, nhà phát triển mơ hình Serverless không cần phải quan tâm nhiều về đề phần cứng RAM, nhớ, cầu hình máy, băng thông, khả chịu tải, … Với đặc điểm kể trên, thấy Microservices kiến trúc tối ưu đưa vào mô hình Serverless Các vấn đề phần cứng service đảm nhiệm Các nhà phát triển cần khai báo thông số cần thiết để tối ưu việc sử dụng service cho phù hợp với nhu cầu hệ thống Amazon Web Services (AWS) tảng cho phép phát triển hệ thống Serverless AWS cung cấp số lượng lớn Service nhằm giúp tối ưu trình phát triển hệ thống, đồng thời đảm bảo hiệu suất cao hệ thống triển khai LỜI CẢM ƠN Trân trọng gửi lời cảm ơn Công ty TechXCorp tạo điều kiện cho em có hội thực tập công ty Chỉ thời gian ngắn, nhờ dẫn chu đáo anh mentor, em có hội tiếp cân, học hỏi cách phát triển ứng dụng hệ thông AWS cách làm việc môi trường thực tế Đặc biệt cảm ơn anh Ân, mentor chính, hướng dẫn, giúp đỡ cho em tận tình khó khăn q trình thực tập; cảm ơn anh Trần Quốc Việt giúp em làm quen với môi trường làm việc giúp đỡ em khắc phục thiếu sót cá nhân Cũng xin cảm ơn thầy cô khoa Công nghệ phần mềm nhiệt tình hỗ trợ, tạo điều kiện em làm báo cáo Nguyễn Duy Minh TP Hồ Chí Minh, 29/12/2020 NHẬN XÉT CỦA KHOA Chương 1: Giới thiệu công ty thực tập Giới thiệu công ty TechX TechX công ty thành lập nhằm xây dựng hệ thống cung cấp giải pháp công nghệ liên quan tới Cloud Computing cho doanh nghiệp Dù thành lập thời gian không lâu với đội ngũ phát triển giàu kinh nghiệm, TechX có sản phẩm chất lượng, đáp ứng nhu cầu cho hàng triệu người dùng Các đối tác lớn TechX có AWS, Oracle, SaleForce, … Chương 2: Nội dung thực tập Đợt thực tập với chủ đề “Phát triển ứng dụng serverless AWS” nhằm mục đích giúp sinh viên thực tập có hội học hỏi làm quen với mơ hình serveless, tảng AWS khái niệm cách sử dụng dịch vụ (service) AWS Tại công ty, sinh viên có hội học tập, khám phá làm việc môi trường động tích cực Tìm hiểu cơng ty kỹ công ty Thời gian : ngày Nội dung : Giới thiệu công ty thành viên công ty Được nghe người phụ trách giới thiệu cơng ty, q trình thành lập phát triên (như - nhắc đến trên) đội ngũ nhân lực công ty Ngồi ra, thực tập sinh cịn giới thiệu cách thức làm việc công ty thời - gian làm, quy định cần phải tuân thủ, cách thức liên lạc, hỏi đáp, … Kết : Hiểu thêm cơng ty TechX, q trình thành lập phát triển thành viên team Nghiên cứu kỹ thuật 1.1 Làm quen với Python Thời gian : ngày Nội dung : Tìm hiểu ngôn ngữ Python, cách setup project pip Kết : Hiểu cách hoạt động package Python 1.2 Tìm hiểu phát triển ứng dụng với Django Thời gian : tuần Nội dung : Tìm hiểu phát triển ứng dụng web sử dụng framework Django - Cách khởi tạo project, hiểu cấu trúc project sử dụng chức Django CLI tạo app, tạo model, tạo controller, … - Các khái niệm thành phần Django framework Model, Controller, View, API View, Middleware - Cách cài đặt sử dụng package bên thứ - Deploy sản phẩm lên Heroku Thực hiện: Phát triển ứng dụng web đơn giản Kết : - Nâng cao hiểu biết làm quen dần với việc sử dụng Python - Nắm cách hoạt động RESTful API, cài đặt chức quan trọng xác thực, phân quyền, bảo mật hệ thống 1.3 Tìm hiểu mơ hình serverless, tảng AWS service phổ biến Nội dung: Các kiến thức serverless, AWS khái niệm cách thức hoạt động AWS Services Khái niệm Serverless Computing - Serviceless Computing giải pháp cung cấp dịch vụ hệ thống dựa nhu cầu sử dụng người dùng Nó cho phép cài đặt triển khai code mà bận tâm hạ tầng dịch vụ (hệ điều hành, băng thông, nhớ, …) Chi phí sử dụng phụ thuộc vào nhu cầu sử dụng - Đa phần nhà cung cấp dịch vụ serverless đưa giải pháp Function-as-aService (FaaS) Các developer làm việc độc lập Function Điều giúp đơn giản hóa code base nâng cao khả module hóa AWS Cloud - AWS Cloud tảng đám mây Amazon phát triển Các dịch vụ phổ biến Amazon gồm có server, lưu trữ, networking, database, máy học, … - AWS có mặt 76 khu vực Người dùng chọn khu vực phù hợp mặt địa lý sản phẩm để giảm thiểu hạn chế độ trễ tăng tính ổn định Thực : - Xem khóa học Serverless AWS Udemy Kết quả: - Nắm khái niệm Serverless kiến trúc Microservices - Hiểu tảng AWS 1.4 Tìm hiểu service tảng AWS cách sử dụng Thời gian: tuần Nội dung: Tìm hiểu nắm vững service cốt lõi AWS cách sử dụng CDK để thao tác lên service IAM (Identity Access Management) - IAM service cho phép kiểm soát bảo mật quyền truy cập đến tài nguyên AWS IAM đóng vai trị trung tâm việc xác thực phân quyền hệ thống AWS - IAM cho phép chúng ta: o Kiểm soát quyền truy cập tài khoản AWS o Chia sẻ quyền truy cập o Hỗ trợ nhiều cách thức cung cấp quyền truy cập 10 d Cập nhật thông tin cá nhân 20 e Lấy access token 21 f Lấy thông tin người dùng theo ID 22 g Tạo map 23 h Cập nhật map 24 i Lấy thông tin map theo ID 25 j Lấy danh sách map 26 k Tạo trạng thái game 27 l Lấy thông tin trạng thái game 28 m Xử lí phân quyền cho request 29 Cơ sở đữ liệu a Sơ đồ sở liệu b Chi tiết bảng User Trường Kiểu liệu Loại khóa Mơ tả user_id string Partition key ID user username string GSI Tên đăng nhập password string Mật email string Email profile Thông tin cá nhân người dùng 30 game_map Trường Kiểu liệu Loại khóa Mơ tả created_by string Partition key ID người dùng tạo map last_edited datetime Sort key Thời gian lần cuối map cập nhật id string GSI ID map map_file_url string URL file chứa thơng tin map URL hình map map_image_url string game_state Trường Kiểu liệu Loại khóa Mơ tả user string Partition key ID người dùng với trạng thái game game_map string Sort key ID map tương ứng với trạng thái game saved_date datetime Thời gian mà trạng thái lưu Trạng thái game Có giá trị định ngĩa: state string NA: chưa hoàn thành AR: hoàn thành OP: chơi 31 Profile (document bảng user) Trường Kiểu liệu Mô tả family_name string Họ người dùng given_name string Tên người dùng picture string URL avatar người dùng 32 Tài liệu tham khảo AWS Documentation: https://docs.aws.amazon.com/ Github repository: https://github.com/minhnguyenduy99/aws-game-api 33 TỔNG KẾT Như vậy, vòng tháng, em học hỏi tạo web app đơn giản tảng AWS Tuy chức đơn giản chưa áp dụng nhiều kỹ thuật cao em có hội tiếp cận với công nghệ phần học hỏi cách thức thực project thực tế thông qua hướng dẫn anh mentor Chân thành cảm ơn giúp đỡ anh Ân hỗ trợ em trình thực project 34 ... hệ thống Amazon Web Services (AWS) tảng cho phép phát triển hệ thống Serverless AWS cung cấp số lượng lớn Service nhằm giúp tối ưu trình phát triển hệ thống, đồng thời đảm bảo hiệu suất cao hệ. .. nay, công nghệ ngày phát triển, nhu cầu việc triển khai dịch vụ phát triển hệ thống internet gia tăng đáng kể Để đáp ứng u cầu địi hỏi nhà phát triển cần phải tiến tới giải pháp công nghệ tối ưu... giao tiếp với thơng qua chuẩn định (TCP, HTTP, …) Đó ưu điểm lí mà Microservices sử dụng nhiều hệ thống Cloud (Google, Amazon, …) Serverless (trái ngược với Server) mơ hình phát triển hệ thống mà

Ngày đăng: 05/09/2021, 21:06

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan