Invention for Methods for automating the deployment of software defined datacenters based on automation plans and user-provided parameters

Invented by Pavel Mitkov Dobrev, VMware Inc

The market for methods for automating the deployment of software-defined data centers (SDDCs) based on automation plans and user-provided parameters is rapidly growing. As organizations increasingly embrace cloud computing and virtualization technologies, the need for efficient and streamlined data center management becomes paramount. Automating the deployment of SDDCs offers numerous benefits, including reduced costs, improved scalability, and enhanced operational efficiency.

Software-defined data centers are revolutionizing the way organizations manage their IT infrastructure. By abstracting the underlying hardware and virtualizing the entire data center stack, SDDCs enable organizations to dynamically allocate resources, rapidly provision new services, and respond quickly to changing business needs. However, the deployment and management of SDDCs can be complex and time-consuming, requiring specialized knowledge and expertise.

To address these challenges, a growing number of vendors are offering methods for automating the deployment of SDDCs. These methods typically involve the use of automation plans and user-provided parameters to streamline the deployment process. Automation plans are predefined workflows that automate the provisioning and configuration of various components within the SDDC, such as virtual machines, storage, and networking. User-provided parameters, on the other hand, allow organizations to customize the deployment process based on their specific requirements and preferences.

One of the key advantages of automating the deployment of SDDCs is cost reduction. By eliminating manual tasks and streamlining the provisioning process, organizations can significantly reduce the time and effort required to deploy new services. This not only saves labor costs but also enables organizations to quickly respond to changing business demands, thereby increasing their agility and competitiveness.

Furthermore, automating the deployment of SDDCs improves scalability. As organizations grow and their data center requirements increase, manual provisioning becomes increasingly inefficient and error-prone. Automation allows organizations to easily scale their infrastructure by automatically provisioning new resources based on predefined templates and user-provided parameters. This ensures consistent and reliable deployments, minimizing the risk of human errors and reducing downtime.

Operational efficiency is another key benefit of automating the deployment of SDDCs. By standardizing the deployment process and eliminating manual interventions, organizations can achieve greater consistency and reliability in their data center operations. Automation plans ensure that all necessary configurations and settings are applied consistently across the entire infrastructure, reducing the risk of misconfigurations and security vulnerabilities. This not only improves the overall performance and stability of the SDDC but also simplifies ongoing management and troubleshooting.

The market for methods for automating the deployment of SDDCs is diverse and rapidly evolving. Numerous vendors offer solutions that cater to different needs and requirements. Some vendors provide comprehensive platforms that encompass the entire lifecycle of SDDC deployment, from initial provisioning to ongoing management and monitoring. Others focus on specific aspects, such as infrastructure-as-code tools that enable organizations to define and deploy their SDDC infrastructure using code.

In conclusion, the market for methods for automating the deployment of software-defined data centers based on automation plans and user-provided parameters is experiencing significant growth. As organizations strive to optimize their IT infrastructure and embrace the benefits of SDDCs, automation becomes a crucial enabler. By automating the deployment process, organizations can reduce costs, improve scalability, and enhance operational efficiency. As the market continues to evolve, organizations should carefully evaluate different solutions to find the one that best fits their needs and requirements.

The VMware Inc invention works as follows

The disclosed example method for automating deployment of a Software Defined Data Center includes: generating a tasklist by executing a processor instruction based upon tasks in an automation plan; determining dependencies between tasks before executing them; determining whether a resource to be used as an output by the first task exists before executing it; removing the first task from the list by executing a processor instruction when the resource is present before executing it; generating a schedule by executing a processor instruction based

Background for Methods for automating the deployment of software defined datacenters based on automation plans and user-provided parameters

Virtualizing computer systems provides benefits, such as the ability to execute several computer systems on one hardware computer, replicate computer systems, move computer systems between multiple hardware computers and so on.

?Infrastructure-as-a-Service? Also known as “IaaS” A service provider’s integrated suite of technologies that allows for the elastic creation of a virtualized networked and pooled computing environment (sometimes called a “cloud computing platform”). IaaS can be used by enterprises as an internal cloud computing platform for their business (sometimes called a “private cloud”). This gives application developers access to infrastructure resources such as virtualized storage, networking, and servers. Cloud computing platforms enable developers to create, deploy and manage web applications (or other types of networked applications) faster and more efficiently than ever before.

Cloud computing environments can include multiple processing units, such as servers. Storage devices, networking devices, etc. are also components of a cloud-based computing environment. The current cloud computing configuration relies heavily on manual configuration and user input to install, configure and deploy components of the cloud environment.

Cloud computing is based upon the deployment of physical resources over a network. The virtualization of the physical resources creates virtual resources that can be used to provide cloud computing applications and services. In U.S. Patent Application Ser. No. No. 11/903,374, entitled “METHOD AND SYTEM FOR MANAGING REAL AND VIRTUAL MACHINES”,? Filed Sep. 21, 2007 and granted as U.S. Patent. No. 8,171,485, U.S. Provisional Patent No. The Provisional Patent Application No. Filed Mar. Provisional Patent Application No. Provisional Patent No. The Provisional Patent Application No. “All of the patent applications filed on Dec. 12, 2012 are hereby incorporated by reference herein in their entirety.

Cloud computing platforms can provide powerful capabilities to perform computing operations. Taking advantage of these computing abilities manually can be difficult and/or requires significant training or expertise. Cloud computing platforms are often configured by customers who must understand the details of the hardware and software. “The methods and apparatus disclosed in this invention enable automatic deployment, management, and configuration of virtual machines and software defined datacenters within cloud computing platforms.

