Reservation for a multi-machine application
View Patent ↗A system for a reservation for a multi-machine application can include a server virtualization engine configured to create a mixed reservation of information technology resources from a cluster of hosts including a virtual machine host and a container host. The system can include a cloud management engine configured to create a multi-machine blueprint from the mixed reservation including a virtual machine template, a container image, and a definition of networking. The cloud management engine can be configured to deploy the multi-machine blueprint to provide a multi-machine application.
1. A system, comprising:
a number of processors;
memory resources coupled to the processors, the memory resources storing instructions executable by the processors to:
create a mixed reservation of information technology (IT) resources from a cluster of hosts including a virtual machine host and a plurality of container hosts, wherein the plurality of container hosts each include a respective networking agent;
create a multi-machine blueprint from the mixed reservation including a virtual machine template for a first server type, a first container image for a second server type, a second container image for a third server type, and a definition of networking therefor; and
deploy the multi-machine blueprint to provide a multi-machine application; wherein the definition of networking for the plurality of container hosts is provided via an interface with the respective networking agents, which facilitate creation of a network according to the definition of networking:
wherein the definition of networking includes;
a first network bridge connected to the first container image;
a second network bridge connected to the second container image;
a virtual extensible local area network tunnel between the first network bridge and the second network bridge via a virtual switch distributed across the plurality of container hosts; and
the virtual machine template on a different Layer 3 network than the first container image and the second container image, connected by a router.
2. The system of claim 1 , wherein the instructions are executable to:
provision a container from the container image as part of the multi-machine application; and
provision a virtual machine from the virtual machine template as part of the multi-machine application.
3. The system of claim 2 , wherein the instructions are executable to:
deploy a web server of the plurality of servers in the container; and
deploy a database server of the plurality of servers in the virtual machine.
4. The system of claim 1 , wherein the instructions are executable to deploy the multi-machine blueprint to provide a multi-machine application using the definition of networking in the multi-machine blueprint.
5. The system of claim 1 , wherein the container hosts comprise one of a group of container hosts including physical machines and virtual machines including a container virtualization layer.
6. The system of claim 1 , wherein the IT resources comprise processing resources, memory resources, and network resources.
7. The system of claim 1 , wherein the networking agents comprise representational state transfer services that arrange containers based on requests received.
8. A non-transitory machine-readable medium storing instructions executable by a processing resource to cause a computing system to:
create a reservation of information technology resources from a cluster of container hosts, wherein each container host comprises a respective virtual machine including a container virtualization layer and a respective networking agent;
create a plurality of single-machine blueprints from the reservation each single-machine blueprint including a respective container image;
create a multi-machine blueprint from the plurality of single-machine blueprints;
define networking for the multi-machine blueprint via an interface with the respective networking agents, which facilitate creation of a network according to the definition of networking, wherein the instructions to define networking comprise instructions to:
define a logical network as a plurality of network bridges connected to a virtual switch and to distribute the virtual switch across the container hosts;
define a respective virtual extensible local area network tunnel between the plurality of network bridges via the virtual switch;
wherein each of the plurality of network bridges corresponds to a respective server type of the multi-machine application and connects each server of the respective type; and
deploy the multi-machine blueprint to provide a multi-machine application using the definition of networking in the multi-machine blueprint.
9. The medium of claim 8 , including instructions to apply security settings for the multi-machine blueprint.
10. The medium of claim 8 , including instructions to configure a respective routing table in each container host of the cluster of container hosts at runtime.
11. The medium of claim 8 , wherein the networking agents comprise representational state transfer services that arrange containers based on requests received.
12. A method, comprising:
creating a mixed reservation of information technology (IT) resources from a virtual machine host, a first container host, and a second container host for a multi-machine application, wherein the first and the second of container hosts each include a respective networking agent;
creating a multi-machine blueprint from the mixed reservation including a virtual machine template for a first server type, a first container image for a second server type, a second container image for a third server type, and a definition of networking between the virtual machine template, the first container image, and the second container image;
deploying a web server container provisioned from the first container image in the first container host;
deploying an application server container provisioned from the second container image in the second container host; and
deploying a database server virtual machine provisioned from the virtual machine template in the virtual machine host;
providing the definition of networking for the first and the second container hosts via an interface with the respective networking agents, which facilitate creation of a network according to the definition of networking;
wherein the definition of networking includes:
a first network bridge connected to the first container image;
a second network bridge connected to the second container image;
a virtual extensible local area network tunnel between the first network bridge and the second network bridge via a virtual switch distributed across the first and the second container hosts; and
the virtual machine template on a different Layer 3 network than the first container image and the second container image, connected by a router.
13. The method of claim 12 , wherein the method includes running the first container host on a virtual machine having a container virtualization layer.
14. The method of claim 12 , wherein the method includes running the first container host on a physical machine.
15. The method of claim 12 , wherein the method includes:
creating a first single-machine blueprint from the mixed reservation including the virtual machine template;
creating a second single-machine blueprint from the mixed reservation including the first container image; and
wherein creating the multi-machine blueprint from the mixed reservation comprises creating the multi-machine blueprint from the first and the second single-machine blueprints.
16. The method of claim 12 , wherein creating the mixed reservation of IT resources comprises creating a mixed reservation of processing resources, memory resources, and network resources.
17. The method of claim 12 , wherein the networking agents comprise representational state transfer services that arrange containers based on requests received.