12/08/2018, 17:13

Microsoft Azure Essentials

1. Giới thiệu Như các bạn đã biết, bất cứ nhà cung cấp dịch vụ cloud nào thì cũng cung cấp cả nền tảng PaaS và IaaS. Trước hết chúng ta sẽ tìm hiểu chúng là cái gì. IaaS là gì? IaaS là một mô hình trong đó sử dụng các phần cứng của doanh nghiệp như máy chủ, kho lưu trữ và các mạng cốt lỗi ...

1. Giới thiệu

Như các bạn đã biết, bất cứ nhà cung cấp dịch vụ cloud nào thì cũng cung cấp cả nền tảng PaaS và IaaS. Trước hết chúng ta sẽ tìm hiểu chúng là cái gì.

IaaS là gì?

IaaS là một mô hình trong đó sử dụng các phần cứng của doanh nghiệp như máy chủ, kho lưu trữ và các mạng cốt lỗi để phân phối như một dịch vụ. Doanh nghiệp sẽ cung cấp các dịch vụ theo yêu cầu, đồng thời trao quyền cho khách hàng trong việc cấu hình các hệ điều hành, phần mềm và cơ sở dữ liệu.

IaaS là một trong những giá trị cốt lõi của điện toán đám mây. Nếu doanh nghiệp muốn tích hợp hoàn toàn công việc của mình lên đám mây, các chức năng nhiệm vụ của phần cứng sẽ được chuyển lên đây. Sức hấp dẫn chính của việc sử dung IaaS là việc các doanh nghiệp có thể tăng giảm quy mô tùy thuộc vào nhu cầu và khả năng của mình. IaaS cũng góp phần làm giảm chi phí cho việc đầu tư vào phần cứng cũng như các chi phí phát sinh cho việc mua và sử dụng các kho lưu trữ.

PaaS là gì?

Trong khi IaaS cung cấp phần cứng bên ngoài để tạo ra một môi trường lưu trữ, PaaS cung cấp một nền tảng để phát triển các ứng dụng có thể được phân phối qua môi trường Web. Điều đó giúp cho PaaS có khả năng cho phép nhiều nhà phát triển làm việc trên mã nguồn cùng một lúc.

Trong môi trường PaaS, các nhà phát triển có thể thử nghiệm, phát triển, triển khai và ứng dụng máy chủ thông qua một dịch vụ trực tuyến. Dịch vụ trực tuyến này cho phép các nhà phát triển tập trung hơn vào việc phát triển các ứng dụng hơn là việc bảo trì phần cứng, việc vốn dĩ đã được PaaS hỗ trợ. Cả IaaS và PaaS đều giúp cho việc giảm chi phí vốn, cho phép một môi trường CNTT tập trung nhiều vào chiến lược hơn là bảo trì phần cứng.

2. Vậy những thành phần thiết yếu của Azure thì bao gồm những gì?

2.1 (PaaS) Platform as a Service

Azure Websites (Web Apps)

Web Apps là một ứng dụng web được lưu trữ trong App Service. App Service quản lý trong Azure cho phép bạn triển khai một ứng dụng web và làm nó sẵn sàng phục vụ cho khách hàng của bạn trên Internet trong một khoảng thời gian rất ngắn. Trong thực tế, bạn không có quyền truy cập vào những máy ảo cơ bản mà web app của bạn đang chạy trên đó.

  • Creating a Website (Web App)

    Có 2 cách tạo web app trên Azure: tạo trực tiếp trên azure portal và dùng với Visual Studio. Mình sẽ hướng dẫn các bạn dùng với Azure portal nhé. Các bạn mở Azure Portal => Create a resource => Web + Mobile => Web App

    Phần App Service Plan: bạn nên chọn create new và dựa vào chi phí / số lượng web app bạn mong muốn => Create

    Giờ ta có thể thấy link URL để truy cập web và FTP, FTPS để push code lên rồi

  • Websites Gallery

    Trên Marketplace Các ngôn ngữ được hỗ trợ bao gồm .NET, Java, PHP, Node.js và Python. Ngoài việc tạo ra web app của riêng bạn thì có một số ứng dụng web có sẵn chẳng hạn như WordPress, Umbraco, Joomla và Drupal.

    Ở đây mình sẽ giới thiệu qua về cách deploy wordpress trên marketplace Các bạn mở Azure Portal => search Marketplace => Wordpress

    Ở phần này thì có thêm 1 mục nữa là Database. Default là sử dụng MySQL. Các bạn Click vào Database sẽ có thêm các option:

    Các bạn có thể chọn option hợp lý với chi phí của mình.