A software-defined data center (SDDC), is a data storage system that uses an infrastructure virtualized, and is delivered as a cloud service to one or several customers. The SDDC automates provisioning and management of logical computing resources, storage resources and network resources after deployment. Customers can, for example, select/create policies to cause the SDDC deploy applications quickly using policy-driven provisioning. This dynamically matches resources with constantly changing workloads and demands. SDDCs can be deployed in a private, hybrid, or public cloud. They can also run on different hardware stacks, hypervisors and clouds.

A virtual computer (VM)” is a computer software that runs, just like a real computer, an operating system, and other applications. A virtual machine’s operating system is called a guest OS. Virtual machines (VMs), which are isolated computing environments, can be used to create desktops or workstations, test environments, consolidate server apps, etc. Virtual machines can be run on hosts or in clusters. “The same host can run a multitude of VMs for example.

Availability” refers to the amount of redundancy needed to ensure that the workload domain is able to continue operating. Performance refers to the operating speed of the computer processing unit (CPU), memory (e.g. gigabytes of random access memory, RAM), mass storage (e.g. GB hard drive disk, HDD), solid state drive (SSD), and power capabilities for a particular workload domain. Capacity refers to the total number of resources (e.g. aggregate storage, aggregate CPU etc.). All servers that are part of a cluster or a workload domain. The redundancy, CPU operating speed, memory, storage, security and/or power requirements of a user are some examples. As an example, more resources will be required to support a workload domain if the user selects higher requirements (e.g., redundancy, CPU operating speed, memory storage, security and/or power option require more resources than redundancy and CPU speed, memory storage, security and/or power choices).

Example Virtualization Environments.

There are many different types of virtualization environment. “Virtualization environments can be divided into three categories: full virtualization (also known as paravirtualization), operating system virtualization and operating system virtualization.

Container virtualization can also be used to refer to “Operating System Virtualization”. Operating system virtualization is a term used in this document to describe a system where processes are isolated within an operating system. In a typical system for operating system virtualization, the host operating system is typically installed on server hardware. The host operating system can also be installed within a virtual machine in a full virtualization or paravirtualization environments. The host OS of an operating virtualization system can be configured (e.g. using a customized kernel), to provide resource management and isolation for processes running within the host OS (e.g. applications running on the host OS). Containers are used to isolate the processes. A host operating system may be shared by several containers. A process running within a container will be isolated from any other processes on the host OS. Operating system virtualization allows for resource management and isolation without the overhead of a virtualization environment. The host operating system can also be installed into a virtual machine in a full virtualization or paravirtualization environments. Examples of operating system virtualization include Linux Containers LXC, LXD and Docker, OpenVZ, etc.

In some cases, a SDDC or a group of SDDCs linked together may have multiple virtualization environments. A SDDC, for example, may contain hardware resources managed by a virtualization environment that includes a virtualization of the operating system, as well as a virtualization of the full virtualization. A workload can be distributed to any virtualization environment in a SDDC.

Customers have to hire programmers with high-level skills to create thousands or even tens thousands of lines of code to meet their SDDC requirements. Prior tools to define SDDC deployments were based on low-level, general domain specific languages that allowed fine-granular programming. These DSLs do not have the higher-level building blocks, components or primitives that are needed to deploy SDDCs more quickly and allow users or programmers with less programming experience to define deployments.

The end-user could spend 30-40 days manually deploying an SDDC without automation tools. It would take an end-user to develop an automated tool several months or multiple years. Using prior techniques to deploy SDDCs for end-users takes more time than the examples provided herein. The examples disclosed herein provide more efficient deployment tasks (e.g. deploying a virtual Stack for an SDDC), by automating the task execution. This is done by automatically arranging the tasks in a way that provides significant performance improvements compared to prior techniques. Examples disclosed herein, for example, cause tasks to run in parallel when parallelization is possible, instead of sequentially (e.g. as would be done by using a shell script or prior automation tool). The examples disclosed herein automatically exclude the execution of certain tasks which are not necessary during some deployments, as described below.

Unlike previous deployment tools which provide low-level DSLs examples disclosed herein provide higher-level DSLs for customers to use in order to deploy and configure SDDCs or virtual appliances more quickly and easily using higher-level building blocks, components, and primitives than are available with such lower-level DSLs. Instead of writing thousands of LOCs to describe a product, a user can use the examples provided here to specify deployments based on higher level primitives that represent requests like: “I want to deploy an SDDC”,? I want to set up an enterprise solutions repository. I want the enterprise solutions repository fully functional. I want to set up virtual automation manager nodes. I want to set up mobile access. I want to set up multiple instances of network virtualization. etc.

In the examples presented here, higher-level DSLs are provided to customers as automation plans, which allow them (e.g. customers of IaaS providers) to customize SDDC deployments and/or virtual appliances to meet their requirements. The automation plans, for example, include resource and task definitions which are customizable by customers. After a customer has finished providing parameter values to the user-configurable parameter of the automation, the automation, in conjunction with the parameter values provided by the customer, is used to deploy the SDDC or virtual appliance. With such customizable automation plans a customer can deploy an SDDC from zero to full running status within 9 hours. In some cases, this time is as short as 3-5 hours. This is significantly faster than the 30-40 day deployment times associated with manually deploying SDDCs without automation tools.

FIG. The figure 1 shows an example cloud computing platform management system 100 built in accordance with this disclosure. As described below, the example system 100 comprises an application manager 106 and cloud manager 138 for managing a cloud computing provider 110. In the illustrated example, the application director 106 of the system 100 and the cloud manger 138 are executed on one or multiple server nodes in a datacenter (e.g. one or several host servers within a physical rack). The example system 100 described herein facilitates the management of the cloud service provider 110, and does not include cloud provider 110. The system 100 can also be integrated into the cloud provider 110.

Click here to view the patent on Google Patents.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *