 Okay, so welcome to this talk about the conveyor community first of all allow me to introduce myself My name is Ramon Roman Nissan I'm the product manager for the migration toolkit for applications in in red hat and Probably in relationship to this talk the most interesting thing about myself is that I was in red head consulting for five years Leading largest scale migration projects So that's why I guess they chose me for this PM thingy that I've been doing for the past year So without further ado, let's start talking about conveyor and Sorry for that, but I think the first thing we should be doing is getting a little bit of context of why we started this community And this will be a series of figures and statistics and everything So this might be a little bit of a snoozefest for the most technical part of the ocean audience Sorry for that. I'll try to be as quick as possible. So yes, let's get started So, let's get started with the latest CNCF survey 90% of the respondents report using Kubernetes so container wars are completely over nobody remembers other Container orchestration platforms probably aside from the ones that are trying to run away from them On the other hand this Garner latest Garner forecast By 2022 more than 75% of global organizations will be running container Containers in production. So if we get the two of them Then we can conclude that Kubernetes is becoming the default platform for application deployment And it is also the target for most of modernization projects out there. I Won't go through the whole Stuff that we have on the screen just to sum things up. There is a 30 billion business out there by 2026 related to application modernization. So that's that's a huge number out there, especially for vendors and GSIs but there seems to be a problem going back to the Garner forecast there seems to be a problem with the speed and the how this modernization and migration is currently happening and The problem is basically that there are a lot of Methodologies and tools out there But on one hand most of the existing tools create some sort of vendor looking to any cloud provider out there And on the other hand most methodologies about available out there sit within Organizations are and are not generic enough to be broadly transferable across common scenarios So That's exactly what we are trying to solve with the with the Khmer community And I don't know if you're familiar with that So we'll we'll we'll get through the basics and then we will focus on one of the projects that I'm involved in So about the Khmer community This is a completely open community that we have created to help organizations embrace Adopt and leverage Kubernetes and we have a two-pronged approach to these help to these kind of Yeah ease of use of Kubernetes on one hand We have a lot of things related to knowledge sharing. So we are a full-blown community We arrange and schedule meetups on a regular basis we are sharing Articles in different blogs about how to migrate and modernize applications in the context of Kubernetes and For example, even on the red hat side of things We have open source or we are currently working on open sourcing our methodology for application modernization And migration within the conveyor community and repositories the other hand of the two-pronged approach that we have for for these Easing of Kubernetes adoption is a series of tools that are being built Around a series of projects that have been contributed for the moment by IBM and Red Hat But we are really open to have other contributors on board We are really focused on this thing being an open community In which everyone is welcome and the proof of that is that we have submitted the Khmer community as a sandbox project For the CNCF we're currently working on getting this thing onboarded on the CNCF Going back to the tools, of course This is an open community So all the tools are completely open source and can be consumed upstream For those who want some sort or some degree of support We also have or will be shipping downstream distributions of the tools which will be available as Supported operators for free in in OpenShift Next thing I want to share Related to this knowledge sharing that we are doing in the community We just released the state of application modernization report for 2022. We run a survey across 700 organizations and companies out there To understand the latest trends on application modernization and migration. It's pretty interesting It's completely fresh and it has been published in our new and rebumped Conveyor.io website. So I invite you to to just take a look at it and Let's get back to the different Projects that we have within the conveyor community So what we're trying to do with our projects is to Address three of the six hours that of the six hours framework that Amazon popularized back in the day So we try to provide help to achieve three The first three of these hours the things that we understand These hours in our own way. So for example, we can see that we hosting as Moving applications towards Kubernetes without performing any change on the application itself That would be for example moving applications across different Kubernetes clusters And the idea is to retain the images the estate and the deployment manifest and for that We will be using the crane project. There's other possibility for rehosting which would be moving virtual machines from the traditional platforms like rev or VMware towards Kubernetes using cube bird or open ship virtualization in the case of Open shift and for that we will be using the forklift project Next are will be replatforming and we can see the replatforming as a moving applications from other Container orchestration with platforms towards Kubernetes for that we have to move to cube project from from IBM research and Finally, we can see the refactoring as adapting your application the source code of your application to run on Kubernetes coming from more traditional platforms like Application servers or servlet containers to have the application running on Kubernetes and for that We have the the tackle project to measure the whole software delivery performance We also have the Polaris product project that will help you Measure or track the different Dora metrics or DevOps metrics associated with as I said the software delivery performance so Yeah, since I'm there the PM from from migration toolkit for applications It makes sense for me to focus on the tackle project and start talking about application portfolio modernization and migration with the tackle project and usually I always like to start talking about Tackle with our vision statement, which I think is simple but ambitious at the same time I will read it We want tackle to become the ultimate open source toolkit to help organizations safely migrate and modernize their application portfolio to leverage Kubernetes Providing differential value on each stage of the adoption process and I want to stress the word safely Because as you might know for the refactoring a scenario there is no magic in there There is no pixadas. There is no magic button that you press and all the source code just runs on the target platform There is a lot of work involved in there So the approach that we had with tackle is completely different from what crane or forklift do which is fully automated our idea is to provide two differentiated things on one hand provide as much insight as possible for adoption leads for Architects leading this migration and modernization process to have or to make informed decisions So a lot of things I provide by the tool about the application portfolio And on the other hand for the developers for the ones that are actually performing the changes on the source code and adapting it To the target platform. We're trying to provide as much guidance as possible and of course some degree of Automation when possible So as I said to prompt approach to two key pilars insight for the adoption leads guidance and automation for the developers performing the changes the idea behind that approach is fairly fairly easy. We are focusing on Reducing the risk to make the migration process measurable and predictable so with that once we understand the The vision that we have for the tool let's get into an overview of tackle 2.0 that is about to be released We have we tackle one release in July just last year has been around for quite some time Has been proving to be useful on the field We are releasing tackle to the next generation of the tackle tooling which will become the upstream project for the migration toolkit for application the next generation of the tool and It has a lot of exciting things it enhances enhances what we probably Previously had on on tackle one. So let's talk about the different components that we haven't tackle First of all, of course an operator to make things as easy as possible So there is no need to fiddle around with Charts and everything everything gets automatically deployed and managed with an operator that is available for all Kubernetes distributions out there the only requirement is to Install the operator life cycle management manager Sorry an upstream distributions if you're using open shift that comes out of the box and should be available from from day one The usage is fairly easy provides a tackle CRD Everything gets installed and configured for you But you still have some granularity to adjust the installation to the kind of cluster that that the Kubernetes cluster that you have And for the moment we have Capability level two for the operator, but we're looking to enhance the the life cycle and make it even even better and more automated So that's it. Yeah, cool. I can install tackle automatically or out to magically but What can this thing do? first thing probably Key or or the driver for the user experience in tackle would be the application portfolio Inventory sorry, which is used to maintain an application portfolio of an organization So the the whole idea behind the inventory is to alert allow organizations to have a holistic view of their whole application portfolio and once they have this view being able to classify Applications in application types using an extensible tagging model that allows them to classify their applications in as many Dimensions as they might want so the idea is to is for an Organization to be able to classify their applications in application types And with that then being able to come up with suitable migration strategies for each one of these application types Aside from that well, we have expanded the application inventory. So now we have integration with a source code and binaries repositories We we can retrieve source code and binaries from different maven or or git repositories even subversion for the most legacy Organizations out there and of course if we are dealing with with source code repositories We need to deal with credentials as well So we have been implemented a credentials managers management system that allows you to have a decoupled usage of credentials So architects can consume credentials without necessarily knowing the contents of such Credentials so that's that's an enhancement on tackle to sort of that Next thing will be application assessment. So Three pillars on on tackle application portfolio management Assessment and analysis assessment will be next and by assessing we we understand a questionnaire driven assessment for Containerizations with ability So the idea of the tool is that it presents you with a Questioner with different answers and out of this answer the tool is able to Identify risks that might prevent you from running the application on containers as it currently is So it's pretty useful to get an overview of your application or application types and start understanding What would be the risk or the problems that you might have when trying to onboard these applications or migrated these applications towards? Kubernetes next step to get more into into the detail would be application analysis So once you have assessed your application portfolio you are able to get down to the detail of each one application and Run static analysis on your application source code on and binaries and try to detect Anti patterns in your in your source code that might be preventing you for from running your your application in Container so right now the analysis beat is only compatible with Java applications Sorry for that, but we're working on on expanded it This thing has been around for for quite some years the analysis mode and we have done what we have done is integrated into the whole tackle user experience and Of course it supports a numerous migration paths and creates and reach a set of reports we will see some examples now and Yeah, let's see for example issue identification cool things that it detects Where the problems are happening straight into your school source code and points out to the exact line That might be a problem for you to run the application on the target platform. It also provides hints it provides Story points For you to be able to measure the cost of migrating your your your application This is one of the key things about the analysis module. There's also a Technology identification system that allows you to get a deeper understanding of the technology a stack of the analyze Applications that might seem trivial, but when you are a large organization You probably don't have all the details about each one of the of your of the applications that you have in your portfolio So this is very helpful to get meaningful and and then real information about the technologies that are involved in each one of your your applications and There's yet another thing which is for me it's kids the dependencies identification And the coolest thing about this thing is that it is able to buy hash Identify each one of the different dependencies that your application might be using even if you are using a legacy application Let's say you leave in the past century and you're not using maven or gradle or anything And just just you're just shoving in your your jars into the main war or ear file this thing is able to identify these jars and Point you to the maven coordinates into the maven central repository So that's great for the process of mavenization of these legacy applications Which will definitely be a requirement from bring for bringing these applications into into the cloud There are Many migration paths supported by the tool out of the box This thing was developed back in the day for the migrations between application servers But we have expanded the rule sets that that the tool ships with So we support things like Of course cloud native or or cloud readiness, sorry We are opening for other runtimes There is a certain vendor that I cannot reveal just yet that is willing to contribute more rules for other container platforms and and and and cloud platforms as well So we expect to expand these rule sets as as times time moves on But you might be wondering yeah, that's cool but what if I'm using a corporate framework custom framework or This technology hasn't been just tackled just yet. What can I do? Well, this thing comes out of the box with a custom rules development model This thing is fully documented. So it's fairly easy using an XML syntax to create your own rules This is very powerful in a matter of minutes. You can be Identifying anti patterns of lots of types or or kinds within your your source code. So Yeah, it's it's fairly easy to also tackle this kind of no pun intended tackle these Custom use cases that you might be finding on large organizations Cool thing about the tackle project is that this being a huge collaborative effort between Red Hat and IBM At least for the moment But there seems to be other one other vendors and GSIs that want to get involved in the in the tackle project as well We have several initiatives for the moment key contributors are red hat and IBM research For example tackle have the main user experience and the application portfolio has been contributed by red hat Also pathfinder, which is the the project powering the assessment module of tackle also wind up Which is the project behind the analysis module of wind up But there are other upcoming initiatives really exciting stuff being contributed by IBM research So for example, we have the containerization assessment, which is able to identify Which will be the most suitable runtime image for an application based on a natural language description of the of the application So it uses AI and machine learning to try to match your description the description of your application with a suitable Container image which will be very very very very useful when we are dealing with a large portfolio With loose descriptions of the technologies involved which with each one of the applications We also have the automated configuration discovery project, which is able to understand The configuration files of a given runtime and translate it into a canonical model and then output any configuration file on any model available available, so translated into human That will mean that for example if you have a spring boot application and you want to migrate to work Quarkus it will be able to understand a spring boot configuration files and render them into Quarkus configuration files They they want to enhance this thing with AI So it will be able to look for hard-coded value configuration bales into into your source code and extract them into configuration files as well There's also the data intensive validity advisor or diva like we like to call it which is a transaction analyzer basically it detects this Distributed transactions in your source code and it's able to Tell you which are the different participants of these transactions and everything So it basically analyzed the storage layer of your applications that gives you insights on the different actors data stores That might be involved which is especially useful when you're trying to your to split your monolithic application into into microservices and Finally we have test driven modernization which Is one of the most exciting things in there the idea behind that is to create some sort of safety net so basically that the main problem when that you have when you are trying to migrate is to Ensure that the application behaves the same on the target platform. So this thing using automatically generated unit test will be able to create a Functional profile of your application that can bed can then be used when the application has been to migrate it To ensure that the application behaves the same. This is a really cool thing. I'm running out of time couple minutes Okay, so let's talk about the roadmap for tackle. I will just focus on the next release By June we will have tackle 2.0 out there. We expect to have an enhanced version of tackle 2.0 Tackle to tackle 2.1 by q3 having integration with some of these Tackle projects from IBM research that we discussed and also for we've moved to cube and you might be saying yeah That's cool, but I just want to try this thing. So Tackle to beta is out now now. So right now it is Available in the tackle to operator repository. There are instructions in there to to install the the tool and we expect to have it Available in operator have by the end of the day today or maybe tomorrow But if that's not enough, we will be demoing the whole thing by tomorrow on the red hat booth There is a demo theater in there. I will be running a demo of tackle 2.0 Yeah for for quarter past four I don't have it. I don't think we have time for questions that I'll be around I'll be around the red head booth So thanks everyone