Kubernetes has revolutionized the management of containerized applications, but what about non-Kubernetes resources? Can Kubernetes extend its capabilities to encompass those as well? Cloudify, known for its ability to fit into highly distributed and heterogeneous environments, is making a significant stride in this direction with the release of Cloudify 7. In this blog, we explore how Cloudify brings its powerful capabilities natively into the Kubernetes ecosystem. With Cloudify 7, Kubernetes users can now manage and automate infrastructure resources, such as Terraform, Ansible, Azure ARM, and CloudFormation, directly from their existing Kubernetes cluster.
Let’s delve into the exciting new features and enhancements this release brings for the Kubernetes community, from consistent management of diverse resources to simplified operations and development experiences.
Kubernetes has become the de facto standard for managing containerized applications, but what about managing non-Kubernetes resources? Can Kubernetes help with that as well?
One of Cloudify’s key capabilities is related to the ability to fit into a highly distributed and heterogeneous environment. In this context manage Cloud Native and non cloud native resources under the same automation scheme and control plane.
Cloudify 7 marks a major milestone in this regard where we bring those capabilities natively into the Kubernetes ecosystem. This allows Kubernetes users to manage and automate infrastructure resources based on Terraform, Ansible, Azure ARM, and CloudFormation from within their existing Kubernetes cluster.
What Does it Mean for the Kubernetes Community?
Consistent management of infrastructure resources based on Terraform, Ansible, CloudFormation, and Azure ARM alongside application services based on containers and Helm charts.
Kubernetes users are now able to manage infrastructure resources such as DBaaS, Messaging, and Git repositories, serverless as well as simple bash script from within Kubernetes.
Why is this useful?
- Platform engineering teams can create a self-service dev. test environment for their entire stack.
- Consistent drift management
The new release provides a consistent way to detect and remediate drifts across cloud native resources using a new Helm plugin and infrastructure resources using the new updated Terraform plugin, as well as any other service using ServiceComponent.
- Simplify continuous updates
One of the most complex areas that handles continuous update processes is drift. Drift often breaks the existing update workflows and requires constant adaptation to deal with edge use cases. This limited the degree of those process automations, and it required continuous nurturing and human intervention. The combination of the new updated workflows and consistent drift management allows the update process to be more resilient for such changes and thus minimizes the cases in which a manual intervention is required.
- Simplify the management of multiple Kubernetes clusters across regions and cloud infrastructure
Cloudify 7 introduces support for K8s alongside the existing support for EKS, AKS, and GKE. K8s are mostly popular when handling edge clusters where a low footprint Kubernetes is needed. The new blueprint support includes a fully clustered automated deployment with storage based on Longhorn.
- The move to a full cloud native option enables users to run Cloudify as yet another service in your existing Kubernetes cluster and thus simplifying the way customers can manage and operate their own version of Cloudify.
- Cloudify management, upgrades, and scaling are significantly simplified and can be achieved using a simple Helm update command.
- Consistent options from a managed SaaS to an on-prem environment. This includes support for Hybrid deployment a.k.a. Manager of Managers, where users can run and manage their private Cloudify instance from a remote SaaS manager. In this case, simplifying greatly the ability to handle global distribution and multi-Kubernetes cluster environments.
- Cloudify 7 includes the long-awaited continuous snapshot. This allows users to take snapshots without downtime and improves the performance of those snapshots significantly.
Cloudify 7 introduces development tools that simplify the developer’s experience of writing blueprints. This includes CFY-Lint, VS Code extension, and a revamped Composer. The CFY-Lint tool is built to align with the shift-left movement and provides a policy-based validation tool to verify that users don’t violate the best practices and regulation rules for writing blueprints.
The VS Code extension provides code completion and hints that allow blueprint developers to minimize potential syntax errors and speed up the development experience associated with the development of yaml based blueprints.
Upgrade from Previous Release
Cloudify 7 supports an in-place upgrade which allows customers running on previous releases to easily upgrade into the new release.
You can find the full list of Cloudify 7 features in the release notes.
Use Cases and Examples
- Cloudify 7 release notes
- How I Learned to Stop Fearing Blueprints and Love cfy-lint
- Cloudify VS Code Extension
- Enforcing Policy as Code with Cloudify, Terraform, and Open Policy Agent
- End to end orchestration of Application , Network and Edge
- Managers of managers guide
- Enforcing Policy for Self-Service Environments with Cloudify and OPA
- TensorFlow Inference of Visual Images