2.2 (IaaS) Infrastructure as a Service

Azure Virtual Machines

  • Azure Virtual Machines là gì? Azure Virtual Machines là một trong những tính năng trung tâm của các tính năng IaaS của Azure, cùng với Azure Virtual Networks. Azure Virtual Machines hỗ trợ triển khai các máy ảo Windows hoặc Linux trong một trung tâm dữ liệu Microsoft Azure. Bạn có toàn quyền kiểm soát cấu hình của VM. Bạn chịu trách nhiệm cho tất cả các cài đặt, cấu hình và bảo trì phần mềm máy chủ và cho hệ điều hành vá lỗi. Với phần Billing, các bạn chú ý status của VM:

    • Running: The VM is on and running normally (billable).
    • Stopped: The VM is stopped but still deployed to a physical host (billable)
    • Stopped (Deallocated): The VM is not deployed to a physical host (not billable).
  • Các thành phần chính của Virtual machine:

    • Disk: Azure VM sử dụng VHDs đính kèm để cung cấp lưu trữ. Có hai loại VHD được sử dụng trong Azure VM:

      • Image: Một VHD là template cho việc tạo ra một máy ảo Azure mới. Là template nên nó không có các cài đặt như tên máy, người dùng quản trị ...
      • Disk: Một VHD khả năng khởi động có thể được sử dụng như một đĩa gắn kết cho một máy ảo. Có hai loại disk: OS disk và data disk. Tất cả các ổ đĩa đều được gửi lên blob trong Azure Storage vậy nên nó sẽ được thừa hưởng những tính năng của blob storage như: high availability, durability, and geo-redundancy. Nền tảng Azure sẽ giữ một hợp đồng vô hạn trên trang blob để ngăn việc xóa tình cờ của trang blob có chứa VHD, storage, hoặc tài khoản lưu trữ.
    • Virtual Network (VNET): sẽ nói ở phần sau

    • Network interface card (NIC): cung cấp khả năng truy cập mạng tới các tài nguyên trong một mạng ảo Azure. Một NIC là một tài nguyên độc lập, nhưng nó phải được kết hợp với một máy ảo để cung cấp truy cập mạng. Số lượng NIC tối đa gắn với máy ảo phụ thuộc vào kích thước của VM được chọn.

    • Availability set: Máy ảo Azure nằm trên các máy chủ vật lý được lưu trữ trong các trung tâm dữ liệu Azure của Microsoft. Nếu máy chủ vật lý lỗi, Các máy ảo Azure lưu trữ trên máy chủ đó sẽ bị lỗi theo. Nếu lỗi xảy ra, nền tảng Azure sẽ di chuyển VM đến một máy chủ lưu trữ lành mạnh trên đó để khôi phục lại VM. Quá trình phục hồi dịch vụ này có thể diễn ra trong vài phút. Trong thời gian đó, (các) ứng dụng lưu trữ trên máy ảo đó sẽ không có sẵn. Bên cạnh sự cố phần cứng, máy ảo có thể bị ảnh hưởng bởi các bản cập nhật định kỳ do Azure nền tảng của chính nó. Microsoft sẽ định kỳ nâng cấp hệ điều hành máy chủ lưu trữ trên các máy ảo khách đang chạy (bạn vẫn phải chịu trách nhiệm cho vá lỗi hệ điều hành của VM khách mà bạn tạo nên). Trong những cập nhật này, máy ảo sẽ được khởi động lại và do đó tạm thời không khả dụng. Để tránh việc đấy, bạn nên triển khai ít nhất hai trường hợp của VM. Trong thực tế, Azure cung cấp một SLA chỉ khi hai hoặc nhiều máy ảo được triển khai vào một bộ sẵn có. Đây là một tính năng logical cho phép nhóm các VM. Khi nâng cấp hệ thống trong trung tâm dữ liệu, Azure sẽ nâng cấp từng phần chứ không nâng cấp tất cả cùng 1 lúc. Số lượng fault domains và update domains khác nhau tùy thuộc vào mô hình triển khai- Resource Manager hoặc Classic. Trong mô hình Resource Manager, bạn có thể có tối đa 3 fault domains và 20 update domains. Với mô hình classic, bạn có thể có 2 fault domains và 5 update domains.

