Kubernetes, supported by a vibrant open source community, can drive outstanding innovation. To help in Kubernetes adoption, Red Hat and IBM Research have created Konveyor, an open source project aimed at helping modernize and migrate applications for open hybrid cloud by building tools, identifying patterns and providing advice on how to bring cloud-native transformation across IT. Konveyor also supports a growing number of tools, such as Crane, Forklift, Move2Kube, Tackle, and Pelorus, designed to accelerate Kubernetes adoption.
Across industries, system administrators and developers are often the point teams driving digital transformation, helping the overall business benefit from modernized IT infrastructure, applications and services.
Frequently, this transformation leans on Kubernetes and Linux containers as a foundation. But taking this containerized leap requires a fundamental change in configuration and architecture. It’s like looking at a before and after renovation photo without directions to show you how to get from one to the next. What happens in between? And how can you pull that off too?
Kubernetes Operators power Konveyor
We believe in using the power of Kubernetes Operators to embed operational knowledge and functionality into Kubernetes. Konveyor's subprojects are developed as Kubernetes Operators so that we can take advantage of their flexibility and to make deployment and management simple for admins already familiar with Operators.
Rehosting Workloads with Crane and Forklift
There are two primary rehosting needs within the Kubernetes community – migrating virtual machines unaltered to Kubernetes, and migrating already containerized applications between Kubernetes clusters.
KubeVirt allows developers and operations teams to obtain the benefits of Kubernetes orchestration and the surrounding ecosystem without requiring code or configuration changes.
While rehosting doesn’t provide the same benefits as replatforming or refactoring, it’s often useful in cases where development teams may not have the ability to change or modify code, such as with vendor-provided software. Rehosting also helps teams adapt to a new platform with less friction between process and culture.
The Konveyor subproject Forklift focuses on migrating virtual machines to Kubernetes and provides the ability to migrate virtual machines to KubeVirt with minimal downtime.
The second need is addressed by the Crane subproject, which concentrates on migrating applications between Kubernetes clusters. There are many times when developer and operations teams want to migrate between older and newer versions of Kubernetes, evacuate a cluster or migrate to different underlying infrastructure.
In an ideal scenario, this would be a redeployment of the application, but we have found that many users need a solution for migrating persistent data and the objects within Kubernetes namespaces continuously.
Replatforming with Move2Kube
Replatforming involves changing an underlying technology used by an application while minimizing the need for code change. One area in which replatforming is taking place is in the consolidation of container orchestration platforms to Kubernetes.
The Move2Kube subproject was initially launched to help accelerate the replatforming of Swarm and Cloud Foundry-based applications to Kubernetes. The tool translates existing artifacts into Kubernetes-native concepts, increasing an organization’s speed and ability to run applications on Kubernetes.
Refactoring Applications with Tackle
Refactoring is perhaps one of the most challenging yet most beneficial strategies for users looking to move applications to Kubernetes. Refactoring involves making fundamental changes to application architecture and development in order to take advantage of cloud-native capabilities.
The Tackle application aims to provide tools to help assess and analyze applications for refactoring into containers and provide a common inventory. The team behind Tackle uses their experiences with tools such as Pathfinder and Windup to inform their work on the application, bringing existing best processes and strategies into the cloud-native space.
The final subproject within the Konveyor project, Pelorus, enables metrics-driven transformation and measures the keys to software delivery performance, including lead time for change, deployment frequency, mean time to restore, and change failure rate.
The community feels strongly that being able to measure the impact of rehosting, replatforming, refactoring, and changing processes and culture is vital to proving value.
Developers and sysadmins need open source tools and practices to help accelerate their applications and infrastructure to Kubernetes.
The Konveyor project’s goal is to deliver the tools and applications within Konveyor via OperatorHub.io for easy consumption and lifecycle management over time to do just that. To receive invitations to Konveyor meetups, propose a talk, or get started contributing to the community you can subscribe to through the Konveyor Project's site.