[ Cloud Computing | Azure ] Chapter 06 | Virtual Machines of Computing Services, Virtual Machine Scale Sets, Azure Containers, Azure Apps and Azure Functions

insert image description here

List of updated articles in this series (updated):

foreword

First of all, you need to know clearly that some common Azure computing services, such as:

  • Azure Virtual Machines (Azure VM), Azure Virtual Machines
  • Azure Virtual Machine Scale Sets (VMSS), Azure's virtual machine scale set
  • Azure Container Instances (ACI), Azure's container service
  • Azure Kubernetes Service (AKS), Azure's container orchestration service
  • Azure App Services, App Services for Azure
  • Azure Functions, Azure's function service, is also a Serverless service

This article will explain these common computing services.

1. Azure Virtual Machine (VM)

1.1 Introduction to Virtualization

Before introducing Azure VM, let's briefly introduce virtualization technologies in general. Assuming you have a physical server, the first step is to install the operating system and configure some system components such as file system, services, ports, and other settings. If you want to run multiple applications on this physical machine, you need to install those applications on the same operating system. However, in this case these applications will share the same file system, service, port or other configuration, which may conflict. Therefore, virtualization technology emerges at the historic moment, which can avoid the occurrence of these problems.

When using virtualization technology, you need to install an operating system and virtualization software on a physical machine. Virtualization software allows you to create virtual machines that are like simulated physical machines, each requiring its own operating system. On the operating system of each virtual machine, you can host applications independently, and the operations that these applications do on the system will not affect the applications in other virtual machines, because they are all running in separate virtual environments. This provides complete isolation, allowing you to virtualize multiple physical machines on a single physical machine, each with its own virtual hardware configuration and operating system.

So, virtualization is just simulating multiple physical machines on a physical machine, enabling you to create different virtual hardware configurations and application settings for each virtual machine, and install a different operating system for each virtual machine. Now let's move on to discussing Azure VMs further.

insert image description here

1.1.1 Key Features of Virtualization Technology

Here is a summary of the key features of several virtualization technologies (knock on the blackboard):

  • It is a simulation technique of a physical machine
  • Can have different virtual hardware configurations
  • can have different operating systems
  • Environments are completely separated
    • File system
    • Serve
    • port
    • middleware
    • configuration, etc.

For more information on virtualization, please refer to the previous blog post: [Cloud Native | Container] Overview of Containers and Docker in Virtualization Technology

1.2 Virtual Machines in Azure (Azure VM)

Azure Virtual Machine (VM) is a cloud-based computing resource that allows users to use virtualization technology to create and manage virtual machines in the cloud without caring about the underlying operating system and hardware. Users only need to select the required virtual machine configuration, such as CPU, memory, storage, and network, etc., and then install their own applications and operating systems in the virtual machine to easily run their own workloads. Azure VM provides pre-configured images of multiple operating systems and applications. Users can choose the most suitable image to create a virtual machine according to their needs, which greatly simplifies the management and deployment of virtual machines. Therefore, Azure VM greatly improves user productivity and reduces management and maintenance costs.

In Azure VM, Microsoft will prepare virtual machine images (Images), such as OS images of Ubuntu, Windows, Oracle, etc. Of course, you can also choose your own images, and then create VMs.

The topology diagram of the service is as follows:

insert image description here

1.2.1 Knowledge points of key features of Azure VM

Let's summarize the key knowledge points of Azure VM (virtual machine) ( knocking on the blackboard is important, the exam will be tested )

  • Azure VM (Virtual Machine) belongs to IaaS (Infrastructure as a Service) level service model
  • An Azure VM (virtual machine) is a software simulation of a physical computer.
  • They include virtual processors, memory, storage, and network resources.
  • They host an operating system (OS) that you can install and run software like a physical computer.
  • You can connect to the VM and control it with a remote desktop client.
  • When to choose Azure VM, when you have the following requirements:
    • Full control over the operating system
    • Requires the ability to run custom software
    • Use a custom host configuration
  • Azure takes care of the physical hardware
    • You are responsible for configuring, updating and maintaining the software running on the VM.
  • An image is a template for creating a virtual machine.
    • Includes operating systems and other software, such as development tools or web hosting environments.

