When you manage an application lifecycle across vendor-based cloud providers, it can be a daunting task. You cannot use a cloud provider running an application lifecycle stage that depends on an infrastructure. And, you cannot transfer the application to another lifecycle stage run by a different cloud provider on an incompatible infrastructure.
The main two application lifecycle problems you might face
1: Infrastructure dependence
Here’s a simple scenario: An organization plans to use five cloud providers to manage all aspects of the application lifecycle. Each cloud provider depends on vendor-based infrastructure to offer the lifecycle services.
- The first develops an application.
- The second connects database services to the application.
- The third tests the application’s quality.
- The fourth deploys the application.
- The fifth measures and monitors the deployed application.
In short, it is not possible for a cloud provider to have all the capabilities needed to satisfy application requirements in all lifecycle stages; each provider is limited to a few lifecycle stage capabilities. Tying together each lifecycle stages from cloud providers via interfaces can be very complex and not productive.
2: Lack of service templates
Cloud providers have different definitions for commonly used words in lifecycle management. In addition, the providers do not have service templates that all can use; for instance, a provider may have vendor-based templates that change as the infrastructure changes.
The OASIS TOSCA solution
On January 16, 2014, the OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) Technical Committee (TC) approved TOSCA 1.0 as an open standard. TOSCA makes it easier to manage the applications in each lifecycle stage in the cloud without vendor lock-in. TOSCA can be used by cloud providers, application providers, tooling providers, service providers, and cloud brokers.
Potential customers can choose TOSCA-compliant cloud providers without having concerns about the underlying infrastructure platforms. Infrastructure dependence is removed in the Software-Defined Environments (SDEs), including Software-Defined Data Centers (SDDCs) and Software-Defined Networks (SDNs).
All compliant cloud providers use the vendor-agnostic TOSCA service templates that include commonly used definitions. The templates are used throughout the DevOps lifecycle.
The TOSCA DevOps lifecycle approach is more effective than the traditional approach of design, develop, build, test, and deploy; it extends continuous agile development to the operation of the application collaboratively while using the TOSCA service templates.
Software planners, software design architects, software developers, quality assurance specialists, and technical operation maintainers collaborate with one another on making and monitoring changes to the application. Business process analysts may participate as DevOps team members. Technical operations maintainers contribute to quicker application deployment using the Network Function Virtualization (NFV) with the SDN.
All team members share TOSCA service templates; this helps provide smoother migrations between the clouds when there are changes to the application.
Multi-company interoperability was demonstrated at the Open Data Center Alliance (ODCA) in January 2014 and EuroCloud in 2013. The ODCA published a white paper to demonstrate application portability in the enterprise with TOSCA.
At EuroCloud, the portability of SugarCRM, SAP CRM, and SAP ERP applications to compliant cloud providers/managers was demonstrated. Design tools interacted with service marketplaces provided by IBM and SAP. Service marketplaces, in turn, interacted in one to many relationships with cloud managers, which included Fujitsu, HP, Huawei, IBM, SAP, and Vnomic. Zenoss connected design tools directly with cloud managers.
Other cloud providers that provide TOSCA-based orchestration include GigaSpaces Cloudify and Juju.
To ensure continuous feedback about the TOSCA specification, the TC has established four workgroups.
- Infrastructure and Software Components provides common definitions for the infrastructure (Compute, Storage, and Network) and software components (web servers and databases), as well as the relationships among them.
- Container Technologies provides flexibility across container technologies (Docker and Rocket).
- Monitoring and Metrics measures and monitors performance for all cloud applications across all software components.
- Network Function Virtualization. There is growing interest in NFV to complement TOSCA in a SDN environment.
Get more information by participating in the OASIS TOSCA TC. Also, talk to your vendors and platform providers about their TOSCA support.