Azure Storage

Microsoft Azure Storage là dịch vụ do Microsoft quản lý cung cấp tính năng khả năng mở rộng, và dự phòng lưu trữ. Microsoft sẽ chăm sóc, bảo trì và xử lý các vấn đề quan trọng đối với bạn. 1 Azure subscription có thể có tới 100 tài khoản lưu trữ, mỗi tài khoản có thể chứa 500 TB.

  • Blob Storage: Dịch vụ Azure Blob cung cấp cho bạn khả năng lưu trữ tệp và truy cập chúng từ mọi nơi trên thế giới bằng cách sử dụng các URL, giao diện REST, hoặc một trong các thư viện lưu trữ Azure SDK. Có sẵn cho nhiều ngôn ngữ, bao gồm .NET, Node.js, Java, PHP, Ruby và Python. Khi sử dụng dịch vụ Blob, bạn phải tạo một tài khoản lưu trữ (storage account). Một khi bạn có một tài khoản lưu trữ, bạn có thể tạo ra các container, tương tự như các thư mục, và sau đó đặt blobs trong các thùng chứa. Bạn có thể có số lượng container không giới hạn trong tài khoản lưu trữ và số lượng không giới hạn các blobs trong mỗi container, tối đa kích thước của một tài khoản lưu trữ, là 500 TB.
  • Table Storage: Lưu trữ bảng Azure là một kho lưu trữ số liệu NoSQL có thể mở rộng cho phép bạn lưu trữ khối lượng lớn các cấu trúc bán tự động, dữ liệu không liên quan. Mỗi bảng có một chỉ mục nhóm có thể được sử dụng để truy vấn dữ liệu một cách nhanh chóng. Bạn cũng có thể truy cập dữ liệu bằng cách sử dụng truy vấn LINQ và Odata với WCF Data Service .NET.
  • Queues Storage: Dịch vụ Queue Azure được sử dụng để lưu trữ và truy xuất tin nhắn. Thông báo hàng đợi có thể lên tới 64 KB kích thước và hàng đợi có thể chứa hàng triệu tin nhắn phụ thuộc kích thước tối đa của một tài khoản lưu trữ. Các hàng đợi thường được sử dụng để tạo ra một danh sách các message cần được xử lý không đồng bộ. Queue service hỗ trợ tốt nhất theo FIFO.
  • File Storage: Dịch vụ Azure Files cho phép bạn thiết lập các chia sẻ tệp tin có sẵn trên mạng có thể được truy cập bằng cách sử dụng giao thức Server Message Block chuẩn (SMB). Điều này có nghĩa là nhiều máy ảo có thể chia sẻ các tập tin cùng với cả hai đọc và viết truy cập. Các tập tin cũng có thể được truy cập bằng cách sử dụng giao diện REST.

Azure Virtual Networks

  • Virtual Networks bao gồm các thành phần
    • Subnet: Một subnet là một loạt các địa chỉ IP trong một mạng ảo. VM phải được đặt trong một subnet trong VNET. Các máy ảo được đặt trong một mạng con của một VNET có thể tự do liên lạc với các máy ảo trong một mạng con khác của cùng một mạng ảo. Tuy nhiên, bạn có thể sử dụng các nhóm bảo mật mạng (NSGs) và các route do người sử dụng xác định để kiểm soát việc truy cập
    • IP address: bao gồm IP public và IP private. Một IP public được sử dụng để kết nối trực tiếp từ internet tới VM. Ngược lại, IP private thì sẽ không thể giao tiếp với internet mà dùng để giao tiếp giữa các VM và load balancer trong cùng VNET.
    • Load balancer: gồm 2 loại. External load balancer: giao tiếp với internet, đảm bảo tính sẵn sàng cao. Internal load balancer: giao tiếp nội bộ giữa các VM trong cùng VNET.
    • Network security group: cho phép bạn tạo các rule để control inbound và outbound traffic tới card mạng của 1 VM hoặc 1 subnet.