2. Azure Virtual Machine Scale Set (VMSS)

2.1 Understanding Azure Virtual Machine Scale Sets

Azure Virtual Machine Scale Sets (Virtual Machine Scale Sets) is an Azure service that allows users to quickly create and manage large-scale virtual machine clusters. Virtual machine scale sets provide a convenient way for users to easily expand the number of virtual machines to meet the high availability and performance requirements of applications.

A virtual machine scale set is based on a virtual machine template. Users can configure a virtual machine template according to their needs, and then use the template to create multiple virtual machine instances. The virtual machine scale set also provides an automatic scaling function, which can automatically adjust the number of virtual machines according to the actual workload conditions, thereby avoiding resource waste and performance bottlenecks.

The topology diagram of the service is as follows:

insert image description here

2.2 Knowledge points of key features of Azure virtual machine scale set

The following summarizes the key knowledge points of the virtual machine scale set ( knocking on the blackboard is important, the exam will be tested )

  1. Allows you to create and manage a group of identical, load-balanced virtual machines.
  2. Centrally manage, configure and update a large number of virtual machines to provide highly available applications.
  3. The number of virtual machine instances can be automatically increased or decreased based on demand or a defined schedule.
  4. Help you build large-scale services for computing, big data, and container workloads.
  5. Provides high availability with regional or multiple Availability Zone deployment options.

3. Azure Container Instance (ACI)

3.1 Introduction to containers

A container is a virtualization technology that allows users to package applications and all their dependencies into an independent operating environment, thereby enabling rapid deployment and porting of applications on different platforms and environments. Containers package an application and all its dependencies into a single package and provide an isolated runtime environment in which the application can run without being affected by the underlying operating system and hardware.

Unlike traditional virtual machines, containers do not require full operating system support because they share the operating system kernel. This makes containers more lightweight and efficient, allowing them to be started and stopped much faster. In addition, containers provide a standardized deployment method so that applications can run more stably and reliably in different environments.

Container technology has become an important technology in the field of development and operation and maintenance. By using containers, developers can build, test, and deploy applications more quickly, and operation and maintenance personnel can manage and maintain the running environment of applications more easily, thereby improving the reliability, scalability and flexibility of applications.

For more information about the comparison between virtual machines and containers, please refer to my previous blog post: [Cloud Native | Containers] Overview of Containers and Docker in Virtualization Technology

The topology diagram of the service is as follows:

insert image description here

3.2 Understanding Azure Container Instances

Azure Container Instances (ACI) is a container-oriented computing service provided by Azure that allows users to easily run Docker containers in the cloud without having to manage underlying infrastructure such as virtual machines or container orchestration engines. ACI provides a fast, lightweight, and simple way to run containers. Users only need to upload their own Docker images to ACI to quickly create and start container instances.

ACI supports a variety of container images, including Windows and Linux, and users can choose different container images to run applications and workloads according to their needs. ACI also provides highly customizable container instance options, such as CPU, memory, storage, and network, to meet different needs. In addition, ACI also supports automatic scaling, which can automatically adjust the number of container instances according to actual workload conditions, thus avoiding resource waste and performance bottlenecks.

The topology diagram of the service is as follows:

insert image description here

3.3 Key Features of Azure Container Instances

The following summarizes the key knowledge points of Azure container instances ( knocking on the blackboard is important, the exam will be tested )

  • ACI is a PaaS service
  • ACI is a serverless computing service.
  • ACI does not require provisioning of virtual machines or any other additional services.
  • ACI simply uploads the container + runs autoscaling

四、Azure Kubernetes Service (AKS)

4.1 Introduction to AKS

Azure Kubernetes Service (AKS) is a service provided by Microsoft Azure to manage Kubernetes containerized applications. It can deploy and manage Kubernetes clusters on Azure, and use Azure security management, monitoring and tracking services. It provides a fast, reliable way to deploy and manage Kubernetes containerized applications, allowing developers to focus on applications rather than managing infrastructure.

