The rising demand for services in the cloud calls for a new approach to cloud orchestration. Traditional VM-centric cloud architectures are often rigid and poorly suited for the quick and smooth deployment of new services and technologies. To thrive in a service-oriented market, companies must be able to efficiently orchestrate components such as microservices and containers. These units, all of which span different layers of the stack, must be coordinated across multiple domains and in a multi-cloud environment in order to deliver end-to-end services seamlessly. For this, a new kind of orchestrator is needed. This is where service orchestration comes in.
This article introduces the concept of service orchestration and explains how it can boost your operational efficiency, agility, and ability to scale your application to meet additional demand.
Why a New Approach to Orchestration Is Needed
With the emerging paradigm of XaaS (everything-as-a-service), enterprises are incorporating more and more services and microservices throughout different layers of the stack. These elements often do not natively integrate with one another. Each service comes with its own set of dependencies, and they can become incredibly expensive to operate as companies scale. As a result, enterprises find themselves with complex, expensive, and cumbersome infrastructures that grow increasingly difficult to manage by the day.
As systems become more complex, so does the task of orchestrating their different parts. To keep a competitive edge, enterprises must rethink and improve their orchestration methods. Without suitable orchestration, companies remain susceptible to service delivery failures that result from poor coordination between teams that manage different layers and resources. Some development teams are tempted to take shortcuts, such as hard-coding orchestration into the domain and resource layers. This ad-hoc approach leads to poorly operating, rigid infrastructures which are detrimental to companies’ abilities to adapt and scale. Companies that wish to develop and scale quickly and efficiently must adopt a well thought out orchestration strategy that supports reliable, scalable, and distributed architectures.
A new service-centered orchestration approach is needed to cope with the multi-cloud, multi-stack, and cross-domain reality that is emerging. Service orchestration answers this need.
What Is Service Orchestration?
Service orchestration is a hierarchical architecture that coordinates and manages systems spanning multiple domains and cloud vendors. Let’s dive into the structure of service orchestration from the bottom up.
The resource layer is at the very bottom of the stack. Resources are the elementary units that make up the service provided. These include virtual and physical network functions (VNFs and PNFs), virtual machines, and services such as ERP and networked storage.
The domain orchestration layer sits atop the resource layer. Operators can identify “domains of expertise”—technologies or business structures that can be separated, automated, and tied into a broader automation strategy that suits the business’s requirements. Domains are predefined and can refer to a variety of functions. A domain can have multiple definitions. It can represent a geographical region (such as a data center); it can point to a service such as Kubernetes, vCPE, or SD-WAN; and it can also be a network management layer such as IP/MPL, SDN controller, MANO, or NMS.
Finally, the service orchestration layer orchestrates both the domain layer and the resource layer beneath it. This extra orchestration layer is pivotal because it allows for the design and delivery of seamless end-to-end services across multiple domains and vendors, all while reusing resources efficiently.
Let’s take a closer look at how service orchestration can serve as such a powerful tool.
The Power of Service Orchestration
The potency of service orchestration lies in abstraction. Each layer of the stack is designed to abstract the complexities of the layer below and to expose an interface to the layer above. This multi-layered use of abstraction has several advantages, detailed below.
Service orchestration offers the opportunity for more intentional system design. It not only forces developers to get things working, it also forces them to design infrastructures optimized for business objectives and growth projection in three key ways.
1. The service layer can serve as a mediator between the upstream higher level business requirements and the downstream resources and domains below.
2. The hierarchical structure allows businesses to break big challenges down into manageable building blocks that can then be automated and reused across domains, creating flexibility throughout the stack. The service layer makes it easy to move around and reuse resources and domains without changing the underlying service. In other words, under the orchestration layer, operations that were previously siloed, domain-specific, and designed for static environments can be transformed into reusable and flexible components that can serve the whole system. As a result, changes can be introduced easily without impacting the entire system, allowing new technologies to be deployed rapidly with fewer errors and at a lower cost.
3. The hierarchical service orchestration model supports a multi-vendor infrastructure through service composition. It can orchestrate different service models, treating them as “atomic” building blocks. This can simplify the incorporation of technologies that are not cloud native.
Why Choose Cloudify for Service Orchestration?
Cloudify is an open source, end-to-end orchestration system. The model-driven platform is designed to support hierarchical cross-domain orchestration. Cloudify is based on a TOSCA model blueprint. TOSCA (Topology and Orchestration Specification for Cloud Applications) is a standardized open source language used to manage applications and services across cloud infrastructures. It models the components, dependencies, and orchestration methods.
With Cloudify’s pluggable framework, TOSCA templates can be mapped quickly and efficiently to any resource or domain across all layers of the stack. Additionally, TOSCA modeling language is extremely well-suited for service composition, since it incorporates multiple-vendor and service models that are not cloud native under the same centralized platform. With TOSCA, different service models can be treated as orchestrating building blocks that can be nested flexibly into the hierarchical structure and passed downstream to domain orchestrators using Cloudify’s plugins. Consequently, Cloudify can act as a service orchestrator, enabling users to transcend previous limitations of vendor lock-in models and implement innovation all the way down the stack with agility and at a lower cost. With Cloudify, the number of layers and domains is unlimited, allowing for horizontal and vertical scaling as business requirements change. Businesses using Cloudify can design systems that evolve along with the company as it implements new services.
To maintain a competitive edge in an emerging service-centered industry, companies must shift from the traditional VM-centric approach to multi-cloud, multi-stack, and cross-domain infrastructures. Service orchestration enables companies to do just this. Adding an additional service layer offers organizations the opportunity to rethink their infrastructures as a whole and optimize them for agile and efficient deployment of services and microservices throughout all layers of the stack. Cloudify’s TOSCA-based platform, together with its extensive pluggable framework, make it an optimal choice for service orchestration.