Community Cloud: Đám mây cộng đồng là các dịch vụ trên nền tảng Cloudcomputing do các công ty cùng hợp tác xây dựng và cung cấp các dịch vụ chocộng đồng.1.3Các loại dịch vụ Cloud IaaS, P
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCMKHOA CÔNG NGHỆ THÔNG TIN
TÌM HIỂU CÁC DỊCH VỤ CỦA AZURE
VÀ DEPLOY MỘT ỨNG DỤNG LÊN AZURE
Trang 2Mục Lục
CHƯƠNG 1 Tìm hiểu Cloud Computing là gì? 3
1.1 Khái niệm Cloud 3
1.2 Các loại Cloud 3
1.3 Các loại dịch vụ Cloud IaaS, PaaS, SaaS 4
1.3.1 Infrastructure as a Service (IaaS) 4
1.3.2 Platform as a Service (PaaS) 4
1.3.3 Software as a Service (SaaS) 4
1.4 Lợi ích của cloud computing 5
Chương 2 Microsoft Azure và các dịch vụ của Azure 6
2.1 Microsofr Azure 6
2.2 Các dịch vụ của Azure 7
CHƯƠNG 3 Tìm hiểu và sử dụng một số dịch vụ 10
3.1 Virtual machines (Azure VM) 10
3.2 Azure app service 11
3.3 SQL Database trên Azure 13
3.4 Azure Blob Storage 13
3.5 Azure Functions 14
3.6 Microsoft Cognitive Services 16
CHƯƠNG 4 Deploy ứng dụng lên Azure 21
4.1 Các bước deploy 21
4.2 Video deploy app 24
Tài liệu tham khảo 25
Trang 3CHƯƠNG 1 Tìm hiểu Cloud Computing là gì?
1.1 Khái niệm Cloud
Cloud Computing hay còn gọi là điện toán đám mây, là việc cung cấp tài
nguyên phù hợp với nhu cầu người dùng hoàn toàn thông qua Internet, là môhình dịch vụ cho phép người truy cập tài nguyên điện toán dùng chung (mạng,server, lưu trữ, ứng dụng, dịch vụ) thông qua kết nối mạng một cách dễ dàng,mọi lúc, mọi nơi, theo yêu cầu Tài nguyên điện toán đám mây có thể được thiếtlập hoặc hủy bỏ nhanh chóng bởi người dùng mà không cần sự can thiệp củaNhà cung cấp dịch vụ
1.2 Các loại Cloud
Public Cloud: Đám mây công cộng (là các dịch vụ trên nền tảng Cloud
Computing để cho các cá nhân và tổ chức thuê, họ dùng chung tài nguyên)
Private Cloud: Đám mây riêng (dùng trong một doanh nghiệp và không chia
sẻ với người dùng ngoài doanh nghiệp đó)
Hybrid Cloud: Là mô hình kết hợp (lai) giữa các mô hình Public Cloud và
Private Cloud
Trang 4Community Cloud: Đám mây cộng đồng (là các dịch vụ trên nền tảng Cloud
computing do các công ty cùng hợp tác xây dựng và cung cấp các dịch vụ chocộng đồng)
1.3 Các loại dịch vụ Cloud IaaS, PaaS, SaaS
Infrastructure as a Service (IaaS)
IaaS chuyên cung cấp các tính năng cơ bản nhất như mạng, máy tính ảo,không gian lưu trữ dữ liệu, CPU, RAM, HDD/SSD,
Khi sử dụng dịch vụ này, người dùng đã có một máy chủ ảo trên không gianđám mây để làm việc Họ không cần phải quan tâm tới các khía cạnh khác nhưmáy chủ nằm ở trung tâm dữ liệu nào, sử dụng mạng viễn thông nào,…
Platform as a Service (PaaS)
PaaS cho phép người dùng lựa chọn các phần mềm mong muốn, triển khai
và sử dụng mà không cần quan tâm tới việc cập nhật các phiên bản mới, RAM,CPU,…
Software as a Service (SaaS)
SaaS (viết tắt cho Software As A Service), được gọi là Dịch vụ phần mềm.
Với SaaS, Azure sẽ cung cấp cho bạn quyền truy cập vào phần mềm của ứngdụng Bạn không cần phải quan tâm về việc cài đặt, thiết lập hay thử nghiệmứng dụng, phần mềm Tất cả những điều đó sẽ được Dịch vụ phần mềm thựchiện và bạn chỉ cần kiếm khách hàng để trải nghiệm ứng dụng
Too long to read on your phone? Save
to read later on your computer
Save to a Studylist
Trang 51.4 Lợi ích của cloud computing
Mang đến sự linh hoạt cho người dùngKhả năng tự phục hồi sau sự cố
Chia sẻ dữ liệu
Tiết kiệm chi phí
Đảm bảo an toàn, liên tục và tính bảo mật cao
Trang 6CHƯƠNG 2 Microsoft Azure và các dịch vụ của Azure
Dưới đây là một số đặc điểm chính về Azure:
Linh hoạt: Di chuyển (tải về hoặc tải lên) tài nguyên máy tính qua lại máy chủ khi
cần thiết
Mở: Hỗ trợ hầu hết mọi hệ điều hành, ngôn ngữ, công cụ.
Đáng tin cậy: Thỏa thuận mức dịch vụ (SLA) là 99,95% và hỗ trợ công nghệ
24×7
Toàn cầu: Dữ liệu được đặt trong các trung tâm dữ liệu mà bạn có thể truy cập từ
bất cứ nơi nào chỉ bằng Internet
Tiết kiệm: Chỉ trả tiền cho những gì bạn sử dụng.
Azure là một nền tảng đám mây có tốc độ hoạt động rất nhanh, độ linh hoạt cao và giá
cả phải chăng Điều đó giúp cho nó trở thành một trong những dịch vụ đám mây côngcộng tốt nhất trên thị trường
Trang 7
Một số dịch vụ Azure chính theo danh mục:
Computing
Virtual Machine: Dịch vụ này cho phép bạn tạo một máy ảo trong Windows,
Linux hoặc bất kỳ cấu hình nào khác trong vài giây
Cloud Service: Dịch vụ này cho phép bạn tạo các ứng dụng có thể mở rộng trong
đám mây Sau khi ứng dụng được triển khai, mọi thứ, bao gồm load balancing,health monitoring đều do Azure đảm nhận
Service Fabric: Với dịch vụ này, quá trình phát triển một microservice được đơn
giản hóa rất nhiều Microservice là một ứng dụng có chứa các ứng dụng nhỏ hơnkhác được đóng gói
Functions: Azure Functions là một dịch vụ đám mây có sẵn theo yêu cầu, cungcấp tất cả các tài nguyên và cơ sở hạ tầng được cập nhật liên tục cần thiết để chạycác ứng dụng của bạn Bạn tập trung vào mã quan trọng nhất đối với bạn, bằngngôn ngữ hữu ích nhất đối với bạn và Các hàm xử lý phần còn lại Chức năng cungcấp tính toán không máy chủ cho Azure Bạn có thể sử dụng Chức năng để xâydựng các API web, phản hồi với các thay đổi cơ sở dữ liệu, xử lý các luồng IoT,quản lý hàng đợi tin nhắn và hơn thế nữa
Trang 8Azure CDN: Azure CDN (Mạng phân phối nội dung/Content Delivery Network
của Azure) giúp cung cấp nội dung cho người dùng, sử dụng băng thông cao vànội dung có thể được chuyển đến bất kỳ người nào trên toàn cầu Dịch vụ CDN sửdụng một mạng lưới các máy chủ được đặt chiến lược trên toàn cầu để người dùng
có thể truy cập dữ liệu càng sớm càng tốt
Express Route: Dịch vụ này cho phép bạn kết nối mạng on-premises của mình
với đám mây Microsoft hoặc bất kỳ dịch vụ nào khác mà bạn muốn, thông qua kếtnối riêng tư (private) Vì vậy, thông tin liên lạc duy nhất sẽ xảy ra ở đây sẽ là giữamạng doanh nghiệp và dịch vụ mà bạn muốn kết nối
Virtual network: Mạng ảo cho phép bạn có bất kỳ dịch vụ Azure nào giao tiếp với
nhau một cách riêng tư và an toàn
Azure DNS: Dịch vụ này cho phép bạn lưu trữ các DNS domain hoặc system
domain trên Azure
Trang 9Disk Storage: Dịch vụ này cho phép bạn chọn từ HDD hoặc SSD làm tùy chọn
lưu trữ cùng với máy ảo của bạn
Blob Storage: Dịch vụ này được tối ưu hóa để lưu trữ một lượng lớn dữ liệu phi
cấu trúc (unstructured data), bao gồm văn bản (text) và thậm chí cả dữ liệu nhịphân (binary data)
File Storage: Đây là dịch vụ lưu trữ tệp được quản lý có thể được truy cập thông
qua SMB (server message block) protocol
Queue Storage: Với dịch vụ này, bạn có thể cung cấp xếp hàng chờ cho tin nhắn
(message queuing) ổn định cho một khối lượng công việc (workload) lớn Dịch vụnày có thể được truy cập từ mọi nơi trên thế giới
Dịch vụ cơ sở dữ liệu Azure
Cơ sở dữ liệu Azure là một dịch vụ cơ sở dữ liệu quan hệ đáng tin cậy và an toàn, đồngthời mang lại hiệu suất cao mà bạn không phải lo lắng về bất kỳ cơ sở hạ tầng nào
Trang 10
Azure SQL: Đây là một cơ sở dữ liệu quan hệ được lưu trữ trong Azure và được
xây dựng trên các công nghệ máy chủ SQL, cung cấp cơ sở dữ liệu có thể mởrộng, khả dụng cao và có khả năng chịu lỗi
Azure DocumentDB: Một cơ sở dữ liệu NoSQL dưới dạng một quá trình trao đổi
không có dữ liệu lược đồ, truy vấn phong phú và xử lý truy vấn
Azure Redis Cache: Đây là một cấu trúc cơ sở dữ liệu thực hiện khóa giá trị với
độ bền tùy chọn
Trang 11CHƯƠNG 3 Tìm hiểu và sử dụng một số dịch vụ
3.1 Virtual machines (Azure VM)
Virtual machines cho phép tạo và sử dụng các máy ảo trên đám mây dướidạng cơ sở hạ tầng như một dịch vụ Có thể sử dụng hình ảnh do Azure hoặcđối tác cung cấp có thể sử dụng hình ảnh của chính mình để tạo máy ảo
Máy ảo có thể được tạo và quản lý bằng cách sử dụng:
Các lựa chọn cấu hình mà Azure cung cấp khi tạo Máy ảo
Hệ điều hành (Windows và Linux)
Kích thước máy ảo, xác định các yếu tố như sức mạnh xử lý, sốlượng đĩa chúng tôi đính kèm,…
Khu vực nơi máy ảo sẽ được lưu trữ
Trang 12Phần mở rộng VM, cung cấp các khả năng bổ sung như chạy chươngtrình chống vi-rút,
Các phần tử Tính toán, Mạng và Lưu trữ sẽ được tạo trong quá trìnhcung cấp máy ảo
3.2 Azure app service
Azure App Service là một dịch vụ dựa trên HTTP để lưu trữ các ứng dụngweb, API REST và mobile backends Có thể phát triển các ứng dụng bằng ngônngữ lập trình yêu thích của mình, chẳng hạn như NET, NET Core, Java, Ruby,Node.js, PHP hoặc Python Các ứng dụng có thể chạy và mở rộng một cách dễdàng trên cả 2 môi trường là Windows và Linux
App Service không chỉ bổ sung sức mạnh của Microsoft Azure như bảo mật,cân bằng tải, tự động cân bằng và quản lý tự động, mà còn có thể tận dụng cáckhả năng DevOps của nó chẳng hạn như triển khai liên tục từ Azure DevOps,GitHub, Docker Hub và các nguồn khác, hệ thống quản lý gói, môi trường dàndựng, tên miền tùy chỉnh và chứng chỉ SSL
Một số tính năng chính của Azure App Service:
Đa dạng về ngôn ngữ và khung phần mềm: App Service sở hữu dịch vụ
hỗ trợ hạng nhất cho những ngôn ngữ như ASP.NET, ASP.NET Core, Java,Ruby, Node.js, PHP và cả Python
Tối ưu hóa DevOps: Thiết lập Tích hợp và triển khai liên tục với AzureDevOps, GitHub, BitBucket, Docker Hub hay Azure Container Registry
Trang 13Đẩy mạnh quá trình cập nhật thông qua môi trường thử nghiệm và dàndựng Quản lý ứng dụng của bạn trong Azure App Service bằng cách sửdụng Azure PowerShell hoặc giao diện dòng lệnh đa nền tảng (CLI).
Khả năng mở rộng quy mô trên phạm vi toàn cầu với tính khả dụng cao: Bạn có thể nâng cấp hệ thống và mở rộng quy mô thủ công hoặc tựđộng Lưu trữ ứng dụng của bạn ở bất cứ đâu trong cơ sở hạ tầng trung tâm
dữ liệu toàn cầu của Microsoft, đồng thời App Service SLA luôn hứa hẹn sẽđem lại tính sẵn sàng cao
Kết nối với nền tảng SaaS và dữ liệu on-premise: Lựa chọn từ hơn
50 connectors cho các hệ thống doanh nghiệp (như SAP), dịch vụ SaaS (nhưSalesforce) và dịch vụ internet (như Facebook) Truy cập dũ liệu on-premisebằng cách sử dụng Hybrid Connection và Azure Virtual Networks
Bảo mật và tuân thủ: App Service tuân thủ theo ISO, SOC và PCI Xácthực người dùng bằng Azure Active Directory hoặc bằng cách đăng nhậpcác tài khoản xã hội (Google, Facebook, Twitter và Microsoft) Khởi tạo hạnchế địa chỉ IP và dịch vụ quản lý nhận dạng
Các mẫu ứng dụng: Bạn có thể thoải mái lựa chọn trong danh sách các
mẫu ứng dụng vô cùng rộng rãi trong Azure Marketplace, chẳng hạn nhưWordPress, Joomla và Drupal
Tích hợp Visual Studio: Các công cụ chuyên dụng trong Visual Studio có
khả năng hợp lý hóa công việc tạo, triển khai và gỡ lỗi
API và các tính năng di động: App Service cung cấp cho khách hàng khả
năng hỗ trợ turn-key CORS cho các kịch bản RESTful API và đơn giản hóacác kịch bản ứng dụng di động bằng cách khởi động tính năng xác thực,đồng bộ hóa dữ liệu ngoại tuyến, thông báo đẩy,…
Mã máy chủ: Khởi chạy Code snippet hay ngôn ngữ tùy chỉnh theo nhu cầu
mà không cần phải cung cấp hoặc quản lý cơ sở hạ tầng một cách rõ ràng vàbạn chỉ cần chi trả cho lượng thời gian tính toán thực tế mà các đoạn mã củabạn sử dụng
Trang 143.3 SQL Database trên Azure
Azure SQL Database là một nền tảng hoàn toàn gống như một công cụ quản
lí khác về dịch vụ cơ sở dữ liệu (PaaS) và cũng xử lý hầu hết các chức năngquản lý cơ sở dữ liệu tự động và không cần sự tham gia của người dùng như :patching, backups, và monitoring Với Azure SQL Database chúng ta có thểtạo các lớp lưu trữ với hiệu suất cao có sẵn các ứng dụng , giải pháp trongAzure.Chúng ta có thể chạy Azure SQL Database trên hạ tầng tại chỗ hoặc trêndịch vụ đám mây với các lợi ích của Azure như tự động hóa, hỗ trợ không giớihạn, quản trị hợp nhất và tiết kiệm chi phí
Có 2 lựa chọn cho Azure SQL Database:
Single database: Là một cơ sở dữ liệu bình thường tương tự như một cơ sở
dữ liệu chứa trong công cụ cơ sở dữ liệu SQL Server
Elastic pool: Là một tập hợp các Single databas, có thể thêm 1 Single
database hoặc đi chuyển Single database ra khỏi Elastic pool một cách dễdàng
3.4 Azure Blob Storage
Blob Storage là giải pháp lưu trữ đối tượng của Microsoft cho đám mây.
Bộ lưu trữ Blob được tối ưu hóa để lưu trữ một lượng lớn dữ liệu phi cấu trúc
Dữ liệu phi cấu trúc là dữ liệu không tuân theo mô hình hoặc định nghĩa dữ liệu
cụ thể, chẳng hạn như dữ liệu văn bản hoặc dữ liệu nhị phân
Blob storage resources gồm:
Trang 15Storage account : là tài khoản Storage Azure của bạn, nơi đây chứa tất cảcác đối tượng dữ liệu như: blobs, files, queues, tables, và disks Dữ liệu trongnày có thể truy cập được từ mọi nơi trên thế giới qua HTTP hoặc HTTPS Dữliệu trong storage account của bạn có tính bền, khả dụng cao, an toàn và có khảnăng mở rộng lớn.
Các loại Storage account:
General-purpose v2 accounts: Một loại tài khoản lưu trữ cơ bản cho: blobs,files, queues, và tables Và được đề xuất cho hầu hết các trường hợp sửdụng Azure Storage
General-purpose v1 accounts: dùng để sử dụng mở rộng cho purpose v2accounts khi cần
BlockBlobStorage accounts: Tài khoản lưu trữ cao cấp có hiệu suất cao cho:block blobs và append blobs
FileStorage accounts: tài khoản lưu trữ chỉ dành cho file có hiệu suất caoBlobStorage accounts
Container trong Storage account: Là một vùng chứa để tập hợp các blob,
tương tự như một thư mục trong hệ thống tệp Một tài khoản lưu trữ có thểkhông giới hạn số lượng container và một container có thể lưu trữ không giớihạn số lượng các blobs
Blob: Azure storage hỗ trợ 3 loại blob
o Block blobs: lưu trữ dữ liệu dạng text và dữ liệu nhị phân
o Append blobs: lý tưởng cho việc ghi dữ liệu từ máy ảo
o Page blobs: lưu trữ các tệp truy cập ngẫu nhiên có kích thước lên đến 8 TB
3.5 Azure Functions
Azure Functions là một dịch vụ đám mây, được cung cấp sẵn tất cả các tàinguyên và cơ sở hạ tầng - luôn được cập nhật để đáp ứng nhu cầu của ngườidùng Azure Functions không là 1 máy chủ, nhưng có thể cung cấp các tính
Trang 16toán, xử lý chức năng, Chúng ta có thể sử dụng nó để xây dựng các API web,phản hồi với các thay đổi cơ sở dữ liệu, xử lý các luồng IoT, quản lý hàng đợitin nhắn và nhiều thứ khác.
a Ngôn ngữ được hỗ trợ
C#: bao gồm cả precompiled class libraries và C# script
JavaScript: chỉ hỗ trợ version 2.x của Azure Functions runtime Yêu cầuversion 1.7.0 của Durable Functions extension,hoặc version mới hơn.Python: yêu cầu version 2.3.1 của Durable Functions extension, hoặc versionmới hơn
F#: precompiled class libraries và F# script F# script chỉ hỗ trợ version 1.xcủa Azure Functions runtime
PowerShell: hỗ trợ cho Durable Functions extension hiện đang ở bản xemtrước công khai Chỉ được hỗ trợ cho version 3.x của Azure Functionsruntime của Azure Functions và PowerShell 7
b Các mô hình ứng dụng cơ bản
Function chaining: là một chuỗi các hàm thực thi theo một thứ tự cụ thể, màtrong mô hình này thì đầu ra của hàm này được áp dụng cho đầu vào cáchàm khác
Fan out/fan in: Đối với mô hình này thì cùng lúc sẽ thực hiện nhiều chứcnăng và đợi tất cả chức năng kết thúc
Trang 17Async HTTP APIs: mô hình HTTP API bất đồng bộ để giải quyết các vấn đềđiều phối trạng thái hoạt động lâu dài với các máy khách bên ngoài.Monitor: Mô hình này đề cập đến một quy trình linh hoạt, lặp đi lặp lạitrong một quy trình làm việc đến khi một điều kiện cụ thể được đáp ứng.Human interaction: Mô hình này cho phép sự tương tác của con người trên
hệ thống, ví dụ như một quy trình kinh doanh, cần có sự chấp thuận củangười quản lý
Aggregator: mô hình dùng để tổng hợp dữ liệu có thể từ nhiều nguồn vớinhau, và có thể được phân phối theo lô hoặc có thể bị phân tán trong thờigian dài Trình tổng hợp có thể cần thực hiện hành động đối với dữ liệu sựkiện khi dữ liệu đến và các khách hàng bên ngoài có thể cần truy vấn dữ liệutổng hợp
c Các loại và tính năng của Durable Functions
Durable Functions là một tính năng mở rộng của Azure Functions, chúng ta
có thể sử dụng Durable Functions để điều phối trạng thái thực thi chức năng.Hiện tại có 4 loại Durable function trong Azure Function: activity, orchestrator,entity, và client
3.6 Microsoft Cognitive Services
Microsoft Cognitive Services bao gồm một bộ các API, là kết tinh vô số
tinh hoa về ứng dụng của thuật toán, machine learning, data mining của
Microsoft Sử dụng bộ API này, chúng ta có thể tạo ra những ứng dụng “vidiệu” mà không cần biết gì về machine learning hay data mining
Bộ API Cognitive Service của Microsoft bao gồm 5 bộ API nhỏ:
Vision: Nhận diện hình ảnh, khuôn mặt và cảm xúc
- OCR or Optical Character Recognition còn được gọi là nhận dạng văn bản hoặctrích xuất văn bản Các kỹ thuật OCR dựa trên máy học cho phép bạn trích xuấtvăn bản in hoặc viết tay từ hình ảnh, chẳng hạn như áp phích, biển hiệu đườngphố và nhãn sản phẩm, cũng như từ các tài liệu như bài báo, báo cáo, biểu mẫu