Simply put, it is a K8S-like service provided by Microsoft.

The topology diagram of AKS service is as follows:
insert image description here

4.2 AKS key feature knowledge points

  • AKS is a PaaS service.
  • AKS can combine container management automation with API
  • AKS is a cloud-native means and can run on different clouds
  • Pod management for AKS:
    • Manage pod storage locations
    • 1 pod = 1 or more containers on a node
    • If a node is removed = Kubernetes moves the affected workload to a different node.
    • If a pod crashes = Kubernetes creates new instances Pods can be scaled manually or automatically (horizontally)
  • AKS is a decentralized deployment that minimizes downtime and can be rolled back if there is a problem with an update
  • AKS can manage storage:
    • A persistent volume represents data storage to one or more containers
    • Data can be persisted to multiple pod instances
    • Cloud-based storage and data systems such as Azure Storage + Cosmos DB can be leveraged.
  • AKS can manage the network:
    • Possibility to expose containers to the internet
    • Can balance traffic across multiple container replicas
    • Can do network isolation
    • Policy-Based Network Security
    • Manage communication and name resolution between pods
  • AKS can be extended with additional functionality, such as cloud events on container creation, custom container scheduling logic, and on-demand access to managed cloud services.

5. Azure App Service

5.1 Introduction to Azure App Service

Azure App Service is a cloud service designed for building and deploying cloud applications. It allows developers to quickly develop web applications, mobile backends, and APIs in any language and framework. Applications can be deployed to Azure, and the global infrastructure can be used to manage and scale applications. Azure App Service also provides security, load balancing, and autoscaling features designed to help developers get applications to production faster.

The topology diagram of Azure App Service is as follows:

insert image description here

5.2 Knowledge points of key features of Azure App Service

  • Azure App Service is a PaaS service.
  • Azure App Service is an HTTP-based service.
  • Enables you to build and host many types of web-based solutions without having to manage infrastructure.
  • Web applications, mobile backends, and RESTful APIs can be hosted in a variety of supported programming languages.
  • Supports different frameworks like .NET, .NET Core, Java, Ruby, Node.js, PHP, Python, etc.
  • Can be extended in Windows and Linux based environments.

六、Azure Functions (Function Apps)

Azure Functions (Function Apps) is an event-driven computing service that allows users to easily deploy code to the cloud to execute automatically when specific events are received. It is server-side code that can be automatically triggered when an event occurs and perform related tasks. Azure Functions (Function Apps) supports multiple programming languages, such as C#, JavaScript, Python, PHP, PowerShell, Bash, etc., which can help developers quickly implement functions.

The topology diagram of the Azure Functions service is as follows:

insert image description here

Summary of knowledge points of Azure Function:

Azure Functions can execute code in almost any modern language. Typically used when work needs to be performed in response to an event. Can be stateless (the default) behave like a restart every time an event is responded to; stateful (called Durable Functions) have a context that keeps track of previous activity.

Summarize

I have made a summary table below for your understanding:

Serve service level summary
virtual machine VM IaaS Customizable software, custom requirements, high specialization, high degree of control
Virtual Machine Scale Set VMSS IaaS Automatically scale workloads for virtual machines
Azure Containers (ACI) PaaS Simple container hosting with easy launch tube management
Azure Kubernetes Service (AKS) PaaS Highly scalable and customizable container hosting platform
Azure App Service PaaS Web application service, providing web hosting function for enterprises, easy to use
Azure Functions PaaS It is a serverless service with a consumption-based pricing model
[ 本文作者 ]   bluetata
[ 原文链接 ]   https://bluetata.blog.csdn.net/article/details/130541151
[ 最后更新 ]   05/08/2023 1:16
[ 版权声明 ]   如果您在非 CSDN 网站内看到这一行,
说明网络爬虫可能在本人还没有发布完成的时候就抓走了我的文章,可能导致内容不完整,请去上述的原文链接查看原文。

Guess you like

Origin blog.csdn.net/dietime1943/article/details/130541151