As demand rises for services in the cloud, so does the need to adapt – and adopt – new cloud orchestration approaches. Traditional, rigid, VM-centric cloud architectures no longer cut it in this age of rapid development of services and technologies. Organizations are seeking new approaches to deploy services quickly and smoothly, or risk being left in the dust.
To survive (let alone, thrive) in this service-oriented market, companies need to shift their approaches to meet their needs, and understand what it means to implement service orchestration in a cloud environment. You must be able to efficiently orchestrate components such as containers and micro-services, which span different layers of the stack and demand the need for coordination across multiple domains in multi-cloud environments. An effective approach enables organizations to deliver end-to-end services to customers, seamlessly.
In comes service orchestration to address these demands.
In this article, we conceptually introduce service layers orchestration, and explain how it can be used to boost agility, operational efficiency, and scalability of applications to meet additional demands.
Why a New Approach to Orchestration Is Needed
Enterprises are seeking to incorporate more and more services – and micro-services – throughout layers of the stack, to meet the paradigm we’ll refer to as XaaS (everything-as-a-service). Oftentimes, these service elements do not naturally play well together, as they lack the native capacity to integrate with one another. Within each individual service comes its own set of dependencies and demands, and operations can become costly as organizations scale, resulting in complex, awkward, expensive infrastructures whose management becomes more burdensome by the day.
As the complexity of these systems deepens, so does orchestration of their various parts. To maintain their competitive edge, enterprises must shift their approach to orchestration. Lacking suitable orchestration, these organizations will be subject to service delivery failures, resulting from coordination breakdowns between teams responsible for managing different resources and layers. Many development teams find the temptation to create or take shortcuts (such as hard-coding orchestration operations into the domain and resource layers), leading to rigid infrastructures that operate poorly, and are barriers to companies’ aspirations to adapt and scale. These companies with a desire to swiftly and efficiently develop and scale must think ahead and avoid these tempting shortcuts, instead adopting an orchestration strategy that is well planned, and that supports scalable, reliable, and distributed architectures.
The multi-cloud, multi-stack, and cross-domain reality of today’s systems depends upon an orchestration approach that is service-centered.
And so we introduce: Service Orchestration.
What Is Service Orchestration?
For those unfamiliar with Service Orchestration, it’s effectively this: a hierarchical architecture that serves to coordinate and manage systems which span multiple cloud vendors, and domains. Now let’s explore the service orchestration structure, from the ground up.
We’ll start with the resource layer, which sits at the bottom of the stack. Resources are the fundamental units which make up the provided service, including physical and virtual network functions (PNFs and VNFs, respectively), virtual machines, and services such as networked storage or ERP.
Atop this resource layer sits the domain orchestration layer. This is where operators are able to identify “domains of expertise”, meaning business structures or technologies that can be separated, automated, and brought in to a more broad automation strategy to suit the organization’s requirements. Here, domains are predefined, referring to a variety of functions and operations, and can have multiple definitions. Domains can represent geographical locations (a data center, for example), or they can point to services such as Kubernetes, SD-WAN, or vCPE. A domain can also serve as a network management layer such as MANO, NMS, IP/MPL, or an SDN controller.
Bringing the entire picture together, is the service orchestration layer, which orchestrates both the domain and resource layers. This additional layer is vital, as it allows for the design and seamless delivery of end-to-end services spanning multiple vendors and domains, and does this while efficiently reusing available resources.
Now we’ll further explore how a service orchestration platform can be a very powerful tool.
The Power of Service Orchestration
Service orchestration finds its strength in abstraction. Each layer in this stack is designed to abstract the intricacies of the layer beneath it while exposing an interface to the layer above. There are several advantages to this multi-layered approach to abstraction, which we will detail further 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.
We also find within service orchestration, an opportunity for a more intentional system design. Not only does this approach force developers to get operations working, it also pressures them to thoughtfully design infrastructures which are optimized not simply for outcome, but for business objectives and scaling/growth. This happens in three key ways:
- The service layer serves as a mediator between domains and resources below, and higher-level business demands above.
- Businesses are able to break down large challenges into more manageable pieces that can be automated and reused across domains, due to a hierarchical structure. This creates flexibility of operations throughout the stack. The service layer enables ease of movement and domain and resource reuse, without needing to change underlying services. Where operations were previously siloed, domain-specific, and designed for static environments, under the orchestration layer these can be transformed into flexible and reusable components capable of serving the entire system. This allows for rapid and accurate deployment of new technologies, at a lower cost.
- The hierarchical nature of the service orchestration model also supports multi-vendor infrastructure, through service composition. This structure is capable of orchestrating a variety of service models and treats them as “atomic” building blocks, while simplifying the use of non-cloud native technologies.
Why Choose Cloudify for Service Orchestration?
Cloudify is an open source, end-to-end orchestration solution. A model-driven platform, it has been designed for the orchestration of hierarchical cross-domain infrastructures. Based on the TOSCA model (Topology and Orchestration Specification for Cloud Applications) – an open source standardized language for managing services and applications across cloud infrastructures – it models dependencies, components, and orchestration methods.
Using Cloudify’s pluggable framework, administrators can swiftly and efficiently map TOSCA templates to any domain or resource, across all layers within the stack. The TOSCA modeling language is optimal for service composition, as it incorporates multi-vendor and service models under a single centralized platform, even when they are not cloud native. Different service models within TOSCA can be treated as building blocks for the orchestration system. They can then be flexibly nested within the hierarchical structure, then passed downstream to domain orchestrators with the use of Cloudify’s robust plugins. This enables Cloudify to act as service orchestrator, and enable users to go beyond previous vendor lock-in model hindrances, and to implement innovation throughout the stack, all with agility while lowering costs.
Cloudify supports an unlimited number of domains and layers, which allows for scaling as business requirements change. Organizations using Cloudify’s service orchestration tools are able to design systems that can evolve and scale along with the company, rather than forcing the company to comply with limitations.
XaaS is driving stiff competition across many industries, and in order to maintain a competitive edge, companies need to shift their approach. The traditional VM-centric tactic isn’t going to hold – the industry calls for multi-cloud, multi-stack, cross-domain infrastructures that can be scaled as required. Service orchestration enables companies to rise to this demand. This additional service layer offers organizations an opportunity to examine their old ways, and reevaluate their infrastructures as a whole, then optimize them for efficient and agile deployment of services and microservices throughout the stack.
For XaaS, think of Cloudify, in part, as OaaS – Orchestration as a Service. Using Cloudify’s TOSCA-based platform and leveraging its extensive pluggable framework, businesses can meet their demands and those of their industry with ease.