 Hello, everybody, and welcome to open so some in North America Vancouver. And my name is Daniel, and once again, I'm super happy to be here and even if it's a virtual session, and then please welcome to my session. I'm going to really be talk about conveyorly platform from cloud foundry to Kubernetes. And my name is Daniel. Oh, I'm working for Red Hat as a developer advocate with a specialized cloud never run time. For example, spring with Quarkus and bunch of the job on technology, like a J4C. We spend a lot of time to bring more application into Kubernetes slash cloud provider such as OpenShift, Red Hat, and then bunch of the cloud provider like Amazon, Google, Microsoft, et cetera. So with that, I spent also a lot of time to specifically use cases to using applications, sub-race, sub-smash, and lots of practices. Because I'm also responsible for CNCF and cloud network computing foundation ambassador for the past five years. So with that, I got a lot of opportunity evangelize both developer and IT operation team in terms of how to build cloud network architecture across the data center as well as public cloud for hybrid cloud strategies. So here's my contact information to follow my Twitter. You can subscribe to my YouTube channel and you can work my using tutorial and then my application from my data poll. Oh, then you're all 30 and more than happy to listen to your feedback and question with my social. Here's a quick my book here as well, the practice answerable to any Quarkus sub-race function of the D zone. Let's take a one step back, try to understand what we actually go into replatforming from cloud foundry to Kubernetes. So back in 2014, the many enterprise company tried to adopt a new cloud services, which is a platform and just service aka as based on container technology at a time. Everybody's saying Docker container for now we're going to have more OCI standard container format. However, in that, at a time, a lot of people jump into the past platform services because it gave you and a project company with the efficient infrastructure maintenance as well as more application portability and immutability. When you adapt to more scalable high performance infrastructure to run business application. So how to get starting your digital transportation and many enterprise company to get started adopting platform as a service at a time. Now you got a multiple choices like a technology and tools and even vendors offering solution. As an example here, a container with the Kubernetes with provided container orchestration with the standard Linux container such as darker. And you can also have different truth is for example, like a swarm because a lot of developer already got used to using Docker container using that simple CLI to internalize the application that we need Java and but also Python go down there, etc. So Docker swarm at a time, it allows the developer to pretty much easy to use and simple application deploy your container platform. And now they are also in the right and bottom side cloud foundry, which he invented by people know is the merging into being there. But at a time, a lot of developer actually do practice how to build micro services based on top factor. And then there are many projects how to build micro services in good and even done that application. So we did that specifically job application out of the foundry. It was a fantastic practice for developer how to build container application, specifically states the micro services with their own technology, how to build and contain energy, which is guarded and built up. So let's try to deep down the enterprise a company who actually made a decision to choose a cloud of foundry for their digital transformation journey with the cloud with the past. Like I said, at the very beginning, a developer, they will have any steam learning curve to adopt a new container platform to their test environment and Photoshop environment, not only developers but also IT operations. Because there are already many experience and practice, which is cloud of foundry provide, for example, here I and the when you why how to build container image and deploy it to container platform. Things change that after a few years, and then container platform needed to be taken care of the many different capability, for example, high scalability and high performance. And also, the more important thing is you need to actually adopt third party tools or library to maintain your application as well as for monitoring security and observation on top of the cloud of foundry is not easy to adopt their new technology flexibly dynamically, because they have their own technology garden built back it's not easy to have to new technology, even if it's a project or even standard is a perpetual technology. The big reason why here is that the market already adopted Kubernetes as a standard container orchestration platform, which means all ecosystem only consider a Kubernetes as the container platform market. For example, I need to develop or implement a new monitoring or observation tool running on Kubernetes and in plus. So previously, the vendors and other party company, a lot of choice to take care of the Kubernetes cloud of foundry and the focus form and even messes in Apache foundation. It's really hard to do as every single vendor is to take care of all distribution. Now the standard Kubernetes is still a changer and they only have Kubernetes for equal. So that's why in other side, the foundry is getting hard to adopt new technology for not only individual developer for IT operations across the main. What is the big change for cloud foundry adapters? Yes, that is the, they need to be to be survived to be running a bit critical application and then keep running the existing application and support by vendors. Just open through this. So to do that, they need to think about, okay, we need to migrate from cloud of foundry to Kubernetes. How to do that and then how much money effort and time we need to think about to make that happen. That's the reason why conveyor was designed and developed to store this kind of from not only migrate from cloud of foundry to Kubernetes. It's more like some long learning paths for the migration and management journey from application of for real to implement a year. So let's get into a little bit detail of what conveyor project like what kind of benefit you have to convey your project for your modernization journey. So in order to that let's try to so go back to and think about digital transformation. So when you in like a 10 years ago, even when you get started when you get starting digital transformation project, you maybe have some person with the business vendor so you actually or you can ask them so I can ask them public and ask you can ask public cloud providers or even a certain company how we get starting and what kind of technology we need to think about that for migration or brain. And then they already said yeah it's pretty much easy. So you need to do something like a modernize your application, modify your process also to change your culture adaptive then you develop a process and then develop the practices. And then they keep asking that a bunch of directly when you adopt a DevOps. I don't need to think about not only technology for also process and future, which he allows to adopt new technologies in listening and literally, but also when you maintain the technology. But the orderly, you have to change your process, for example, as I methodology and practice a veteran, a big bang style application, then run and go into in production. So this is just some kind of no knowledge and practice, but the challenge for you and then each company specifically you already adapted from old technology, for example, cloud foundry and then your questions. What do I actually do in the way I do I guess starting and how to get around this practice from online training or vendors. So this is a very interesting survey. We have interesting survey here. How many in a project are going through it. And then according to you better find the market research application operation. It was almost values 7.7 billion dollars in 2018 and then we increase almost three times like 31 billion dollars by 26. And then the application model in the search market size also practically increase in the after the increase from 11 billion dollars to 24 billion dollars by 25. So this year 2023, so we are most just left. So the problem is here that you got a lot of opportunities. It's not an option anymore. It is mandatory to innovate your enterprise application services, but also to save costs for maintenance infrastructure and got a more reliable, reliable, flexible and high-purpose application. So question is you don't need to waste a lot of money and time and effort to follow this journey. So you can for the two better in the faster and the higher way that happened for your application. So probably you're looking for some nice tool or a solution or a solution pattern from vendors or open-source community, just avoid this mistake and achieve a lot of money and time. It's just a way to, you can ask your existing vendor, you already have a project or a solution. So for example, a customer you already have your cloud founders from your application, your business services, and then you can ask them, hey, so we need to think about modernized or a minor cloud founder that is a solution provided to us. And they can say my, oh yeah, we have some nice migration tool, you could use that and modernize your existing cloud fund. Some are Kubernetes cluster, which is your on-prem data center or Amazon, or Azure, AKM. And then the challenge for you, again, you've got too many tools, technology, typically proprietary tools, because many vendors, they only provide their own tools, which appeal to their technologies. So we can only support this tool, modernize it. This target is more relevant than the standard open-source platform. That is a big challenge. So let's try to really think about what kind of challenge it is when you have the proprietary vendors tool. So the majority of the existing tool is pretty much a proprietary tool, proprietary tools, which you only support some vendors, target, Kubernetes, or a target platform as a service environment. But even if you would be okay, okay, because the only thing I need to do is to modernize this application to standard Kubernetes environment. However, once you modernize and you all once again, lock in the technology. So the first thing is open-source data, but you need to learn the technology as you get used to how to use it in a practice user as well. And then once you adapt to some of the methodology with the vendors and pattern or practice, it should be only applicable in your specific organization, not broadly from organization A to B across your company. So when you adapt to new technology and tools for your modernization, for example, Cloud Foundry, you also think about the trend, because you've got to try to just start like an MVP or a different concept. Once you've got it, you need to want to scale out that success story. So this is the reason why, again, it can be your project and the community was born and raised. The main goal of conveyor community allows you to rate your application modernization to Kubernetes rather than any other vendor's Kubernetes services. So with this community, a lot of people are so much passionate about helping others modernize and migrate their modernized application or a Bandarok app. Through building new tools, best practice on the platform and rehost and re-factor the application, not only application, but also the infrastructure barrier to the Kubernetes. If you're into the journey and path to the Kubernetes adoption and barrier project and a bunch of the open source technology, you're going to try to get started with the assessment, your application portfolio, not only application, but also infrastructure. For example, how frankly are you going to deploy your business application in production. Individual developers already get used to know how to use CIC. Any kind of natural path to the static IP address and or so what kind of observability monitoring tool you're going to use and how to handle bucket breaking. There are a bunch of the questions you need to consider when you assess your application, not only application but also infrastructure. It can be done by one single person. You can bring an entire organization and a quarter from developer architect, DBA and administrator and cloud admin and even QR team. Then after that, you can rationalize it. On this side, we're going to go this way like rehosting the platforming or re-factoring the application. Then you're going to prepare the resources, which is time, effort, and money for all the human relations. Well, you're going to give a try to a concept or some other project to release and then once you've got to succeed and you've got a good enough knowledge, but also practice, let's get out your story entirely. You're just as well as the company wine system in production, you can find the more detailed methodology with some relevant practice. You can visit the right bottom on the bottom of the URL to get up.com, conveyer and methodology. So here is the $10,000 fee umbrella conveyor project, what it looks like. And so there are many people actually passionate interested in the project. They're building up and they keep developing and improving conveyor tools in the niche. And then the IBM and Red Hat are showing during this project and we are looking for a community contributor to be part of this project. That's why the IBM and Red Hat productize in this conveyor project tools for customers. We can also provide an individual developer for free tools. Red Hat migration to give for runtime in our raw developer model. From first target, for example, for the version of the JLK7, of the JLK17 and the JBCP6 and AP8 also spring to workers and there are a bunch of them. Conveyor project, conveyor community and project actually by the multiple tools. Here we hosting and app-mean factory. The rehosting is a crane. Remember what is the rehosting in case you never heard about that before. The rehosting is a really repetitive application. For example, you were running your existing Java or downloaded application running on bare metal or virtual. And now you're going to just running on different. So we're going to really be deep dive into today and then a little bit later. The refactoring is really reviving application. For example, you have a model application for Java like a web server and app server. And now you're going to more high scalability and loosely couple your record service. But with factor, not only Java, but also standard Python, et cetera. In other words, you need to rewrite it. And of course, there are tackle, which are also your application. Et cetera, but for you, I don't know. Okay. So today, as the our session title, we platform from Foundry to Kubernetes. The rest of it will focus on move to queue. As literally you can say, as literally you can see, we're going to some kind of move our already workload to the current. So as you can see, you can you can go to data repository under the conveyor and move to queue. You can find a multiple source to target. For example, you can leave platform from about Foundry to Kubernetes or retails. That only just normal workload, but also serverized. Advanced deploy strategy using ham chart and active Python. Like that. You can also leave platform like our application. Like a ham kit. Like a JLCP. And then when it's made from that cost form and approach with platforming. Today, by all means, today, we're going to only focus on Cloud Foundry to platforming to. So today we're going to, today we're going to focus on the platforming from Cloud Foundry to Kubernetes. Okay, let's get right into the demo of how it works. First of all, we can go to conveyor.io page, community official page. You can go to in there and combine a lot of information and documentation. When you go to there, you can scroll down there a bunch of two and we're going to really focus on moving to the project. Now, when you click on learn more, you can find how to install the application using when you buy or CLI, which one do you prefer. And then we're going to really be more try to use when you want. Now, when you go to tutorial, you're going to use when you want or CLI, how to start and then how to import the application and modernize. Okay, so this is my terminal window. And actually, I'm going to use when you want to use container image, you don't need to install it. So using container image. And then here is a Docker run, and you can use a part man and the way that you can be a move to Q UI and. So let me try to run this Docker command is so literally start that move to Q API. It's the API. And then when you go to web browser opening and local city, and now you can see the when you want version move to Q, which is cool. Let's try to create a new workspace here. Let's say my workspace. Now I'm going to create a new project here. Let's say cloud founded to Q CFQ. And then I'm going to try to include actually the modernize modernize the application, which is happening. So I already have the sample application here, example, Z file, I just choose and upload it and it's starting. You can actually have a multiple language path. So this is a Java application. That's why you can find the Java Maven and then already sample application. Palm XML. And then there is a bunch of the transformer. It allows you to have more advanced Kubernetes ability. Not only just normal application, but also our city and the GitOps cloud founded a bunch of operations. You can actually later on the open this OEM file. And then there are also K-never Kubernetes and Maven. You can deploy the subres function as well. Okay, let's try to transformation. Now I'm going to hit return and hit next. And then if you want to specify when it's like styler, then you can specify like a label. I'm going to read empty by default. Now here is all transformer type you are in. I'm going to just read the default, but let me try to read it. Just like you saw in the migration plan. There are go city. Now you're going to generate for view comfy. Then there are K-never and K-never services just in case. When you select all this kind of stuff and you got a bunch of the YAML file to run on your Kubernetes processing. Okay, this is services Java Maven. And then I'm going to build the application based images. And then next step. So I'm going to expose this service like 8080. And then there are some service transfer runtime. I'm going to try to J-box at the moment. But you can select the home care or delivery. And here is specifically registry. You're going to push this image into some kind of container registry by default. It's a query.io. But if you don't have any, if you don't want to use a query.io, you can use any other container registry on Azure. For example, dark hall or Google container registry or your internal private container. I'm going to use query.io. So here is my image name space on my creation on query.io, which is Daniel author. Okay, I'm going to go to the next. And here is the cross tile in the Kubernetes. As you can see, there are many different types of Kubernetes. The Amazon EKS and Azure AKS or Google GKE or IBM IKS or IBM official and then just publish Kubernetes by default. But today I'm going to try to use developer sandbox by Red Hat developer program. So which AROS developer provides a free Kubernetes cluster. Even if it's a limited Mr. Sage for 30 days for free, which is really cool. You don't need to assign or you don't need to give some credit card information about the provider. So I'm going to use that. So I'm going to select open shift at this moment. And then go to next. And then so when you use Kubernetes and you need it to progress or some kind of know the purse configuration to ask the application. The open shift and you can open shift automatically provide the route URL, which is now based on HTTP proxy operator. So you can add or see you to access. Fully, a qualified domain name in the end by excellent. I'm going to just create my service using cross IP. And then this is just some fantastic as well. So when you deploy to application to modelize the application. So you literally have some more reliability from the other. So replicate to which is a recommended way, which means we've got some other one of the application. The automatically Kubernetes will be balancing all incoming traffic running in the application. In the meantime, the current is just so that some better part and for our map, which is already different maintenance practice by the operation. That's what I'm saying. You need to also change culture, practice and process with what's up to new technology running on. Okay, I'm going to just read. And then, in order to read three underneath authentication because I already have my local. And then here's the ingress host name. So let's say this is actually a sandbox URL. However, you don't need I don't need to actually use this one because I'm going to use. Well, you are better than the rest. Okay. So, and hit the next, it automatically generate output here. And I can download it. This output as the file, and I'm going to extract the G file. And I can open in some ID to get what it looks like. So I'm going to just running on my ES code. As you can see, I'm going to review me. And then you can see that there are the m2k file, which is I select and then here is the compilation, which is exactly selected. The UI, you can change that. You want to be transparent. And then when you go to your workspace, there are three different directory. One is deploy which all compilation for this update. A script is about build application as a container and pushy application containers. You go to the build, the script, the default container and Docker. You can also change the department. And then if you select like a Node.js or a different language, find a different base. But today I'm going to use the Mac OS M1, which is just in an image. 64, which is not going to running on Kubernetes by default. So this I changed a little bit at the platform top. The build type is the Linux format is an x86, four gigabytes. I'm going to add the two build images. And then this is a push image best script. Once again, the default container run time is accurate. And the default container registry is a query.io, which is a namespace with my username. You can change that any kind of registry, directly this is a script, or during the worldwide what you do. You can put your preferred registry. Okay. So let's try to take a look at the deploy directory. As you can see, we always select all different options like CI city, I go city, and then the platform pipeline. And then also there are some configuration and I go city when you go inside and this is just a demo file. You don't need to worry about all the same file because previously you have some only configuration demo property file or deploying your existing application. Finally, now with this conveyor, move to queue, replatform into actually all relevant Kubernetes best and resource demo file. You don't need to be engineering this. This is the beauty of the build when you replatform Cloud Foundry Kubernetes once again. And then there are a bunch of these configuration or your CI city. And here's the interesting part. So what is a K native? So in case you have never ever heard about the K native before, the K native is a CNC project. It allows you, like the IT operation team, but also developer to manage your application and deploy your build as a stubber as unpublished. For example, I want to deploy my application. It's like Amazon Lambda or Azure Function on top of the Kubernetes. How do you do that? So K native make that happen. But you need to rewrite your existing Kubernetes manifest like deployment or batch job. As you can see, the client, the service which is in observing, we need to rewrite existing. Cloud Foundry Manifestor or even using Kubernetes Manifestor. With this tool, you automatically generate this YAML syntax. You don't need to know how to rewrite or how to specify your K native service and test it. So in case you deploy this application. Another YAML is just general, your deployment resources like Java, maybe deployment as you can see. And then we just do the visually same image, full pass. Like by that I yield, then you're all three zero and then Java may be finished. And you can also then your services as well. Okay, I'm going to switch my terminal window and then I'm going to try to deploy this YAML file to my Kubernetes, which is a relatively purposeful. But first thing, let me try to change it by directory. And you're all in a download output. And also I'm going to try to go into on the script track. Okay, so let me try to build my app first using the build. That's great. If you're using Windows Operate, it's still equal in that file. Let me try to really make it faster. And then I'm going to just build the new application. My internal runs. There are two images in the build. There are images in the natural of the application. The image, which is Java, maybe. Can actually specify multi architecture to build application using inner architecture. So let's try to find out the container image actually generated in my local Java Maven and a building application. I'm going to push this image into my query registry. So it pushes my registry and the two actually images. Okay, I'm just done. Let's visit to my query.io here. And I'm going to try to filter in using Java Maven. And now this is Java Maven. Just push that. Then you go to tagging and label is latest. Which is exactly same already defined in my Yemo file. This is my developer sandbox and my empty names. Let me try to create a new project here. So first of all, I'm going to make sure I'm literally logging in the right projects. They're just really your registry, the empty project, there's no resources. So now I'm going to try to apply this application. Or just also apply. You can use as a code. As you can see, now new application deployed. You can see two application replication. And you can actually go inside the view box. You can see here is a Wi-Fi version. Just running on it. It's much faster. My application will be platform from Cloud Foundry. I just ask if it is wrong to see the Java application with Cloud Foundry. Okay. So I'm going to just get my service, which is Java Maven. This is across the IP. So I'm going to expose this service to access from my external services. So now I have a route URL. Just go to get route. You can have a fully qualified defined URL. And when you go back to Apology View in developer sandbox and OpenShift. You can see there is a new icon Open URL. When you click on the URL, and you can actually get into Wi-Fi server. So this will read. I just like a resident hand-meaning. I will create a formation and we preform it. And then we preform it in Cloud Foundry. We preform it with one of the existing Java application running on. They will see it. I'm running on the Java switch. Okay. So that's it. That's what I'm going to showcase today for the demo, how it works. Let's try to go back to our conveyor community. We are interested in more involving in the conveyor project. We have a 406 query at this moment. A 64 and a UI and a riser and so on. So if you want to see a vision in my project, into conveyor project, we are more than happy to have you. And then here is some slack channel and then how to subscribe, subscribe to conveyor community and more information. And then here's a YouTube channel. Then you can find more information relevant to conveyor project, not only moving to Q, but also the other project as well. And I also created more than 100 tutorial videos. I'm so encouraged all of you to subscribe to my YouTube channel here, the YouTube channel Handler. Add Daniel out through zero or bin the URL Daniel TV, or if you scan QR code, there are many other, there are many tutorials, not only Kubernetes, but also the conveyor and then Quarkus and microservice function. And then you are more than happy to give some comment or requests. For example, hey, Dan, I really want to run something, you want to run GitHub's pipeline and then you can just create the news like a five less than five minutes video. Sure. Why not? It will be given some more inspiration and motivation and keep doing this kind of tutorial video. Yeah. Once again, feel free to subscribe to this channel and give some more inspiration, feedback for the year. That's it. Thanks for joining again. And hopefully you enjoyed this session and feel free to reach out to me directly on my Twitter and LinkedIn and YouTube channel. And hopefully you enjoy the rest of our open source summit. Thank you. Have a good rest.