Automating deployment of service applications by exposing hosting environment constraints
Abstract
Methods, systems, and computer-readable media for automating deployment of service applications by exposing environmental constraints in a service model are provided. In general, the methods are performed in the context of a general purpose platform configured as a server cloud to run various service applications distributed thereon. Accordingly, the general purpose platform may be flexibly configured to manage varying degrees of characteristics associated with each of the various service applications. Typically, these characteristics are provided in the service model that governs the environmental constraints under which each component program of the service application operates. As such, hosting environments are selected and adapted to satisfy the environmental constraints associated with each component program. Adapting the hosting environments includes installing parameters transformed from configuration settings of each component program via map constructs, thereby refining the hosting environment to support operation of the component program.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . One or more computer-readable media having computer-executable instructions embodied thereon that, when executed, perform a method for configuring a hosting environment of a data center based on a definition of a subject role of a service application, the method comprising:
offering a set of base hosting environments, wherein each of the base hosting environments includes a predefined interface architecture; receiving a service model from the developer that provides definitions of one or more roles of the service application, wherein the one or more roles represent component programs that support the functionality of the service application; automatically applying the service model to configure the hosting environment to support the implementation of a subject role of the one or more roles, wherein applying comprises:
(a) selecting one of the set of base hosting environments based on the definition of the subject role; and
(b) refining the selected hosting environment according to map constructs derived from configuration settings of the subject role; and
at least temporarily storing the refined hosting environment in conjunction with the subject role.
2 . The computer-readable media of claim 1 , wherein the method further comprises establishing the refined hosting environment on a node to underlie the implementation of the subject role, wherein the node represents a computing device of a plurality of distributed computing devices interconnected via a network cloud.
3 . The computer-readable media of claim 2 , wherein each of the plurality of distributed computing devices is capable of executing a plurality of instances of the one or more roles of the service application, and wherein a particular node of the plurality of nodes is capable of accommodating two or more of hosting environments.
4 . The computer-readable media of claim 2 , wherein the method further comprises:
allocating the node for supporting execution of the subject role in accordance with a deployment specification of the service model, wherein the deployment specification provides instructions for installing instances of the one or more roles throughout the data center; placing the subject role on the allocated node; and administering values to configuration settings of the placed subject role.
5 . The computer-readable media of claim 4 , wherein installing values to configuration settings of the placed subject role comprises utilizing map constructs to transform the definition of the subject role in the service model into values that are capable of being installed into the configuration settings of the subject role.
6 . The computer-readable media of claim 5 , wherein the definitions of the one or more roles are based, in part, on environmental dependencies of each of the one or more roles, and wherein the environmental dependencies of each of the one or more roles are specified by a developer of the service application.
7 . The computer-readable media of claim 6 , wherein the environmental dependencies comprise at least one of resources made accessible by the underlying hosting environment on which the subject role depends for proper implementation or other instances of the one or more roles of the service application with which the subject role interacts.
8 . The computer-readable media of claim 7 , wherein the specification for deployment inspects the environmental dependencies to define which channels, established within the data center, are utilized as communication paths between the placed subject role and the instantiated instances of the one or more roles.
9 . The computer-readable media of claim 8 , wherein refining the selected hosting environment according to map constructs derived from configuration settings of the subject role comprises:
tailoring a hosting environment in accordance with the map constructs associated with the subject role; stacking the tailored hosting environment onto the selected base hosting environment, thereby affecting a configuration of the selected base hosting environment; and merging the stacked tailored and base hosting environments to form the refined hosting environment.
10 . The computer-readable media of claim 9 , wherein the map constructs transform the values administered to the configuration settings of the subject role into parameters that are utilized to configure the tailored hosting environment.
11 . The computer-readable media of claim 9 , wherein refining the selected hosting environment according to map constructs ensures a particular level of security for the subject role supported thereby, and wherein the level of security corresponds with a degree of spatial isolation of the refined hosting environment from other hosting environments installed in the data center.
12 . A computerized method for updating a service application operating within a distributing data center based on a service model, the method comprising:
receiving an indication to increase a number of instances of a role of the service application, wherein the role represents a particular class of components that operate in conjunction with other roles of the service application to realize distributed functionality thereof; allocating a node within the data center for instantiating an instance of the role thereon, wherein the processes of allocation and instantiation are carried out in accordance with a definition of the role retained at the service model; automatically configuring a hosting environment to underlie implementation of the instantiated role instance, wherein automatically configuring comprises:
(a) forming mapping constructs that transform configuration settings of the instantiated role instance into parameters; and
(b) utilizing the parameters to refine a base hosting environment having a predefined configuration; and
installing the refined hosting environment onto the allocated node.
13 . The computerized method of claim 12 , wherein the indication arises from an event comprising at least one of a change in a remote-usage workload of the service application or one or more nodes of the data center falling offline.
14 . The computerized method of claim 12 , further comprising:
identifying a component program established on the node of the data center; abstracting map constructs from the definition of the role retained in the service model; and utilizing the map constructs to perform the instantiation of the instance of the role at the component program.
15 . The computerized method of claim 14 , wherein abstracting map constructs from the definition of the role retained in the service model comprises transforming environmental dependencies within the role definition into values; and wherein utilizing the map constructs to instantiate an instance of the role at the component program comprises administering the values to configuration settings of the component program.
16 . The computerized method of claim 15 , wherein utilizing the parameters to refine a base hosting environment having a predefined configuration comprises:
based on the values administered to the configuration settings of the component program, selecting the base hosting environment from a set of base hosting environments offered by the data center; tailoring a hosting environment in accordance with the map constructs associated with the role; and stacking the tailored hosting environment onto the selected base hosting environment, thereby affecting a configuration of the selected base hosting environment.
17 . The computerized method of claim 16 , wherein stacked tailored and base hosting environments encompass a set of concrete application programming interfaces (APIs) that are at the disposal of the instantiated role.
18 . The computerized method of claim 17 , wherein the set of concrete APIs facilitate communication with resources and other role instances instantiated within the data center accessible to the instantiated role.
19 . The computerized method of claim 16 , wherein stacked tailored and base hosting environments encompass interactive APIs that reveal to a developer of the service application information comprising at least one of a configuration of the stacked tailored and base hosting environments or the resources accessible to the instantiated role.
20 . A computer system for performing a method that automatically configures a hosting environment upon instantiating a role instance of a service application within a data center, wherein the data center includes distributed computing devices, the computer system comprising a computer storage medium having a plurality of computer software components embodied thereon, the computer software components comprising:
a service model that exposes environmental dependencies of the role instance; a fabric controller for interpreting the service model to abstract a first map construct configured for transforming the environmental dependencies into values that are administered to configuration settings of the role, and for allocating one of the distributed computing devices for installing the role and the hosting environment thereon; and an agent disposed on the allocated computing device for employing a second map construct that transforms the configuration settings of the role into parameters that are utilized to automatically select a base hosting environment and to automatically refine the base hosting environment, thereby providing APIs that connect the role to resources of the data center that support implementation of the role.Join the waitlist — get patent alerts
Track US2016212011A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.