2.1. Khái quát về Microsoft Azure
Microsoft Azure là gì?
Microsoft Azure thường được nói đến với khả năng không giới hạn và tiềm năng vô hạn.
Vậy thực chất Microsoft Azure đem lại lợi ích gì trong ngành CNTT?
Mô hình Microsoft Azure
Microsoft Azure là nền tảng điện toán đám mây công cộng bao gồm: PaaS – nền tảng
… Ngoài ra, Azure còn có thể được dùng hoặc là bổ sung thêm cho các máy chủ ngay tại chỗ.
Một số đặc điểm chính về dịch vụ Microsoft Azure:
- Mở: Hỗ trợ gần như tất cả các ngôn ngữ, hệ điều hành, công cụ.
- Linh hoạt: Có thể tải về hoặc tải lên tài nguyên của máy tính thông qua máy chủ khi cần.
- Đáng tin cậy: Hỗ trợ 24x7 và mức dịch vụ (SLA) lên tới 99,95%.
- Tiết kiệm: Chỉ phải trả tiền cho những gì khách hàng sử dụng.
- Toàn cầu: Toàn bộ dữ liệu được đặt tại các trung tâm dữ liệu và các bạn hoàn toàn có thể truy cập vào nó bất kỳ ở đâu miễn có internet.
Microsoft Azure là gì? Đó là 1 nền tảng đám mây với tốc độ hoạt động cực nhanh, linh hoạt và đặc biệt giá cả rất mềm. Điều này góp phần không nhỏ giúp Azure trở thành dịch vụ đám mây tốt nhất hiện nay.
2.2. Các đặc tính của điện toán đám mây.
1. Tự phục vụ theo yêu cầu
Khách hàng có thể đơn phương thiết lập nguồn lực tính toán để đáp ứng yêu cầu như:
thời gian sử dụng máy tính, dung lượng lưu trữ cũng như khả năng tự động tương tác khi có yêu cầu mà không cần phải nhân lực tương tác với nhà cung cấp dịch vụ.
2. Sự truy cập rộng rãi
Hỗ trợ khả năng truy cập thông qua mạng máy tính và các thiết bị chuẩn mà không yêu cầu nền tảng cấu hình cao như (như điện thoại di động hay máy tính xách tay, PDA,....).
3. Tài nguyên được chia sẻ độc lập với vị trí địa lý:
Tài nguyên máy tính của nhà cung cấp dịch vụ được tổ chức để phục vụ cho tất cả các khách hàng thông qua mô hình “multi-tenant” (nhiều người thuê), với mô hình này các tài
nguyên vật lý và tài nguyên ảo hóa khác nhau được cấp phát và thu hồi một cách tự động theo nhu cầu của khách hàng.
4. Tính mềm dẻo (khả năng co giãn nhanh)
Khả năng này của điện toán đám mây cho phép cung cấp nhanh và dễ dàng co dãn để mở rộng haowcj thu nhỏ hệ thống một cách nhanh chóng theo yêu cầu của khách hàng. Khi nhu cầu tăng cao, hệ thống sẽ tự động mở rộng bằng cách thêm tài nguyên. Khi nhu cầu giảm hệ thống sẽ tự động giảm bớt tài nguyên.
5. Chi phí trả theo nhu cầu sử dụng:
Khả năng co giãn hiệu quả giúp nhà cung cấp sử dụng tài nguyên hiệu quả, tận dụng triệt để tài nguyên dư thừa, phục vụ được nhiều khách hàng. Đối với người sử dụng phục dịch vụ, khả năng co giãn giúp giảm chi phí cho người sử dụng chỉ phải trả phí cho những tài nguyên thực sự dùng.
6. Dịch vụ đo lường
Hệ thống điện toán tự động kiểm soát và tối ưu hóa nguồn lực sử dụng bằng cách sử dụng khả năng đo lường ở một vài mức trừu tượng phù hợp với các loại dịch vụ khác nhau.
Việc sử dụng tài nguyên có thể được kiểm soát, giám sát, báo cáo cho cung cấp thông tin minh bạch việc sử dụng dịch vụ đối với cả nhà cung cấp và khách hàng.
2.3. Các phương pháp truy cập Microsoft Azure (web, app)
Để truy cập và quản lý tài nguyên trên Microsoft Azure, có một số phương pháp và giao diện người dùng khác nhau, bao gồm:
1. Azure Portal (Giao diện Web): Azure Portal là giao diện quản trị web dựa trên trình duyệt, cho phép bạn quản lý và giám sát tài nguyên Azure của mình. Bạn có thể truy cập tại https://portal.azure.com.
2. Azure Mobile App: Microsoft cung cấp ứng dụng di động Azure cho iOS và
3. Azure PowerShell: Azure PowerShell là một môi trường dòng lệnh dựa trên PowerShell, cung cấp các lệnh để quản lý tài nguyên Azure của bạn. Cú pháp của giao diện dòng lệnh Azure tương tự như PowerShell. Nếu bạn có kiến thức nền về Windows và đã quen thuộc với PowerShell, thì Azure PowerShell có thể là một lựa chọn khả thi. Bạn có thể cài đặt và sử dụng Azure PowerShell trên macOS, Linux và Windows.
4. Azure CLI (Command-Line Interface): Azure CLI là một giao diện dòng lệnh đa nền tảng được phát triển bằng Node.js. Nó cung cấp các lệnh để quản lý và triển khai tài nguyên Azure.
5. Azure SDKs (Software Development Kits): Microsoft cung cấp các SDK cho nhiều ngôn ngữ lập trình khác nhau như .NET, Java, Python, Node.js, và nhiều ngôn ngữ khác. SDKs giúp phát triển ứng dụng và tích hợp với dịch vụ Azure.
6. Azure REST API: Microsoft Azure cung cấp REST API mà bạn có thể sử dụng để tương tác với các dịch vụ và tài nguyên Azure.
7. Azure Automation: Dịch vụ Azure Automation cho phép tự động hóa các quy trình quản trị hệ thống và triển khai tài nguyên sử dụng runbooks và Desired State Configuration (DSC).
8. Azure DevOps: Azure DevOps là một nền tảng hợp nhất cho việc phát triển phần mềm và triển khai trên Azure. Nó cung cấp các dịch vụ như quản lý mã nguồn, tự động húa triển khai và theo dừi hiệu suất.
Thông qua các phương pháp này, bạn có thể quản lý và tương tác với tài nguyên và dịch vụ Azure dễ dàng từ nhiều nền tảng và giao diện khác nhau. Chọn phương pháp phù hợp với nhu cầu của bạn để làm việc với Microsoft Azure.
2.4. Máy ảo và dịch vụ máy ảo với Microsoft Azure
a. Máy ảo (Virtual Machine - VM)
● Khái niệm: Máy ảo (VM) là một phần mềm hoặc phần cứng giả lập một máy tính hoạt động như một máy tính thực sự. Nó chạy trên một máy chủ vật lý và được quản lý bởi một hệ điều hành.
● Tại sao cần sử dụng máy ảo:
- Tận dụng tài nguyên: Cho phép tận dụng hiệu quả tài nguyên của một máy chủ vật lý bằng cách chia thành nhiều máy ảo.
- Tính cô đọng: Gộp nhiều máy chủ ảo trên cùng một máy chủ vật lý, giúp tiết kiệm không gian vật lý và nâng cao hiệu suất sử dụng tài nguyên.
- Tính linh hoạt và di động: Có thể di chuyển và triển khai máy ảo dễ dàng giữa các máy chủ vật lý khác nhau.
● Lợi ích của việc sử dụng máy ảo:
- Tiết kiệm chi phí: Giảm nhu cầu về phần cứng vật lý, tiết kiệm chi phí vận hành và bảo trì.
- Tăng linh hoạt: Có thể tạo, triển khai và quản lý nhanh chóng các máy ảo theo nhu cầu.
- Bảo mật và cô đọng: Mỗi máy ảo hoạt động độc lập, cải thiện tính bảo mật và sự cô đọng của hệ thống.
b. Các dịch vụ máy ảo với Microsoft Azure Azure Virtual Machines:
Azure Virtual Machines là một dịch vụ cung cấp máy ảo linh hoạt và mạnh mẽ chạy trên hệ điều hành Windows hoặc Linux. Đây là một phần quan trọng của Microsoft Azure, nơi bạn có thể tạo, quản lý và chạy các máy ảo dựa trên nhu cầu của mình.
Azure Marketplace
Azure Marketplace là một nền tảng trực tuyến do Microsoft quản lý, nơi bạn có thể tìm kiếm, thử nghiệm và triển khai nhanh chóng các ứng dụng và dịch vụ trong môi trường đám mây Azure. Đặc biệt, Azure Marketplace cung cấp một loạt máy ảo và hình ảnh đã được chuẩn bị trước (pre-configured) để bạn có thể sử dụng ngay lập tức.
Azure Managed Disks:
Azure Managed Disks là một dịch vụ lưu trữ dành cho máy ảo (Virtual Machines) trong
môi trường đám mây Azure. Điều đặc biệt về Managed Disks là nó quản lý việc lưu trữ dữ liệu liên quan đến máy ảo một cách dễ dàng và an toàn.
Azure Images and Snapshots:
Azure Images và Snapshots là hai khái niệm quan trọng trong việc quản lý và triển khai máy ảo (Virtual Machines) trên môi trường đám mây Azure. Dưới đây là giải thích chi tiết về chúng:
Azure Virtual Machine Scale Sets:
Azure Virtual Machine Scale Sets (VMSS) là một dịch vụ của Microsoft Azure cho phép triển khai và quản lý một nhóm các máy ảo đồng nhất. VMSS giúp quản lý tự động quy mô theo nhu cầu, cung cấp độ tin cậy và hiệu suất cao.
Azure Kubernetes Service (AKS):
Azure Kubernetes Service (AKS) là một dịch vụ quản lý Kubernetes được cung cấp bởi Microsoft Azure. Kubernetes là một hệ thống mã nguồn mở dùng để triển khai, quản lý, và mở rộng các ứng dụng chứa container.
Azure Automation and Desired State Configuration (DSC):
Azure Automation và Desired State Configuration (DSC) là hai dịch vụ quan trọng trong Microsoft Azure liên quan đến quản lý cấu hình và tự động hóa các tác vụ hệ thống.
2.5. Kiểm tra và tạo ứng dụng
Để kiểm tra và tạo ứng dụng trên Microsoft Azure, ta cần tập trung vào việc sử dụng dịch vụ Azure App Service. Đây là một dịch vụ quan trọng trong Microsoft Azure giúp phát triển, chạy và quản lý ứng dụng web và mobile. Dưới đây là quy trình cơ bản để kiểm tra và tạo ứng dụng trên Azure bằng Azure App Service:
Bước 1. Đăng nhập vào Microsoft Azure:
Truy cập vào trang web Microsoft Azure Portal và đăng nhập bằng tài khoản Azure của bạn.
Bước 2. Tạo một ứng dụng mới:
- Chọn "Create a resource" ở góc trái trang và tìm "Web" hoặc "Mobile" để tạo ứng dụng web hoặc mobile tương ứng.
- Điền thông tin cần thiết như tên ứng dụng, tài nguyên, khu vực, phiên bản .NET Core (đối với ứng dụng web .NET), v.v.
Bước 3. Tùy chỉnh ứng dụng:
- Sau khi tạo, bạn có thể tùy chỉnh cấu hình và tính năng của ứng dụng trong Azure Portal.
- Cài đặt các môi trường phát triển, chọn kịch bản triển khai, quản lý mã nguồn, cấu hình quyền truy cập, v.v.
Bước 4. Phát triển ứng dụng:
- Sử dụng các công cụ phát triển quen thuộc như Visual Studio, Visual Studio Code, hoặc các IDE khác để xây dựng ứng dụng của bạn.
- Lựa chọn ngôn ngữ lập trình và framework phù hợp với nhu cầu của bạn (ví dụ:
.NET, Node.js, Python, PHP).
Bước 5. Triển khai ứng dụng:
- Triển khai mã nguồn của ứng dụng vào Azure App Service thông qua các phương thức như FTP, Git, Azure DevOps, hoặc triển khai liên tục (CI/CD).
- Kiểm tra và đảm bảo ứng dụng hoạt động đúng trên Azure App Service.
Bước 6. Kiểm tra và quản lý ứng dụng:
- Theo dừi và quản lý ứng dụng thụng qua Azure Portal để đảm bảo hiệu suất và khả năng mở rộng tốt.
- Kiểm tra lỗi, cập nhật và mở rộng ứng dụng theo nhu cầu.
Bằng cách sử dụng Azure App Service và quy trình trên, bạn có thể kiểm tra, phát triển và triển khai ứng dụng của mình trên nền tảng Microsoft Azure một cách hiệu quả và tiết kiệm thời gian.
2.6. Tạo các ứng dụng và dịch vụ mới
Để tạo các ứng dụng và dịch vụ mới trên Microsoft Azure, bạn cần làm các bước sau:
B1. Tạo Tài Khoản Azure:
Đầu tiên, bạn cần đăng ký tài khoản Microsoft Azure. Điều này đòi hỏi bạn cung cấp thông tin cá nhân và thông tin thanh toán.
B2. Truy cập Azure Portal:
Sau khi đăng ký và đăng nhập vào tài khoản Azure của bạn, truy cập Azure Portal.
Đây là nơi bạn quản lý và triển khai các dịch vụ và ứng dụng của mình.
B3. Tạo Máy Ảo (Azure Virtual Machines):
Bạn có thể tạo máy ảo trên Azure bằng cách chọn "Create a resource" trong Azure Portal, sau đó chọn "Compute" và "Virtual Machine". Bạn cần cung cấp thông tin về VM như hệ điều hành, kích thước, vùng địa lý, và tài liệu.
B4. Triển Khai Containers:
Nếu bạn muốn triển khai ứng dụng dưới dạng container, sử dụng dịch vụ như Azure Kubernetes Service (AKS) hoặc Azure Container Instances (ACI) để quản lý và chạy các container.
B5. Sử Dụng Azure App Services:
Azure App Services là một dịch vụ cho phép bạn xây dựng, triển khai và quản lý ứng dụng web và di động nhanh chóng và dễ dàng.
B6. Tạo Hệ Thống Quản Lý Dự Án (Azure DevOps):
Tận dụng Azure DevOps để quản lý quy trình phát triển ứng dụng và dịch vụ của bạn, từ quản lý mã nguồn đến xây dựng tự động và triển khai.
B7. Sử Dụng Azure Functions:
Azure Functions là dịch vụ Serverless Computing cho phép bạn chạy mã nguồn khi có sự kiện xảy ra hoặc lời gọi HTTP.
B8. Tối Ưu Hiệu Suất và Quản Lý:
Sử dụng Azure Monitor và Azure Application Insights để giám sát hiệu suất ứng dụng và hệ thống của bạn và tối ưu chúng theo thời gian.
B9. Triển Khai Ứng Dụng Trên Dịch Vụ Đám Mây (PaaS):
Cân nhắc triển khai ứng dụng trên các dịch vụ PaaS như Azure SQL Database, Azure Cosmos DB, Azure Functions, Azure App Services, etc. để giảm bớt việc quản lý cơ sở dữ liệu và hệ thống.
B10. Bảo Mật và Quản Lý Truy Cập:
Đảm bảo rằng bạn đã cấu hình bảo mật đúng cách, quản lý quyền truy cập và tuân thủ các tiêu chuẩn bảo mật của Azure.
Bằng cách tận dụng các dịch vụ và công cụ mạnh mẽ của Azure, bạn có thể tạo và triển khai ứng dụng và dịch vụ mới một cách hiệu quả và linh hoạt trên nền tảng đám mây của Microsoft Azure
2.7. Chạy phân tích dữ liệu
Phân tích dữ liệu (Data Analysis) là quá trình xem xét, lọc thông tin và tìm hiểu dữ liệu để rút ra thông tin quan trọng và đưa ra quyết định thông minh. Nó giúp biến dữ liệu thành thông tin có ích để hỗ trợ quyết định kinh doanh, phát triển sản phẩm, tối ưu hóa hoạt động, và nắm bắt các cơ hội mới.
Chạy phân tích dữ liệu trong môi trường Microsoft Azure có nhiều ưu điểm:
⮞ Quy mô linh hoạt: Azure cung cấp linh hoạt về quy mô cho phép xử lý và phân tích dữ liệu từ các nguồn khác nhau, từ dữ liệu nhỏ đến dữ liệu lớn quy mô công nghiệp.
⮞ Hiệu suất: Các dịch vụ phân tích dữ liệu trên Azure được tối ưu hóa để cung cấp hiệu suất cao, đảm bảo xử lý dữ liệu một cách nhanh chóng và hiệu quả.
⮞ Tính khả dụng và độ tin cậy: Microsoft Azure cung cấp môi trường ổn định, đáng tin cậy, với khả năng mở rộng linh hoạt để đáp ứng các yêu cầu của ứng dụng phân tích dữ liệu.
⮞ Tích hợp tốt: Azure tích hợp tốt với nhiều công cụ và nền tảng phổ biến, cho phép kết nối dễ dàng với các nguồn dữ liệu khác nhau và các công cụ phân tích.
⮞ Bảo mật và tuân thủ quy định: Azure đáp ứng các tiêu chuẩn bảo mật và tuân thủ quy định, bảo vệ dữ liệu của bạn khi phân tích và xử lý.
Phân tích dữ liệu cho phép phân loại thông tin, tức là sắp xếp, nhóm và tóm tắt dữ liệu thành cỏc danh mục hoặc nhúm dựa trờn cỏc đặc điểm chung. Điều này giỳp hiểu rừ hơn về dữ liệu, phát hiện mô hình và xu hướng, và đưa ra dự đoán hoặc quyết định.
Tuy nhiên, cũng có nhược điểm khi chạy phân tích dữ liệu trong môi trường Microsoft Azure:
⮞ Chi phí: Sử dụng các dịch vụ phân tích dữ liệu trên Azure có thể tạo chi phí, đặc biệt khi xử lý lượng dữ liệu lớn hoặc sử dụng các dịch vụ tiên tiến.
⮞ Học tập và triển khai: Cần thời gian để nắm vững và triển khai một cách hiệu quả các công cụ và dịch vụ phức tạp trên Azure.
⮞ Yêu cầu kỹ thuật cao: Một số dự án phân tích dữ liệu yêu cầu kiến thức kỹ thuật sâu về lĩnh vực dữ liệu và các công nghệ liên quan.
⮞ Yêu cầu kết nối Internet ổn định: Để sử dụng các dịch vụ phân tích dữ liệu trên Azure, cần kết nối Internet ổn định để truy cập và làm việc với các tài nguyên đám mây
2.8. Lưu trữ dữ liệu, tạo bản sao dự phòng của nó và khôi phục nó
Microsoft Azure cung cấp nhiều dịch vụ để lưu trữ dữ liệu, tạo bản sao dự phòng và khôi phục dữ liệu. Đây là tổng quan về các dịch vụ:
❖ Lưu trữ dữ liệu trên Microsoft Azure:
➢ Azure Storage: Dịch vụ lưu trữ đám mây của Azure. Người dùng có thể sử dụng Azure Storage để lưu trữ dữ liệu không cấu trúc, dữ liệu dạng tệp, dữ liệu dự phòng, và nhiều dịch vụ lưu trữ khác.
➢ Azure SQL Database: Dịch vụ cơ sở dữ liệu quan hệ trên cloud của Azure.
Người dùng có thể lưu trữ dữ liệu SQL và sử dụng các tính năng bảo mật và sao lưu tự động.
➢ Azure Cosmos DB: Dịch vụ cơ sở dữ liệu đám mây đa mô hình, hỗ trợ lưu trữ và truy vấn dữ liệu NoSql.
➢ Azure Data Lake Storage: Dịch vụ lưu trữ dữ liệu lớn và dữ liệu không cấu trúc.
❖ Tạo bản sao dự phòng của dữ liệu:
➢ Azure Backup: Dịch vụ sao lưu đám mây của Azure. Người dùng có thể sử dụng Azure Backup để sao lưu dữ liệu từ máy chủ ảo, máy tính, ứng dụng và dịch vụ lưu trữ của Azure.
➢ Azure Site Recovery: Dịch vụ cho phép người dùng tạo bản sao dự phòng của môi trường ứng dụng và hệ thống của người dùng và khôi phục chúng sau một sự cố.
➢ Sao lưu cơ sở dữ liệu: Đối với cơ sở dữ liệu Azure SQL Database và Azure Cosmos DB, người dùng có thể sử dụng các tính năng sao lưu tích hợp để tạo bản sao dự phòng định kỳ của dữ liệu.
❖ Khôi phục dữ liệu: