Alternative to Kubernetes: Cloudify
Marcel Koert
Innovative Platform Engineer | DevOps Engineer | Site Reliability Engineer | IT Educator | Founder of Melomar-IT
The Application Cloudify
Cloudify is an orchestration software that automates system management. Not only the deployment process such as server deployment and software group installation and configuration, but also automation including the operation phase such as operation status monitoring, failure recovery, and dynamic expansion of performance and capacity. Moreover, not only the on-premises environment but also multiple cloud environments can be controlled collectively.
Cloudify is an open-source cloud orchestration framework developed by the Cloudify Platform. In addition to various on-premise servers and network devices managed by companies, it is expected that the system construction and setting changes will be automated by collectively controlling multiple clouds.
By using Cloudify, the functions of the cloud infrastructure and network devices to be controlled are abstracted, so that system refurbishment due to device renewal or change can be suppressed, and the operation management system can be maintained at a low cost. In addition, since it is possible to control the entire system infrastructure according to the scenario, it is possible to reduce operating costs and change system settings in a short time.
Orchestration Framework Cloudify
Cloudify is an OSS cloud orchestration framework developed by Cloudify Limited. Orchestration means automation of system management tasks. Cloudify automates everything from application stack installation and deployment to logging, monitoring, scaling and recovery, leveraging TOSCA (Topology and Orchestration Specification for Cloud Applications) compliant model-driven development and various plugins. This enables orchestration.
Orchestration Cloudify
Cloudify offers orchestration for different clouds and also understands how to deal with hybrid clouds. However, more extensive management, as with the two solutions mentioned above, is missing. Because with Cloudify - as expected with an orchestration solution - the lifecycle of a cloud application is in the foreground.
The nucleus of a Cloudify setup is a single VM. The Cloudify Manager runs in it; it leads the command: Information about clouds in which VMs can be started are stored here. The Manager VM also operates the Tosca-based orchestration environment to which users send their templates in Tosca. Features such as automatic scaling in width are solved by a separate agent that the VM started by Cloudify delivers. If the agents within an installation notice that the current total load is too high, Cloudify reloads the corresponding instances if the author of the template has provided this.
Gigaspaces, the company behind Cloudify, highlights its diversity as the main feature: in addition to working with Open Stack, Cloudify also masters the connection to VMware virtualization environments and also talks to Docker or Kubernetes installations. Gigaspaces even promises that existing workloads from conventional environments can be easily moved to the cloud with Cloudify; In the same promise, the name of the program ultimately has its origin.
Additional features allow monitoring and auto-healing: If running instances of an environment started by Cloudify crash, the management VM takes care of starting replacement systems on its own. Anyone thinking about moving applications to the cloud will find a practical tool for this in Cloudify. The standard version of Cloudify can be downloaded free of charge from the project website; a commercial variant comes with support.
Cloudify Features
The features of Cloudify that we will start handling this time are that "it is possible to follow not only the initial stage such as installation and configuration but also configuration changes and resource additions after deployment", "TOSCA compliant model, specific cloud Or "network device-independent representation", "cloud (OpenStack and AWS), infrastructure (VMware and Docker), network devices (Netconf), tools (such as Chef, Puppet, SSH) to control "Plug-in" and "Easy to implement the original script and original plugin".
Can Manage the Entire Life Cycle
It is an orchestrator that can follow not only the initial stage such as installation and configuration but also configuration change and resource addition after deployment. This allows you to manage, monitor, scale, and recover from a single location, with intelligent automatic recovery and automatic scaling capabilities.
Can be Described According to Standard Specifications
It is described in a model that conforms to TOSCA (the server, OS, and applications are treated as nodes, and the relationships between nodes are defined in a structured format). Representation in a form that does not depend on a specific cloud or network device (device-specific). It can be modelled in an abstract form that does not include the information in. This allows the user to orchestrate the entire system without having to be aware of the difference in the controlled equipment.
Supports Carious Plugins
Plugins are provided to control advanced clouds (OpenStack and AWS), infrastructure (VMware and Docker), network devices (Netconf), and tools (Chef, Puppet, even SSH). This makes it possible to control a wide variety of controlled components in a batch from the orchestrator with minimal additional implementation and verification.
Easy Implementation of the Original Script and Original Plugin
Since Cloudify is implemented in OSS, it is possible to implement the missing functions for users in the form of original scripts and plugins. This allows users to efficiently implement any product by implementing additional scripts or plugins.
Cloudify Components
Blueprint
This is a file that defines the system configuration (TOSCA in YAML compliant). It describes computer and network settings and life cycle processing (creation, settings, start, stop, delete, etc.) and is used for deployment and automatic scaling.
Plugin
An extension that allows agents and other services to work with Cloudify. There is a function (script plugin) for executing shell scripts and Python from the agent, and a function (package plugin) for executing the functions of other services from Cloudify. Package plugins are compatible with OpenStack, vSphere, AWS, Microsoft Azure, Kubernetes, Docker, Ansible, Chef, Puppet, etc. as standard, and you can also develop custom plugins using Python.
Workflow
It defines the execution order of processing. Install, Uninstall, Scale-Out / Scale In (Scale), Recovery (Heal), Update (Update) are provided as standard, and you can also develop a custom workflow using Python.
Agent
It is used for resource communication with Cloudify Manager and executes various processes and workflows during deployment.
Cloudify Manager (Dashboard)
Management tools for blueprints, deployments, workflows, monitoring, etc., with CLI and WebUI. With WebUI, you can develop custom widgets using JavaScript.
Cloudify Composer (Blueprint Composer)
Blueprints can be created and edited by dragging and dropping.
Cloudify Plugin
Cloudify Use Case (Open vCPE Framework)
Provides top-down orchestration based on a model-driven topology.
1. Make it easy to introduce new technologies (VNFs)
2. Simplify CPE functionality and reduce costs
3. Improve operational efficiency by automating network settings and centralized management
4. Avoid vendor lock-in
Final Words
In addition to selling Cloudify products, NTT Data Advanced Technology will provide a total of consulting for installation, customized development for connecting to the cloud platform and network devices to be controlled, maintenance and support services.