Azure Databases

Azure SQL Database cung cấp relational database như là một dịch vụ, nhắm vào giao dịch xử lý trực tuyến (OLTP, nghĩa là, nhập dữ liệu và các giao dịch thu hồi). Điều này giảm mạnh trong nền tảng như là một loại dịch vụ (PaaS) của điện toán đám mây. Sử dụng Cơ sở dữ liệu SQL cho phép bạn loại bỏ các trách nhiệm quản lý vật lý của một máy chủ cơ sở dữ liệu nhưng vẫn giữ được sự quản lý và quyền admin. Cơ sở dữ liệu SQL cung cấp nhiều tính năng như elastic scale, dự đoán được hiệu suất , kinh doanh liên tục, bảo trì gần như bằng không và sử dụng ngôn ngữ phát triển quen thuộc. Điều quan trọng làvới cơ sở dữ liệu SQL bạn cần một máy chủ vật lý mà bạn có thể quản lý. Bởi vì cơ sở dữ liệu SQL là một cơ sở dữ liệu như là một dịch vụ, việc phần cứng bên dưới nằm ngoài sự kiểm soát của bạn. Vẫn còn các dịch vụ khi làm việc với Cơ sở dữ liệu SQL, nhưng đây không phải là giống như các máy chủ Microsoft SQL mà bạn có thể được sử dụng để làm việc với tại chỗ. SQL Database có sẵn trong hai mô hình khác nhau nhưng tương tự: elastic database pools và single database. Elastic database pools cho phép bạn quản lý nhiều cơ sở dữ liệu trong một pool, scale up and down khi nhu cầu thay đổi trong khi duy trì ngân sách dự đoán. Một trong những tính năng chính của Elastic database pools là khả năng chia sẻ hiệu suất qua nhiều cơ sở dữ liệu trong pool. Ngoài ra, nếu bạn chỉ có một số ít các cơ sở dữ liệu, mô hình single database có thể thích hợp hơn. Cả hai mô hình đều cho phép bạn điều chỉnh hiệu suất khi cần thiết mà không cần thời gian ngừng hoạt động và cung cấp một thỏa thuận mức dịch vụ 99,99% (SLA).

Ngoài Azure SQL Database, Azure còn đang phát triển Azure database for MySQL và Azure Database for PostgreSQL. Lưu ý với các bạn là 2 thành phần này hiện tại (3/2018) vẫn đang ở trong phiên bản thử nghiệm (Preview) nên các bạn có thể trải nghiệm cho việc test chứ không nên dùng cho Production nhé.

Azure Active Directory

Azure AD là một dịch vụ thư mục đa dịch vụ mạnh mẽ, an toàn, cung cấp khả năng quản lý truy cập và nhận dạng trong đám mây. Trên thực tế, Azure AD là thư mục lưu trữ cho nhiều dịch vụ đám mây cao cấp của Microsoft, chẳng hạn như Microsoft Office 365, Microsoft Dynamics CRM Online, Windows Intune và tất nhiên là Microsoft Azure. Giống như Windows Server Active Directory cung cấp tính năng nhận dạng và quản lý truy cập cho các giải pháp tại chỗ, Azure AD làm như vậy như là một dịch vụ có sẵn trong Azure. Tuy nhiên, thay vì bạn có trách nhiệm cung cấp và cấu hình nhiều máy chủ cần thiết cho Active Directory tại chỗ, Microsoft chịu trách nhiệm quản lý toàn bộ cơ sở hạ tầng Azure AD (tính sẵn sàng cao, khả năng mở rộng, khôi phục thảm họa vv). Là người dùng dịch vụ Azure AD (directory as a service), bạn quyết định người dùng và thông tin nào của họ nên nằm trong thư mục, ai có thể sử dụng thông tin và những ứng dụng nào có quyền truy cập thông tin.

