Patent Publication Number: US-9900391-B2

Title: Automated orchestration of infrastructure service blocks in hosted services

Description:
BACKGROUND 
     Hosted services such as productivity applications, collaboration services, social and professional networking services, and similar ones are not only becoming increasingly popular, but also replacing individually installed local applications. Such services may vary from small size (a few hundred users) to very large (tens, possibly hundreds of thousands of users). Infrastructure for hosted services may be slow to rollout, as well as expensive to build and maintain, due to complexity caused by a larger number of server farms comprising a multitude of servers performing various roles within the infrastructure. Furthermore, conventional building and maintenance of the infrastructure may involve human staff, which may be inefficient and vulnerable to costly errors. 
     SUMMARY 
     This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter. 
     Embodiments are directed to automated orchestration of infrastructure service blocks (ISBs) within a hosted service. A network manifest and a server manifest from a datacenter deploying the hosted service may be received at an automation framework of a first orchestrator, where the datacenter deploying the hosted service may include a plurality of zones. The network manifest and the server manifest may be configured within the automation framework of the first orchestrator to create an ISB or to update another ISB for each zone of the datacenter. The created ISB or the updated other ISB may be deployed to a second orchestrator, such that the second orchestrator is enabled to image servers within each zone of the datacenter with the created ISB or the updated other ISB. The hosted service may be deployed at the datacenter such that the servers within each zone of the datacenter include the created ISB or the updated other ISB. 
     These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1A and 1B  include example network environments where automated orchestration of infrastructure block services (ISBs) within a hosted service may be implemented; 
         FIG. 2  illustrates an example process performed by a first orchestrator to initiate automated orchestration of ISBs within a hosted service; 
         FIG. 3  illustrates an example process to automate orchestration of ISBs within a hosted service; 
         FIGS. 4A and 4B  illustrate example configurations of one or more zones within a datacenter deploying a hosted service; 
         FIG. 5  is a block diagram of an example general purpose computing device, which may be used to automate orchestration of ISBs within a hosted service; and 
         FIG. 6  illustrates a logic flow diagram of a method to automate orchestration of ISBs within a hosted service, according to embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     As briefly described above, orchestration of infrastructure service blocks (ISBs) within a hosted service may be automated. A datacenter deploying the hosted service may include one or more zones, where each zone includes at least one network and at least one server farm comprising one or more servers, the servers performing various roles within the infrastructure of the hosted service. In order to simplify the infrastructure, these various server roles may be collapsed and integrated into an automation framework to create and/or update the ISBs with which the servers may be imaged with before deployment of the hosted service at the datacenter. Simplifying the infrastructure through automation may enable faster rollout, and enable the infrastructure to be more easily built and maintained with less human staff intervention, reducing inefficiency and vulnerability to costly errors. 
     In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents. 
     While some embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules. 
     Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. 
     Some embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium is a computer-readable memory device. The computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable hardware media. 
     Throughout this specification, the term “platform” may be a combination of software and hardware components for automatic orchestration of ISBs. Examples of platforms include, but are not limited to, a hosted service executed over a plurality of servers, an application executed on a single computing device, and comparable systems. The term “server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below. 
       FIGS. 1A and 1B  include example network environments where automated orchestration of ISBs with a hosted service may be implemented; 
     In  FIG. 1A , a datacenter  102  as shown in diagram  100  may include a dedicated customer on multi-tenant infrastructure that supports a hosted service providing a variety of services to users  106 . The services may include, but are not limited to desktop services, collaboration services, word processing, presentation, business data processing, graphics, and similar ones. In an example system, users  106  may access the hosted service(s) through thin or thick client applications executed on their client devices via a network, such as a cloud  104 . For example, a browser executed on a client device may access a collaboration service and provide a user interface for the users  106  to take advantage of the service&#39;s capabilities. In another example, a locally installed thick client application (a client application with specific, dedicated capabilities) may access the hosted service to provide additional services or coordinate activities with other users, hosting entity, etc. Data associated with the hosted service may be stored on data storage within the datacenter  102 . 
     The datacenter  102  may include a multitude of zones contained within one or more domains. Each zone may include at least a network and a server farm comprising one or more servers. The datacenter  102  may include at least a first domain  108 , where the first domain  108  is an administrative domain. The first domain  108  may include a first zone  110 , the first zone comprising a first orchestrator  112  and one or more ISBs  114 . In some examples, the datacenter  102  may include a second domain  116 , where the second domain  116  is a customer domain. The second domain  116  may include a second zone  118  comprising a second orchestrator  120  and the ISBs  114 , and a third zone  124  comprising one or more server farms  126  associated with the hosted service. 
     As previously mentioned, each zone of the datacenter  102  may further include at least one server farm comprising one or more servers. The hosted service deployed by the datacenter  102  may provide a variety of services through one or more applications executed on the servers of the server farms within the datacenter  102 . In some cases, different servers of the server farms may take on different roles. For example, some servers may manage data storage (e.g., database servers), other servers may execute applications, and yet other servers may enable interaction of the client applications with the servers (e.g., web rendering or front end servers). 
     In  FIG. 1B , a datacenter  152  as shown in diagram  150  may include a multi-tenant infrastructure that supports a hosted service providing a variety of services to the users  106 . Similar to the datacenter  102 , the datacenter  152  may include a multitude of zones contained within one or more domains, where each zone may include at least a network and a server farm comprising one or more servers. The datacenter  152  may include the first domain  108  and the second domain  116 . The first domain  108  may include the first zone  110  comprising the first orchestrator  112  and the ISBs  114 . The second domain  116  may include the second zone  118  comprising the second orchestrator  120  and the ISBs  114 , and the third zone  124  comprising the server farms  126  associated with the hosted service. Unique from the datacenter  102  discussed in conjunction with  FIG. 1A , the third zone  124  further includes the ISBs  114 . 
       FIG. 2  illustrates an example process performed by a first orchestrator to initiate automated orchestration of ISBs within a hosted service, according to embodiments. 
     A datacenter deploying a hosted service, such as datacenter  202  as shown in diagram  200 , may include one or more zones, where each zone includes at least a network and a server farm comprising one or more servers performing various roles within an infrastructure of the hosted service. A first orchestrator, executed by a server within a first zone of the datacenter, may import  206  a network manifest  212  and a server manifest  214  from the datacenter  202  at an automation framework of the first orchestrator. In some examples, the first orchestrator may be a grid manager. Prior to importing the network manifest  212  and the server manifest  214 , a quality of the network manifest  212  and the server manifest  214  may be verified  204 . The network manifest  212  and server manifest  214  may include one or more extensible markup language (XML) files that contain information associated with the contents and distribution of networks and servers within the datacenter, for example, a role of each server within the datacenter. The network manifest  212  and server manifest  214  may be embedded, as a resource, inside a program file associated with the hosted service or may be located in a separate external XML file. The network manifest  212  and the server manifest  214  may be configured within the automation framework of the first orchestrator to create an ISB and/or update another ISB  208 . The created ISB and/or the updated other ISB may be stateless, including one or more infrastructure roles and one or more communication-based roles corresponding to the various roles performed by the one or more servers within each zone of the datacenter. The infrastructure roles may include at least a directory service, a distributed file system service, and a deployment service, for example. The communication-based roles may include at least an alert forwarding service, an alert correlation service, a local area messaging service, a system center operations management service, and a transition formula evaluation service, for example. 
     The first orchestrator may then be configured to deploy  210  the created ISB and/or other updated ISB to a second orchestrator, executed by another server within a second zone of the datacenter. In some examples, the second orchestrator may be a stamp manager. The second orchestrator may be enabled to image the one or more servers within each zone of the datacenter with the created ISB and/or other updated ISB such that the servers within each zone of the datacenter include the created ISB or the updated other ISB when the hosted service is deployed at the datacenter. For example, imaging the servers within each zone of the datacenter enables a server without an operating system to be imaged with the created ISB to automatically create a role of the server based on the created ISB, and another server with an operating system to be imaged with the updated other ISB to automatically update a role of the other server based on the updated other ISB. 
       FIG. 3  illustrates an example process to automate orchestration of ISBs within a hosted service, according to embodiments. 
     A datacenter deploying a hosted service, such as datacenter  302  as shown in diagram  300 , may include one or more zones, where each zone includes at least a network and a server farm comprising one or more servers performing various roles within an infrastructure of the hosted service. The datacenter  302  may also include one or more domains, such as a first administrative domain  350  and a second customer domain  360 . In the first administrative domain  350 , a first orchestrator  308 , executed by a server within a first zone  306  of the datacenter, may import a network manifest and a server manifest from the datacenter  302  at an automation framework of the first orchestrator  308 . Prior to importing the network manifest and the server manifest, a quality of the network manifest and the server manifest may be verified  304 . The network manifest and the server manifest may be configured within the automation framework of the first orchestrator to create and/or update one or more ISBs  310 , where the manifests may contain information associated with the contents and distribution of networks and servers within the datacenter  302 , for example, a role of each server within the datacenter  302 . The ISBs  310  may be stateless, including one or more infrastructure roles  311  and one or more communication-based roles  312  corresponding to the various roles performed by the one or more servers within each zone of the datacenter. The infrastructure roles  311  may include at least a directory service, a distributed file system service, and a deployment service, for example. The communication-based roles  312  may include at least an alert forwarding service, an alert correlation service, a local area messaging service, a system center operations management service, and a transition formula evaluation service, for example. 
     The first orchestrator  308  may then be configured to deploy the created and/or updated ISBs  310  to a second orchestrator  316 , executed by another server within a second zone  314  of the datacenter, located in the second customer domain  360 . The second orchestrator  316  may be enabled to image the one or more servers within each zone of the datacenter  302  with the created and/or updated ISBs  310  such that the servers within each zone of the datacenter  302  include the created and/or updated ISBs  310  when the hosted service is deployed  320  at the datacenter  302 . Imaging the servers within each zone of the datacenter  302  enables a server without an operating system to be imaged with the created ISB to automatically create a role of the server based on the roles of the created ISB, and another server with an operating system to be imaged with the updated other ISB to automatically update a role of the other server based on the roles of the updated other ISB. In some examples, a function of the roles of the created and/or updated ISBs  310  may be validated after the hosted service is deployed. 
     In some examples, the second orchestrator  316  may be configured to deploy the created and/or updated ISBs  310  to a third zone  318 , located in the second customer domain  360  comprising one or more server farms associated with the hosted service  322 . The created and/or updated ISBs  310  may be deployed such that the servers within each zone of the datacenter  302  include the created and/or updated ISBs  310  when the hosted service is deployed  320  at the datacenter  302 . In such examples, the infrastructure of the datacenter  302  may be a multi-tenant infrastructure. In other examples, where the infrastructure of the datacenter  302  is instead a dedicated customer on multi-tenant infrastructure, the third zone  318  may only include the server farms associated with the hosted service  322 . 
       FIGS. 4A and 4B  illustrate example configurations of one or more zones within a datacenter deploying a hosted service, according to embodiments. 
     A datacenter deploying a hosted service may include one or more zones, where each zone includes at least a network and a server farm comprising one or more servers performing various roles within an infrastructure of the hosted service. Diagram  400  of  FIG. 4A  depicts a first domain of the datacenter deploying the hosted service. The first domain may be an administrative domain, and may include a first zone  402  comprising a first orchestrator  404  and one or more ISBs  406 , where the one or more ISBs are a created ISB  408  or an updated other ISB  410 . The first orchestrator  404  may be configured to receive, at an automation framework of the first orchestrator  404 , a network manifest and a server manifest from the datacenter, where the manifests may contain information associated with the contents and distribution of networks and servers within the datacenter, for example, a role of each server within the datacenter. The first orchestrator  404  may configure the network and server manifests within the automation framework to create the ISB or to update the other ISB for each zone of the datacenter, and deploy the created ISB  408  or the updated other ISB  410  to a second orchestrator  454 , depicted in  FIG. 4B . The created ISB  408  and/or the updated other ISB  410  may be stateless and may include one or more infrastructure roles  412  and one or more communication-based roles  414  corresponding to the various roles performed by the one or more servers of the datacenter. The one or more infrastructure roles  412  may include at least a directory service  418 , a distributed file system service  420 , and a deployment service  422 , for example. The one or more communication-based roles  414  may include at least an alert forwarding service  424 , an alert correlation service  426 , a local area messaging service  428 , a system center operations management service  430 , and a transition formula evaluation service  432 , for example. 
     In  FIG. 4B , diagram  450  depicts a second domain of the datacenter deploying the hosted service. The second domain may be a customer domain, and may include a second zone  452  comprising the second orchestrator  454  and the one or more ISBs  406 , where the ISBs  406  include the created ISB  408  and/or the updated other ISB  410  deployed by the first orchestrator  404 , depicted in diagram  400  of  FIG. 4A . The second orchestrator  454  may be enabled to image one or more servers within each zone of the datacenter with the created ISB  408  and/or the updated other ISB  410 , and deploy the hosted service at the datacenter such that the servers within each zone of the datacenter include the created ISB  408  and/or the updated other ISB  410 . Some servers within each zone of the datacenter may include an operating system, while other servers within each zone of the datacenter may not include an operating system, colloquially termed as a bare machine. Whether the servers get imaged with the created ISB  408  or the updated other ISB  410  may depend on if the servers have operating systems. For example, a server without an operating system may be imaged with the created ISB  408  to automatically create a role of the server based on the created ISB  408 . Alternatively, a server with an operating system may be imaged with the updated other ISB  410  to automatically update a role of the server based on the updated other ISB  410 . 
     The second domain may also include a third zone  456  comprising at least one or more server farms  458  associated with the hosted service. In some examples, the third zone  456  may further include the one or more ISBs  406 , where the ISBs  406  include the created ISB  408  and/or the updated other ISB  410 , deployed to the third zone  456  by the second orchestrator  454 . In such examples, the datacenter comprises a multi-tenant infrastructure. 
     The examples in  FIG. 1 through 4  have been described with specific platforms including infrastructures, datacenters, domains, servers, applications, and orchestrators. Embodiments are not limited to systems according to these example configurations. Automatic orchestration of ISBs may be implemented in configurations using other types of platforms including infrastructures, datacenters, domains, servers, applications, and orchestrators in a similar manner using the principles described herein. 
       FIG. 5  and the associated discussion are intended to provide a brief, general description of a general purpose computing device, which may be used to automate orchestration of ISBs within a hosted service. 
     For example, computing device  500  may be used as a server, desktop computer, portable computer, smart phone, special purpose computer, or similar device. In an example basic configuration  502 , the computing device  500  may include one or more processors  504  and a system memory  506 . A memory bus  508  may be used for communicating between the processor  504  and the system memory  506 . The basic configuration  502  is illustrated in  FIG. 5  by those components within the inner dashed line. 
     Depending on the desired configuration, the processor  504  may be of any type, including but not limited to a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor  504  may include one more levels of caching, such as a level cache memory  512 , one or more processor cores  514 , and registers  516 . The example processor cores  514  may (each) include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller  518  may also be used with the processor  504 , or in some implementations the memory controller  518  may be an internal part of the processor  504 . 
     Depending on the desired configuration, the system memory  506  may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. The system memory  506  may include an operating system  520 , an application  522 , and program data  524 . The application  522  may be executed by one or more of a plurality of servers of a datacenter deploying a hosted service. The application  522  may include an orchestration module  526 , which may be an integral part of the application or a separate application on its own. The orchestration module  526  may include a first orchestrator executed by another server of the datacenter and a second orchestrator executed by a further server of the datacenter. The first orchestrator may be configured to receive, at an automation framework of the first orchestrator, a network manifest and a server manifest from the datacenter, configure the network and server manifests within the automation framework to create an ISB or to update another ISB for each zone of the datacenter, and deploy the created ISB or the updated other ISB to the second orchestrator. The second orchestrator may be enabled to image the plurality of servers within each zone of the datacenter with the created ISB or the updated other ISB, and deploy the hosted service at the datacenter such that the plurality of servers within each zone of the datacenter include the created ISB or the updated other ISB. The program data  524  may include, among other data, process data  528  related to the infrastructure and communication-based roles of the created ISB and/or the updated other ISB, as described herein. 
     The computing device  500  may have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration  502  and any desired devices and interfaces. For example, a bus/interface controller  530  may be used to facilitate communications between the basic configuration  502  and one or more data storage devices  532  via a storage interface bus  534 . The data storage devices  532  may be one or more removable storage devices  536 , one or more non-removable storage devices  538 , or a combination thereof. Examples of the removable storage and the non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDDs), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Example computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. 
     The system memory  506 , the removable storage devices  536  and the non-removable storage devices  538  are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs), solid state drives, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by the computing device  500 . Any such computer storage media may be part of the computing device  500 . 
     The computing device  500  may also include an interface bus  540  for facilitating communication from various interface devices (for example, one or more output devices  542 , one or more peripheral interfaces  544 , and one or more communication devices  546 ) to the basic configuration  502  via the bus/interface controller  530 . Some of the example output devices  542  include a graphics processing unit  548  and an audio processing unit  550 , which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports  552 . One or more example peripheral interfaces  544  may include a serial interface controller  554  or a parallel interface controller  556 , which may be configured to communicate with external devices such as input devices (for example, keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (for example, printer, scanner, etc.) via one or more I/O ports  558 . An example communication device  546  includes a network controller  560 , which may be arranged to facilitate communications with one or more other computing devices  562  over a network communication link via one or more communication ports  564 . The one or more other computing devices  562  may include servers, client devices, and comparable devices. 
     The network communication link may be one example of a communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein may include both storage media and communication media. 
     The computing device  500  may be implemented as a part of a general purpose or specialized server, mainframe, or similar computer that includes any of the above functions. The computing device  500  may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations. 
     Example embodiments may also include methods to automate orchestration of ISBs within a hosted service. These methods can be implemented in any number of ways, including the structures described herein. One such way may be by machine operations, of devices of the type described in the present disclosure. Another optional way may be for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some of the operations while other operations may be performed by machines. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program. In other embodiments, the human interaction can be automated such as by pre-selected criteria that may be machine automated. 
       FIG. 6  illustrates a logic flow diagram for process  600  of a method to automate orchestration of ISBs within a hosted service, according to embodiments. Process  600  may be implemented on a server or other system. 
     Process  600  begins with operation  610 , receive, at an automation framework of a first orchestrator, a network manifest and a server manifest from a datacenter deploying a hosted service. The first orchestrator may be a grid manager and the hosted service may be a collaboration service, for example. The datacenter may include one or more zones, where each zone includes at least a network and a server farm comprising one or more servers performing various roles within an infrastructure of the hosted service. The network manifest and server manifest may include one or more extensible markup language (XML) files that contain information associated with the contents and distribution of networks and servers within the datacenter, for example, a role of each server within the datacenter. The manifests may be embedded, as a resource, inside a program file associated with the hosted service or may be located in a separate external XML file. In some examples, prior to importing the manifests, a quality of the network manifest and server manifest may be verified at the automation framework of the first orchestrator. 
     At operation  620 , the network manifest and the server manifest may be configured within the automation framework of the first orchestrator to create an ISB or to update another ISB for each zone of the datacenter. The created ISB and/or the updated other ISB may be stateless and may include one or more infrastructure roles and one or more communication-based roles corresponding to the various roles performed by the one or more servers of the datacenter. The one or more infrastructure roles may include at least a directory service, a distributed file system service, and a deployment service, for example. The one or more communication-based roles may include at least an alert forwarding service, an alert correlation service, a local area messaging service, a system center operations management service, and a transition formula evaluation service, for example. 
     At operation  630 , the created ISB or the updated other ISB may be deployed to a second orchestrator such that the second orchestrator may be enabled to image one or more servers within each zone of the datacenter with the created ISB or the updated other ISB. The second orchestrator may be a stamp manager, for example, that may enable a server without an operating system, colloquially termed a bare machine, to be imaged with the created ISB to automatically create a role of the server based on the created ISB. Alternatively, the stamp manager may enable another server with an operating system to be imaged with the updated other ISB to automatically update a role of the other server based on the updated other ISB. 
     At operation  640 , the hosted service may be deployed at the datacenter such that the one or more servers within each zone of the datacenter include the created ISB or the updated other ISB. In some examples, a function of the one or more roles of the created ISB and/or the updated other ISB may be validated after the hosted service is deployed. 
     The infrastructure of the hosted service may be simplified by the above-described collapse and integration of various server roles into the automation framework of the first orchestrator to create the ISB and/or update the other ISB. Simplifying the infrastructure through automation may enable faster rollout, and enable the infrastructure to be more easily built and maintained with less human staff intervention, reducing inefficiency and vulnerability to costly errors. 
     The operations included in process  600  are for illustration purposes. Automated orchestration of ISBs within a hosted service may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein. 
     According to some examples, methods to automate orchestration of infrastructure service blocks (ISBs) within a hosted service are provided. An example method may include receiving, at an automation framework of a first orchestrator, a network manifest and a server manifest from a datacenter deploying the hosted service, the datacenter comprising a plurality of zones, and configuring the network manifest and the server manifest within the automation framework of the first orchestrator to create an ISB or to update another ISB for each zone of the datacenter. The example method may also include deploying the created ISB or the updated other ISB to a second orchestrator, such that the second orchestrator is enabled to image servers within each zone of the datacenter with the created ISB or the updated other ISB, and deploying the hosted service at the datacenter such that the servers within each zone of the datacenter include the created ISB or the updated other ISB. 
     In other examples, a quality of the network manifest and the server manifest from the datacenter may be verified prior to importing at the automation framework of the first orchestrator. A function of one or more roles of the created ISB or the updated other ISB may be validated after the hosted service is deployed, the roles of the created ISB or the updated other ISB including at least a directory service, a distributed file system service, a deployment service, an alert forwarding service, an alert correlation service, a local area messaging service, a system center operations managing service, and a transition formula evaluation service. 
     In further examples, deploying the created ISB or the updated other ISB to the second orchestrator may include enabling a server without an operating system to be imaged with the created ISB to automatically create a role of the server based on the one or more roles of the created ISB, and enabling another server with an operating system to be imaged with the updated other ISB to automatically update a role of the other server based on the one or more roles of the updated other ISB. The first orchestrator may be a grid manager, the second orchestrator is a stamp manager, and the hosted service is a collaboration service. 
     According to some embodiments, systems to automate orchestration of infrastructure service blocks (ISBs) within a hosted service are described. An example system may include a datacenter comprising a plurality of zones, where each zone comprises at least a network and a server farm comprising a plurality of servers, a portion of the plurality of servers configured to deploy the hosted service, and a server of the datacenter configured to execute a first orchestrator. The first orchestrator may be configured to receive, at an automation framework of a first orchestrator, a network manifest and a server manifest, configure the network manifest and the server manifest within the automation framework of the first orchestrator to create an ISB or to update another ISB for each zone of the datacenter, and deploy the created ISB or the updated other ISB to a second orchestrator. Another server of the datacenter may be configured to execute the second orchestrator, where the second orchestrator may be configured to image the plurality of servers within each zone of the datacenter with the created ISB or the updated other ISB, and deploy the hosted service at the datacenter such that the plurality of servers within each zone of the datacenter include the created ISB or the updated other ISB. 
     In other embodiments, the plurality of servers may comprise one or more servers with an operating system and one or more other servers without an operating system. The created ISB and the updated other ISB may be stateless and may include one or more infrastructure roles and one or more communication-based roles corresponding to roles of the plurality of servers within each zone of the datacenter. The infrastructure roles may include at least a directory service, a distributed file system service, and a deployment service. The one or more communication-based roles may include at least an alert forwarding service, an alert correlation service, a local area messaging service, a system center operations management service, and a transition formula evaluation service. 
     In further embodiments, the datacenter may include at least one of a first domain and a second domain. The first domain may be an administrative domain and the second domain may be a customer domain. The plurality of zones may include a first zone comprising the first orchestrator and the created ISB or the updated other ISB. The plurality of zones may further include a second zone comprising the second orchestrator and the created ISB or the updated other ISB. The plurality of zones may include a third zone comprising one or more server farms associated with the hosted service if an infrastructure of the datacenter is a dedicated customer on multi-tenant infrastructure. The third zone may further comprise the created ISB or the updated other ISB if an infrastructure of the datacenter is a multi-tenant infrastructure. 
     According to some examples, a computer-readable memory device with instructions stored thereon to automate orchestration of infrastructure service blocks (ISBs) within a hosted service, is described. Example instructions may include receiving, at an automation framework of a first orchestrator, a network manifest and a server manifest from a datacenter deploying the hosted service, the datacenter comprising a plurality of zones, and configuring the network manifest and the server manifest within the automation framework of the first orchestrator to create an ISB or to update another ISB for each zone of the datacenter. The example instructions may also include deploying the created ISB or the updated other ISB to a second orchestrator, such that the second orchestrator is enabled to image servers within each zone of the datacenter with the created ISB or the updated other ISB, and deploying the hosted service at the datacenter such that the servers within each zone of the datacenter include the created ISB or the updated other ISB. 
     In other examples, the network manifest and the server manifest may include information associated with a content and a distribution of one or more networks and servers within the datacenter. 
     The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.