In-depth windows azure Operating System
1. go deep into the azure operating system kernel FC
2. Azure Service Model)
3. Fault domain and upgrade domain
4. Initial principles of SERVER CLUSTERS
5. go deep into the VM
1. go deep into the azure operating system kernel FC
Azure fabric is composed of a large number of servers, but on-cloud developers do not need to care about your applications.ProgramWhich server is running, and the hardware configuration on the server. The Azure operating system shields these complex details, so this part is similar to the regular operating system's kernel.
1.1 FC and state machine
In internal implementation, FC sets a state machine for each deployed service and sets a target for this state machine. The rest of the work that FC does is to "try its best" to reach the end state of this state machine. This may include operations such as server recovery and server restart.
1.2 The Driver Model
The Azure operating system uses the "Driver Model ". FC interacts with a series of assets through the driver. Asset is responsible for interacting with specific machine, router, switch, and Load balancer. FC sends commands to the driver, and then the driver controls the actual device.
1.3 Resource Management
The FC task not only tries its best to send each deploy service to the midpoint of the status, but also manages runtime resources.
1.4 instance Management
FC is responsible for managing the "running status" of each node in fabric and then taking corresponding actions. For example, restart or repair.
2. Azure Service Model)
The Azure service model in vs is mainly embodied in the following two files:
The file serviceconfiguration. cscfg is the service definition file, which mainly defines roles and communication endpoint. The runtime cannot be modified. Servicedefinition. csdef is mainly used to configure the role instance. This file can be modified at runtime.
3. Fault domain and upgrade domain
Fault domain provides a replacement mechanism. Azure distributes your services to several physical structures. If one of them fails, the rest can be used immediately to prevent service paralysis. Upgrade domain is mainly used for app updates and upgrades without service interruption. The number of upgrade domains that can be modified in the configuration file.
<Servicedefinition name = "windowsazureproject1" <br/> xmlns = "http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" <br/> upgradedomaincount = "3">
4. Initial principles of SERVER CLUSTERS
I believe that only members of Microsoft Azure team know the true principle of server cluster initialization, but we can still see from the public documents how the personal application instance runs.
Each instance is actually running on Windows Server 2008 Enterprise Edition on x64. When a new server is ready to be added to the server cluster, when the new server is started, search for maintenance OS in the network using PXE protocol, and then download the image, boot from the image.
Maintenance OS is associated with FC and acts as an agent. FC sends a command to the agent, which is stored in Windows Server 2008 core image vhd, then the newly downloaded image becomes the Host OS to manage the newly added server.
Then, the vhd image server is restarted and the maintenance OS is removed. Then FC starts to control the server.
Assume that one of our applications needs to be deployed on this server. First, this server downloads the application to run.Code(In binary format), the server sends the current health status to the FC. If everything is normal, the FC starts to perform a series of configurations. After these processes are completed, the server begins to accept external requests.
Of course, one VM may run on each server. The second or later VM may use the same OS image as the first Vm or download it separately. Then, download the application vhd and start it, start to accept external requests.
This series of blogs are all personal insights when learning the Windows azure platform, which inevitably has shortcomings. please correct me and leave a message to give your valuable comments.