Azure AD không được coi là một thay thế hoàn toàn cho Windows Server Active Directory. Thay vào đó, Azure AD là một dịch vụ bổ sung. Nếu bạn đã có Active Directory tại chỗ, người dùng và nhóm có thể được đồng bộ với thư mục Azure AD của bạn bằng cách sử dụng kết nối Azure AD.

Azure AD có thể được liên kết với Active Directory tại chỗ để hỗ trợ đăng nhập một lần (SSO). Đây có thể là một SSO thực sự bằng cách sử dụng Dịch vụ Liên kết với Active Directory (AD FS) để liên kết các kết quả nhận dạng với Azure AD hoặc đăng nhập chia sẻ, trong đó Azure AD Connect được sử dụng để đồng bộ hóa một mật khẩu giữa Active Directory và Azure AD. Share sign-on sẽ làm đơn giản hơn việc cấu hình và giảm thiểu tối đa việc delay trong đồng bộ hóa các thay đổi mật khẩu (đồng bộ thường là hoàn thành trong vài phút).

Bằng cách bật SSO với Azure AD, các tổ chức có thể cung cấp một cách dễ dàng cho nhân viên (hoặc người dùng khác) để truy cập vào một loạt các phần mềm như là một dịch vụ (SaaS) ứng dụng như Office365, Salesforce.com, Dropbox và nhiều thứ khác.

Điều quan trọng cần lưu ý là Azure AD không chỉ dành cho các giải pháp lưu trữ trên đám mây hoặc Azure. Azure AD có thể là được sử dụng bởi cả hai đám mây (tổ chức tại Azure hoặc ở nơi khác) và các giải pháp tại chỗ. Thay vì sử dụng công nghệ như Kerberos hoặc Lightweight Directory Access Protocol (LDAP) để truy cập Active Directory (như bạn thực hiện tại chỗ), Azure AD có thể truy cập thông qua REST API hiện đại. Điều này cho phép một loạt các ứng dụng tại chỗ, điện toán đám mây, v.v ... để truy cập vào thông tin phong phú có sẵn trong Azure AD directory. Đối với các nhà phát triển, điều này mở ra một cơ hội lớn mà trước đây hoặc là không thể hoặc là khó đạt được. Bằng cách tận dụng Azure AD và REST API, các nhà phát triển có thể dễ dàng thiết lập SSO cho các ứng dụng đám mây và truy vấn và viết (tạo, cập nhật, xóa) đối với dữ liệu directory.

Azure AD đóng vai trò quan trọng trong quản lý nhận dạng trong đám mây của Microsoft. Azure AD bao gồm một loạt các tính năng, chẳng hạn như Multi-Factor Authentication, đăng ký thiết bị, RoleBased Kiểm soát truy cập (RBAC), giám sát việc sử dụng ứng dụng, giám sát và cảnh báo an ninh, tự quản lý mật khẩu, và nhiều hơn nữa. Tất cả các tính năng này được thiết kế để giúp các tổ chức cung cấp bảo mật cho các ứng dụng dựa trên đám mây, bao gồm đáp ứng yêu cầu tuân thủ mục tiêu, một cách hiệu quả và hiệu quả về chi phí

  • Azure Directory Edition:
    • Free: Cung cấp khả năng quản lý người dùng, đồng bộ hóa với Active Directory local, thiết lập SSO trên Azure và Office 365, và truy cập các ứng dụng SaaS trong Azure AD.
    • Basic: Cung cấp tất cả các tính năng của Free tier, cộng với self-service password reset, truy cập ứng dụng dựa trên nhóm, customizable branding, Azure AD Application Proxy, và 99,9 phần trăm thỏa thuận mức dịch vụ có sẵn (SLA).
    • Premium: cung cấp tất cả các tính năng của các lớp Miễn phí và Cơ bản, self-service group management, phần báo cáo và cảnh báo bảo mật nâng cao, Multi-Factor Authentication, và giấy phép cho Microsoft Identity Manager.
0