Cloudify is an open source cloud and network functions virtualization (NFV) orchestration platform. Acting as a type of middleware, the idea behind Cloudify was to provide users a simple way to deploy applications or services in a cloud computing environment. GigaSpaces began developing Cloudify in 2012 as a platform-as-a-service (PaaS) product. Cloudify now runs as its own company with the contributions of external developers.
Cloudify allows users to model and automate an application’s entire lifecycle. This includes deployment to a cloud or data center environment, management of the deployed application, failure detection and ongoing maintenance. The platform is ideal for users that want to launch prebuilt applications in the cloud without handling the technical aspects.
How Cloudify works
Cloudify helps users deploy and manage applications in the cloud in a few, simple steps:
- Cloudify translates applications into a blueprint configuration, written in YAML format, that is used to describe how the application should be deployed, managed and automated. The blueprint will automatically identify the necessary resources and events for each application tier and how the tiers are related.
- The Cloudify orchestrator uses the blueprint to install the application in the cloud. This is done by applying a cloud API that creates VMs and installs Cloudify agents on each VM. The agents are used to orchestrate, install and start the application according to the blueprint.
- Once deployment is complete, Cloudify monitors the application for any pre-defined metrics and displays them on a dashboard. Cloudify monitoring also supports monitoring plugins of the user’s choice, web reports and querying APIs.
Cloudify also offers additional functionality such as auto-healing, post-deployment application upgrades and auto-scaling.
Advantages of Cloudify
- Application orchestration- Cloudify’s blueprint structure allows users to configure applications with a high level of granularity.
- Application maintenance- Cloudify makes it simple to update, upgrade or reconfigure an application’s structure.
- Data visualization- The metrics and log collection results provided by Cloudify allows users to act upon data and make business decisions based on application KPIs.
- Plugins- Cloudify supports plugins that are written in Python. These plugins can extend the functionality of Cloudify and can be user-specific.
- Open source- Cloudify is an open source software that accepts contributions. This means the platform is under active development and customizable. Cloudify is also a member of collaborative projects and open source communities such as OpenStack, ONAP and the Linux Foundation.