# US 2020/0401457 A1 · Deploying microservices into virtualized computing systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401457 A1
- Document ID: US20200401457A1
- Status: Published application
- Kind: A1
- Application number: 16/528,491
- Filed: 2019-07-31
- Published: 2020-12-24
- Earliest claimed: 2019-06-18
- Assignees: Nutanix, Inc.
- Applicants: Nutanix, Inc.
- Inventors: Pravin SINGHAL; Anand JAYARAMAN; Aroosh SOHI
- Web page: https://patentgrep.com/patent/US20200401457A1

## CPC

- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 3/0647: {Migration mechanisms}
- G06F 8/60: Software deployment
- G06F 9/5033: {considering data affinity}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2209/5011: Pool
- G06F 2209/503: Resource availability
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems and computer program products for configuring microservices platforms in one or more computing clusters. In one of the computing clusters, a request to instantiate a microservice platform is received, wherein the request is received in a computing cluster having a first node and a second node, and wherein the first node and second node comprise a first virtualized storage controller and a second virtualized storage controller, respectively. The storage controllers each manage their respective storage pools comprising local storage devices. A first microservice manager is deployed on the first node and a second microservice manager is deployed on the second node. The first virtualized storage controller on the first node performs storage management operations for a first microservice instantiated by the first microservice manager, and the second virtualized storage controller on the second node performs storage management operations for a second microservice instantiated by the second microservice manager.

## Claims

### Claim 1

A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by one or more processors causes the one or more processors to perform a set of acts, the set of acts comprising:
receiving a request to instantiate a microservice platform, wherein the request is received at a computing system having a first node and a second node, the first node and second node comprising a first virtualized storage controller and a second virtualized storage controller, respectively, that manages a storage pool comprising a first storage device local to the first node and a second storage device local to the second node; and
transmitting a first instruction to the first node to deploy a first microservice manager and transmitting a second instruction to the second node to deploy a second microservice manager, the first virtualized storage controller on the first node performing storage management for a first microservice instantiated by the first microservice manager, and the second virtualized storage controller on the second node performing storage management for a second microservice instantiated by the second microservice manager.

### Claim 2 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein first data operated upon by the first microservice is stored in the first storage device local to the first node and second data operated upon by the second microservice is stored in the second storage device local to the second node.

### Claim 3 (depends on 2)

The non-transitory computer readable medium of claim 2, wherein a data locality rule is enforced by a virtualized storage controller to locally store data in a node that hosts a microservice.

### Claim 4 (depends on 2)

The non-transitory computer readable medium of claim 2, wherein a service locality rule is enforced by a virtualized storage controller to instantiate a microservice at a specific node that is locally storing data used by the microservice in a storage device local to the specific node.

### Claim 5 (depends on 1)

The non-transitory computer readable medium of claim 1, further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of, migrating the first microservice to the second node, wherein the second virtualized storage controller on the second node performs storage management for the first microservice after migration.

### Claim 6 (depends on 1)

The non-transitory computer readable medium of claim 1, further comprising instructions which, when stored in memory and executed by the one or more processors causes the one or more processors to perform acts of presenting the first microservice and the second microservice as network addresses that resolve to the first node and the second node, respectively.

### Claim 7 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein a node from the computing system is added or removed from the microservice platform.

### Claim 8 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein a computing cluster is added or removed from the microservice platform.

### Claim 9

A method, comprising:
receiving a request to instantiate a microservice platform, wherein the request is received at a computing system having a first node and a second node, the first node and second node comprising a first virtualized storage controller and a second virtualized storage controller, respectively, that manages a storage pool comprising a first storage device local to the first node and a second storage device local to the second node; and
transmitting a first instruction to the first node to deploy a first microservice manager and transmitting a second instruction to the second node to deploy a second microservice manager, the first virtualized storage controller on the first node performing storage management for a first microservice instantiated by the first microservice manager, and the second virtualized storage controller on the second node performing storage management for a second microservice instantiated by the second microservice manager.

### Claim 10 (depends on 9)

The method of claim 9, wherein first data operated upon by the first microservice is stored in the first storage device local to the first node and second data operated upon by the second microservice is stored in the second storage device local to the second node.

### Claim 11 (depends on 10)

The method of claim 10, wherein a data locality rule is enforced by a virtualized storage controller to locally store data in a node that hosts a microservice.

### Claim 12 (depends on 10)

The method of claim 10, wherein a service locality rule is enforced by a virtualized storage controller to instantiate a microservice at a specific node that is locally storing data used by the microservice in a storage device local to the specific node.

### Claim 13 (depends on 9)

The method of claim 9, further comprising migrating the first microservice to the second node, wherein the second virtualized storage controller on the second node performs storage management for the first microservice after migration.

### Claim 14 (depends on 9)

The method of claim 9, further comprising presenting the first microservice and the second microservice as network addresses that resolve to the first node and the second node, respectively.

### Claim 15 (depends on 9)

The method of claim 9, wherein a node from the computing system is added or removed from the microservice platform.

### Claim 16 (depends on 9)

The method of claim 9, wherein a computing cluster is added or removed from the microservice platform.

### Claim 17

A system, comprising:
a storage medium having stored thereon a sequence of instructions; and one or more processors that execute the instructions to cause the one or more processors to perform a set of acts, the set of acts comprising,
receiving a request to instantiate a microservice platform, wherein the request is received at a computing system having a first node and a second node, the first node and second node comprising a first virtualized storage controller and a second virtualized storage controller, respectively, that manages a storage pool comprising a first storage device local to the first node and a second storage device local to the second node; and
transmitting a first instruction to the first node to deploy a first microservice manager and transmitting a second instruction to the second node to deploy a second microservice manager, the first virtualized storage controller on the first node performing storage management for a first microservice instantiated by the first microservice manager, and the second virtualized storage controller on the second node performing storage management for a second microservice instantiated by the second microservice manager.

### Claim 18 (depends on 17)

The system of claim 17, wherein first data operated upon by the first microservice is stored in the first storage device local to the first node and second data operated upon by the second microservice is stored in the second storage device local to the second node.

### Claim 19 (depends on 18)

The system of claim 18, wherein a data locality rule is enforced by a virtualized storage controller to locally store data in a node that hosts a microservice.

### Claim 20 (depends on 18)

The system of claim 18, wherein a service locality rule is enforced by a virtualized storage controller to instantiate a microservice at a specific node that is locally storing data used by the microservice in a storage device local to the specific node.

### Claim 21

A non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed in a system having a first node and a second node, causes a system to perform a set of acts, the set of acts comprising:
when executing on the first node, the instructions implement microservice platform deployment functionality to determine which of a plurality of nodes can serve as candidate nodes to host two or more microservice management agents; and
when executing on the second node, the instructions implement a first instance of a microservice management agent that corresponds to at least one resilient microservice,
wherein the first microservice management agent responds to a failed node by taking over provision of the resilient microservice from another instance of the microservice management agents.

### Claim 22 (depends on 21)

The non-transitory computer readable medium of claim 21, wherein determining which of the plurality of nodes can serve as candidate nodes is based at least in part on a topology that defines availability zones.

### Claim 23 (depends on 21)

The non-transitory computer readable medium of claim 21, wherein determining which of the plurality of nodes can serve as candidate nodes is based at least in part on a data locality.

### Claim 24 (depends on 21)

The non-transitory computer readable medium of claim 21, wherein determining which of the plurality of nodes can serve as candidate nodes is based at least in part on a service locality.
