 Daniel, the stage is yours. Thank you so much, Helukas. Hello, everybody, and then good morning, good afternoon, good evening, depending on where you are. So my name is Danielo, and once again, welcome to join my hands-on workshop around the entire sublet function's journey with the Quarkus. So let's move on to a quick introduction about me. So, name is Danielo, once again, I'm a technical marketing major as a REST, developer advocate at Red Hat, special logic cloud-neighbor runtime of course, Quarkus and Spring and Node.js, and a lot of runtime to develop your business application. And I also spent a lot of time to integrate cloud capability such as sub-less and sub-smash with some practice rather than just product-based features. Out of Red Hat, I'm also responsible for CN7 ambassador and DevOps Institute ambassador to evangelize a lot of DevOps engineers and SRE and even developers, how to build a cloud-neighbor application and architecture in the platform whole portfolios. So here's a bunch of my content information and my recent published my book, like Ansible for Automation, and also there are evil, you can download it for free, and then you can follow my Twitter and the most important thing is you can subscribe to my YouTube channel, Bidney URL, Danielo TV, there are a bunch of the tutorial and practical demos and even non-technical tips for developing and cloud-neighbor application. You can also clone my old example demo on my GitHub repository like Danielo 30. Okay, let's move on. So this is a super important thing at the very beginning. So there are Bidney URL, Quarkus-sublet-labs, if Lucas could copy and paste on the chat, it'll be helpful for all attendees. And just once again, Bidney URL, Quarkus-sublet-labs, this is a whole bunch of tutorial. We're gonna go through the next 55 minutes. And then you can actually scan the QR code and it brings up the Bidney URL. And then here's two things that you can do, you better to do while I'm keep speaking, just presentation, the two things, hopefully some of them you already signed up for free developer sandbox by right hand. So we're gonna deploy some less function to this Kubernetes cluster. As a result, we're gonna deploy the same service function to Amazon Lambda. You can sign up for free, even though you need to input your CC import credit card, but trust me, it won't be charged by red Amazon when you deploy the simple service function because you're gonna delete it based on developer subscription. Okay, let's move on. So I'm gonna quick intro what Quarkus is and why we needed to consider to use the Quarkus Java framework to develop cloud-based application. So Java designed for like a 26 years or 27 years ago. So at a time, Java pre-awesome to design for high throughput, even though there are many expense budget and cost and time, because of the Java design for running the long process and it doesn't matter how needed to use spend time to start up. And then it pre-awesome with the dynamic behavior because once you have a dynamic like a vibe code, like a job file and a walk file and you can run any app server over internet, but you just need to a few app server at a time, but now we move forward to immutable infrastructure to run cloud-based application like a microservices architecture, which means your application immutable and portable and informal. It's not being the Java application. So that's why a lot of people say, oh, Java framework is a pretty heavy way. It's a pretty slow to run your Microsoft application on cloud, even Kubernetes with Linux container technology. More worst thing is sub-less function. A lot of people doesn't take the Java, but they're really more prefer to use Node.js, GoLang or Python rather than Java. That's true until Quarkus was born. So Quarkus, we can say is super tonic sub-a-summit, Java framework is a pre-awesome architecture and design pattern to minimize runtime dependency. And then we delete all that code. And also you can have two choices as a developer to packaging the JBM, like a jar application, like a fast jar. And also you can have a name executable by like a GoLang, Python. And more important thing is you have a same capability like a JavaScript whenever you change the code. You don't need to rebuild, recompile, and re-access that lead restart your runtime. It automatically apply for your runtime whenever you code change, which is really awesome for developers. So here is the build and deploy and run your Microsoft Java application, or I'm going to use Java application, or for Quarkus, you're going to the packaging application with your prepared package tool like a Mabel and Gradle. And then once you build your bike code and then run your app server in the behind the scene, there are a bunch of stuff is undergoing. As an example, the JBM needed to load your configuration file and enable, disable and scanning your classes and descriptor, a lot of stuff under processing underneath. And at the last step, the JBM just actually run your application as thread or pull. So how make the changes to Quarkus? As you can see, we're going to ship the old kind of stuff from right to left, because the old kind of stuff, you actually don't need it as your runtime. So as you can see the build time, you're going to do the average kind of stuff. That's why Quarkus are pretty fast to run your application at the start of time. And one of the good stuff is Quarkus provides native compilation. If you are familiar with native compilation like a Gradle EM, and then Quarkus already support these features couple of years ago. So at the very beginning, Quarkus was born in the 20, almost two and almost three years ago. So here we go. So you can have two choices to run your Java application based on JDK hotspot, like running on JBM. Also, you can have a native compilation based on ahead of time and compilation strategy. So you don't need to JBM any longer to run executable file. We're going to do that in the workshop environment. So here is some kind of resource density perspective of how Quarkus make the change. Quarkus already designed for container strategy. As you can see traditional cloud-native Java style like a Spring Boot, you have like let's say the full application one same Kubernetes worker node. And then if you look, you can only pull the Java application for a limited worker. And then you maybe add twice application with the Node.js. This is one of the reason why people really would love to use Node.js specifically Amazon Lambda because the function on Lambda is all kind of your money. When you have a heavyweight application, if you spend more money to run on top of that, that's why Node.js even go pretty much popular than Java. But let's have to collect that third box with so many Quarkus application based on this native compilation. It's almost same go-rank, so which is pretty awesome. So you don't need to abandon your Java skill at this moment. And then you just adopt the Quarkus Java framework to build traditional Microsoft application, but also serverless function as well, specifically on top of Kubernetes platform. And the redhead invented the Quarkus and also support the native compilation based on Mandrill. Mandrill is downstream project of a GraVNM. It's not just downstream, but also it's added more capabilities such as up on JDK level, and it's gonna be keep evolving, and we're gonna have a plan to support JDK, Java 17, and also there we have a security checking and improved and security problem like a CVE stuff. And also we added debugging capability based on the cryo, cryo is also known as previously container JFR. So here's a fun fact here. It's a Quarkus Funkey. I love this name actually. So Quarkus Funkey allows developer to build portable Java API to create the Java functions. You can once create this Quarkus Funkey, you just need to want a fun annotation on your method and it makes your method as a serverless function across multiple application. You can also have multiple reactive application like using small library project. So turns out you can have imperative application and reactive application with a fun annotation. It makes your application as a serverless function. You can also have a CDI like a context pandas injection or spring DI injection capability just like you can see. And here's a more funky annotation. We're gonna do that. We don't have a lot of time today. So we're gonna remove, of course, Amazon Render which is one of the most popular serverless platforms. And then we're gonna deploy the same application to Kubernetes with KNET, one of the popular Kubernetes based the serverless function capability. So, but you can also deploy the same Quarkus application to Google function and Azure function and you can have a standalone as well. And then specifically KNET everything. So Quarkus automatically generate KNET or manifest as you see to the view of just line up with some quick YAML file. And here to Quarkus Kubernetes deployment to target, you can specify upper shift the enterprise Kubernetes by right hand. Also Kubernetes also KNET. So what kind of deployment target you mentioned, it will be automatically created specific YAML file based on Kubernetes and manifest which is really awesome. So with the Quarkus, you can now create the serverless function and deploy with a multiple serverless platform, just two steps. One is create a code in the second step packaging which allows deploy to remote serverless platform automatically is pretty awesome. In the end, this capability reduce your application development specifically serverless functions for developers. Okay, so I'm gonna quick summarize today session before we move on to hands-on session. So once again, I already make a quick video around this serverless function, not just Amazon Render and Azure Function and a lot of stuff here. So just subscribe my YouTube channel beneath URL slash Daniel OTB. And then here's one more thing. You can find not just Quarkus in there like Spring Boot and Hemchart and Ansible and a lot of stuff you can find there. And recently I created a series of Kubernetes stuff. So if you're not familiar with the Kubernetes or a beginner, there are step by step how to run the Kubernetes by Lumbai example. Okay, so here's a few more resources. If you're wondering what kind of performance metrics between Quarkus versus another Java framework as an example of Spring Boot, here is a free download by IDC report. The Quarkus lab validation, you can find all kind of performance metrics like the footer boot and startup time, response time, key memory consumption, a lot of stuff you can find there. And then another interactive Quarkus separate running portal beneath URL, try this Quarkus. And then I already upload this slide where as a PDF format, our decision page. So free download that thing and adjust the wrapper of this all kind of beneath URL. Okay, so I recently also published reference card in Dzone, how to get started software as a function. It's a pretty similar today workshop, but it's more try to explain what kind of lessons run you got a desk section. Okay, so time to hands on, let's move on. Okay, so first thing, I'm gonna go back to our first step. So beneath URL at Quarkus Submarine's lab. Once you go to there, and then here is the other beneath URL, it brings to here GitHub departurely. And then you can see those enter as a function journey with the Quarkus. If you have, if you anyone have some kind of difficulty or some issue to access this page or even any technical problem and please don't hesitate to ask your question in the chat or the Q&A. Also, you can speak up by yourself. Our awesome moderator gives some permission to turn your mic on and speak up by yourself. All right, so two things are pretty quasi. So sign up, develop a sandbox. When you click on develop a sandbox, so maybe today we don't have much time to go through this workshop, but just briefly keep doing after the session. And then this is a sandbox appropriate for developer once you sign in. It takes maybe two or three minutes and then you can start out our developer sandbox in five minutes. When you click on get started in sandbox and then you need to log in. And then once you log in and then you can find here the log in launch your developer sandbox after you sign in and then revisit this page. And once you launch your sign in and then you can go to automatically with your email address and then go to the next version. And then here is my, I'm gonna use my internal ink but you can actually use any email address to sign up. So once we sign up and the log in and the launch developer sandbox, this will be our runtime environment as Kubernetes to deploy application. So now start using your sandbox. I actually start my sandbox here. So there are two predefined, pre-created namespace as well as a project based on some terminology by OpenShift. Your username dash deb and your username dash stage. We're gonna prefer to username dash deb. I don't believe you have permission to create a new project. So please choose one of them. And in my, in our tutorial, we gonna to use the dash deb namespace today. So there's no resources there because we didn't try to deploy any application yet. Okay. So back to the here and I'm gonna open also Amazon Lambda. So it's for free to like a developer application. You can deploy a few serverless function for free. So that's the one thing you make sure to input your credit information when you sign up. So I'm gonna log in Amazon Lambda as well. B to Y. I'm gonna try to open other thing is, let's try to go make some easy 2N7AMRH. Okay. So I mean my Amazon Lambda manager of the console and then you can see. So go to API gateway and then just make sure there's nothing. So API gateway. So there's no API gateway. And let's try to go to, let's say Lambda here go. And then my Lambda there's, I didn't deploy any Lambda function at this moment. So you will see there are nothing on my Lambda dashboard. As you can see, there's no display. Okay. So back to the here. So please proceed to sign up. This is a prerequisite actually. So I hopefully you already signed up. But don't worry if you did it, just go for it. Okay. So there are five steps today. So I'm gonna try to go through just showcasing like a live demo, but you don't need to watch my go through the demo stuff. You can go through by yourself to read the context and try to understand what really you need to do each step. So for example, so first step, we're gonna generate the Quarkus and Maven project. And then you can use Quarkus CLI when you click on that, you can actually download the Quarkus CLI based on your operating system. So my operating system is the Mac OS. So it's pretty easy to using the blue utility or you can use a JV, you don't need to use a blue thing. Just one single command line is making your Quarkus CLI happening. So you can actually do the Maven command like a Maven create some more stuff. And you go to quarkus.io and then go to like a guide. And then any the big guide through the first application. And then here we go. So here is how to use the Maven command line to generate applications. So feel free to use whatever, what kind of tool you prepare. But today I'm gonna use the Quarkus CLI because Quarkus CLI give you some fancy feature. So make it easier, make it simpler to create and generate and scale for all project as well as add a lot of stuff. So I'm gonna copy this CLI and then let's make a reduce my window. And here's my command line. And there is nothing here, I just copy here. And so it automatically creates a new project just like you can see, output looks like it's created some sample application code in the Docker file to package this application and also a lot of Maven wrapper stuff, as you can see. Then you can see the new directory create to that. And this is totally Maven project. You can use any command line, just like any ID tools. I'm gonna use my ID to VS code. So, and also the second step, you can run the Quarkus application as Quarkus step demo. This is one of the beauty of the Quarkus step UI. When the Quarkus capability, you give us a live coding. So I'm gonna make it bigger a little bit. Okay. And then let's take a look at that. What kind of application automatically generated here? So here's just hello endpoint and just hello rest easy. So pretty simple, just like just hello world. Let's go back to terminal window and then our, here we go. We're gonna run Quarkus CLI demo. You can also Maven Quarkus column depth. So with the same capability to run it. So once you run the Quarkus application, it provides live coding capability for developer which allows, you have change application and automatically apply for your runtime. I'm gonna show you real quick. Once our Quarkus application runtime gets stars as the demo. It takes some time when you run at the very first time because you need to download all relevant dependencies from central Git repository. So we're gonna use the latest Quarkus version 2.6.2. We will release the next version 2.7 in a few days. Okay. So it almost runny. And then the Quarkus demo provide a lot of several features as an example is WI and also continue testing as you can see. So now we're gonna new Quarkus application, WI almost runny. And then as you can see how profile depth activated and then, okay, I'm gonna share it. Okay, so depth activated, live coding activated. Okay, pretty cool. And when you click on press R on my terminal window, it automatically starting continue testing. As you can see, it's running, continue testing. So where that continue testing came from. So here is my VS code and go to test and then we have the one JUnit test here code. So when you go to access to RESTful API, hello. And the return, hello REST is just like we implement actual method here. So one test is a success. And then you can actually for more control press H, you can find the more detail like the toggle log file, like a press J in the log table. And a lot of stuff you can find here. And then when you click on press D, it allows running all WI. I'm gonna make it bigger. You can find here and open the little new view and you can see click on test result. It's automatically show your test result here. Pretty awesome. So based on test driven development strategy, regardless of the general Microsoft application but also less function, this is a super important thing for developer to make your application secure and lower needs. And then it's more available all across your environment, staging, pre-product and product, even local environment. This is super important to keep chasing, implementing your test unit application. But sometimes a lot of people and a lot of developers just skip it. So if Java framework could provide that continued testing by default, so developer doesn't need to rerun like a Maven battle file or add in your third party test tool. It's automatically done that here. Okay, so let's try to access the endpoint. You can actually on the terminal and the press W, it automatically go to endpoint. Let's try to hello. And you can see hello less easy. And then you can also create to open your terminal. And then let's try to endpoint as our lab instruction. So here is go to HTTP, you can actually using call command as well like this one. So I already installed call with the HTTP utility and then you can find hello less easy, just we have a default. And then let's try to add a new one. But just for that, I'm gonna add a four more interesting demo here. So when you go to application and let's try to change it like a hello.dev.comp. It probably, I just saved the file and then back to endpoint terminal and try to endpoint and just re-invoke my REST for API. And then it automatically change the result. But in the meantime, I never ever try to rebuild, compile, and packaging and the deploy and rerun my application. It automatically happened by Quarkus when you go to terminal and then you could find all kinds of stuff here. And the one interesting stuff, when you go back to everywhere you are and then make it bigger and then test the running and then it automatically showcase to log, actually cancel, let me try to reload my, okay. Maybe I'm gonna change the local level and then you can find the one test of fail. It should automatically find that because we just, you can find here test is a fail because find here, I'm gonna make it zoom a little bit. The expected result, hello, let's see here which is already implement our test unit method. The actual is, they have come even though this application functionality works because we access endpoint here but the functionality is working but your unit test is broken. So let's try to quick fix that thing. I'm gonna just make it low back. Let's save a file. Then it automatically rerun. As you can see automatically rerun and the old tests are passing and then go back and then find test is running and then you will showcase a new test result with the green color. Okay, just like we saw here, we go. Okay, so pretty awesome. So let's move on to next. I'm gonna close this one and I'm gonna make it size again and then go back to our lab. So in a deploy our QuarkX function so we needed to add multiple extension of the possible. We're gonna deploy this service function to Amazon Lambda. So to do that, you can actually change your, your Pomex ML. Also, you can have do that if ESCO when you go to here and then add the extension and then in the example AWS, you can find Amazon Lambda. So I'm gonna just follow my lab instruction, go back to terminal and then paste the extension at the QuarkX Amazon Lambda HTTP and then you can find the extension edited when you go to your BS code and then Pomex ML you can find to automatically dependence editing and the relevant library already pulled on your local file system. So you can actually find the more installable Amazon related dependency. There are a lot of Amazon related dependency like Lambda and also a lot of F3 and SSM also IAM and RDS, a lot of stuff you can actually use Amazon Lambda services to integrate your QuarkX application. So let's try to change my application, go back to service. So first of all, we're gonna create a new services here to CDI injection. We already, I already mentioned on my slide where so new creator file, like a service file and then copy this application, the method as you can see, it's just application scope and the one double method of the greeting and then just get a parameter like a name and then pass down the parameter with this. Here is a static text to enter serverless functions with a QuarkX with your name. And then go back to our the resource file and let's try to just take a look at that a little bit longer. So here is a pass, you specify your endpoint and let's pull API and let's try to change that. And then now you can see the same path, same path and then I'm gonna add a new one and to change that here, hello serverless. And then new method here with the greeting endpoint and just invoke the CDI injection using inject annotation. If you're familiar with the spring for the application you can find like a same capability like an annotation order wire. It's the same thing inject. Okay, so it's a move on and I'm gonna access the endpoint because we're still running our QuarkX demo. Here we go. And I'm gonna add, it will return the new text like a hello serverless. Now we hello serverless. And then I'm gonna try to another endpoint with my name Daniel and enter serverless functions with the QuarkX with Daniel. It's pretty awesome. And in the meantime, I also didn't recompile and redeploy some of the fiction as well. Oh, I can't find the new one. So then I just find the typo, just feel free if you have any issue or improvement stuff please feel free to create a PR in this repository. I'm more than happy address your PR and issues. Okay, so we're gonna change the application as well because our adder find here the continued testing perspective. We got some stuff here. So let's go to ID tool once again and open the testing URL. And then as you can see, so we need to update our method here into serverless. It automatically testing go to endpoint, it will be okay. And now we're gonna stop demo just control C or command YC. I'm gonna move with TN. So I just start my demo. Everybody is doing good. If you have any question, just put on the chat your question and any technical issue. I just build this application like you can use the Maven Clean Package. So we do this program option, dash dash no dash test or I'm gonna skip unit test because we already succeed the unit test during live coding and continued testing capability. So once you packaging application, you got a bunch of the generated file in the target directory. And then just build success and then go to ID tool and then go to the target directory combined bunch of the function g file and the same email file. I'm gonna open same email file. The Amazon provide local test tool like a serverless application model aka SAM for deploy application JVM or neighbor compilation as well. It's automatically generated. So you don't need to figure it out how do I use Amazon SDK or Amazon CLI. You don't need to use that because corpus all take care of you by default. Okay, so back to the tutorial. Here's some kind of explanation what file means here. And then you can actually run locally use the same application. To do that, you need to run the Docker like a container runtime. And I'm gonna speed this one to save my time but you feel free to go through the all kind of local in test to bubble you actually deploy in production Amazon Lambda. So let's try to deploy right away. And then so one maybe I just skip it here. Okay, so we're gonna use the Amazon HTTP API. So there are a few things you're gonna use HTTP gateway or a recipe API to deploy a serverless function on Amazon Lambda. But today we're gonna use HTTP API is pretty simple and we don't have any complex capability on my serverless function. Just it's a recipe API. So to deploy to do that just using Sam command line and I'm gonna try to Sam deploy using target JVM. And then let's try to the stack names of corpus function. So we're gonna reuse this one. I'm gonna try to deploy yes region. And then I'm gonna to confirm change in bubble deploy and load creation yes in the disable low bank. I'm gonna say no. And then it's all okay. And I'm gonna pin yes in the save the computation file. Yes, the computer people and Sam computer Tom file. Okay. So once I'm gonna do that, maybe I'm gonna a little bit bigger. And then the environment deployable yes. And then it takes a less than one minute. First of all, it's a creative bunch of the file unloaded to your as the three. It's automatically created at the three bucket print all the application stuff. And then it waiting create all kind bunch of the Amazon resources here as you can see, we're gonna create the IM low to access Amazon Render and actual function and also API gateway. It looks good. I'm gonna press Y which he allows to deploy this service function from my local to remote Amazon Render. So let's try to go to Amazon here. And then go to API gateway first of all. And then you can see the new research to keep creating. So first of all, AM low just created. So let's try to go to AAM or identity access manager first. Here we go. IAM and if you have any question, I'm gonna click on just a quick check any tab or there's a no question which is pretty awesome. And then we just create all kinds of stuff here. So I'm gonna make it bigger. And then we have four roles and the one of the roles to just create this like a Quarkus function and enter some of this role just automatically created based on a same file, same command line. And then let's go to API which he allows and user to access our Amazon Render function from external like from my web browser from your application with the RESTful API. So here's a new Quarkus function API which you have, this is our URL. We're gonna copy, I just copy, we're gonna use that. And then let's go to actual Render if our Quarkus function actually created at this moment. And then here's our Quarkus function based on Java 11 and then here's your size here, the 13.6 megabyte or kind of stuff. Okay, so go back to our the here and you combine the API gateway, automatically create an Amazon Render thing. So let's try to access endpoint like here. So I'm gonna open resizing and tell me now. Okay, HTTP, I just copy the endpoint from HTTP API and then our RESTful UI and greeting and AWS part. And it will showcase the output like an enter subres function with the Quarkus comma AWS part just like said. So now we just deploy a new one and then you can also deploy a neighbor comparison with this stuff. It takes some time build your application. I'm gonna skip it today but just be free to do that. And then once you deploy and then go back to Amazon thing and then I'm gonna make it bigger once again and then go to monitor and then you can automatically create the cloud watch matrix based on that. It's all kind of capability on your application monitoring based on the Quarkus functions. Okay, it takes some time to gather your matrix. If you go to terminal and keep invoke the endpoint and it will show us up. So you are the invocation and so forth, et cetera. Let's skip it and then go back to our tutorial and I'm gonna quick check my chat room and granny, I think no one have a technical issue. Okay, and then when you deploy that comparison it will, you could first of all, packaging application. Let's try to do that, give it a try. We have a 15 minutes though. So I'm gonna build application. Oh, just one second. I'm using mega OS. So in mega OS maybe you needed to, because when you compile native executable file it depends on your operating system. For example, I'm using mega OS the native executable file only runs on my Mac OS based on Mac OS file format. But we're gonna deploy this application to Amazon Lambda which is running on Linux operation. So Linux operation system, we're gonna change the Linux format but in order to do that on Mac OS you need to native a build based on container runtime like a Docker. So to do that, I'm gonna go to my ID tool and then opening application proper file and then just edit the one single application configuration here. Quarkus enabled container-runtime is Docker. And then just try to your native escape the unit test. It takes a really longer than general maybe packaging because we're gonna, there are a few more steps. So first of all we're gonna package this application as faster like a job file. And then we're gonna make a native executable file with it based on the job file. It takes some time. Just imagine that it made the build native executable file you needed to put in the old kind of necessarily library and application code and static code as well. So just imagine you containerize the Docker image. Excuse me. So the first of all, you're gonna download UBI Quarkus native image to build this application as a native executable file. And you're gonna, if you already go through this workshop on top of your Linux operating system like a rail or for the world, you don't need to take this step. Like you don't need to add this configuration because in the Linux operating system you can packaging native executable based on Linux file format, which is really awesome. But there are still a lot of developer out there try to use Windows and the Mac OS. They should need to run Docker container on your local machine as well as putting the disk configuration in the application property file. Okay, so just go back to our instruction. Let's try to take a look at that. What will be next step? Once we're done, native compilation and then you can find the deploy once again using native.demo file, rather than just JVM. And then we're gonna add another new function stg name to differentiate between old one and the later one. And access endpoint. And then finally you can find some of the metrics in the cloud watch. Excuse me. Okay, so and then once we don't deploy this application to Amazon Lambda, and then we're gonna change that using Amazon Lambda with the phone key. It makes your application code pretty much simpler. So as you can see, we deleted all kinds of stuff and then just limited the phone key annotation here. It's a pretty good for us. And then we're gonna deploy once again. And then last thing we have a three application. In the next step, we're gonna deploy the same application to Kubernetes with the phone key annotation. We're not gonna change any application code, but you can have actually deployed that application. So we don't have enough time to go through all kind of lab instruction today, but this is a proprietary available 24 seven publicly. So feel free to go through the app workshop. So I'm gonna try to make you understand how to go through this whole kind of hands-on experience to develop serverless function based on Quarkus that makes your serverless function a little bit more agonistic function across multiple serverless platform. That is the end of the goal after this workshop. And then hopefully you got some experience to familiar with the serverless function development with the Quarkus application framework. So it thinks almost done. I'm gonna make it bigger to see the logs. Okay, it's still maybe one or two minutes left to finish native compilation. So I don't think I can go through deploy serverless function to develop a sandbox today, but I'm gonna try to, I'm gonna do best as long as I have more time today. So in the meantime, anyone have any question regarding some serverless function or Quarkus? Just ask any stuff. I can ask that question based on my background. Okay, so I just check the chat and then QA, Q&A, there's no question there. Okay, is there anyone having some problem to sign up develop a sandbox? And then please let me know directly after the workshop. You can ask me by Twitter or you can comment on my YouTube channel on the relevant serverless demo. Okay, I got one question. Can you add maybe add the information how to log in to SAM or SAM deploy guide please? Sure, it's really good idea. So, okay, really good idea. I will add this introduction and guide on my lab tutorial. Thanks for suggestion. I will do that. Thanks, Martin. All right, okay, it's almost done. It depends on how many Java application logic you include in your serverless function. So just here's your form fact. You don't need to build native compilation all the time whenever you change the code, whenever you deploy application. So in the more realistic best of practice to build native compilation, you might need to add this task on your pipeline like Jenkins or Tecton. So you just keep doing developer demo and live coding and keep changing that. And then you just one time packaging native executable using CI CD pipeline, which means you don't need to spend a lot of time on your local environment. Yeah, you're correct, Martin. So once you deploy three function in Amazon Render, Amazon won't be charged anything right. So end of the lab, you can find how to delete eagerly sting the function. So I tried several times and I never ever pay for that. So if you really be worried about that, payment just deleted after you come from your function over there. Yeah, so when you use the same command line to deploy your Java serverless function to Amazon Render, so relevant to the S3 permission and the IAM law, also known as ARN, it's automatically created for you. But the intersection to function, you actually create your own any Amazon Render law and then you just mapped their law, it automatically mapped to access to your Amazon Render function. And then the Corker-Sephonkey application doesn't need to have S3 bucket stuff. Thanks to Render to bring that up, to ask any question in the Q&A tab. Yeah, that'd be awesome. And then once again, if you have any question or any other issues, just feel free to ask me directly or bring the issue in the delivery part three. Yeah. That's right. So do you have some error when you run the same deploy command? So you can print the error logs, chat or print the issue and I'm more than happy to address after session. We have only four minutes left today. Yeah, this hands-on workshop, it desire to spend at least two hours actually, including understanding each section. So if you have not familiar with Amazon Render or K-native like Kubernetes, you might need to understand, click on that itchy link and then find that, okay, we just done. Finally, done. And then, so let's try to go back to native compilation thing. Okay, here we go. I just copied it, command line. And then we're gonna do the QuarkX native function. It's a little bit easy and then just copy it. Yes, yes, no, yes. So it's a QuarkX fun key. It's a pretty much convenient to deploy the application, including Amazon Render. You don't need to create the HTTP API, which means you will save your research on Amazon, which means you spend less money in the end in a production environment. And then also, a lot of the company have some multi-cloud strategy, not just normal application, but also serverless as well. So I just created one business logic application and then your company asked you, ah, we need to deploy this application in some way on Amazon Render on each time zone. And this application could be deployed to Kubernetes, one of our data center in EMEA time zone. So in that case, you don't need to add developer, change any business logic. This is one of the awesome thing to do that. Okay, and so it deployed your application and then go back to Amazon Render thing. And then go to function. It will create a new function as you can see here, it's a native function here. So, and I'm gonna try to, at the last thing, just go to endpoint, just copy endpoint. So today my MacBook is overflows. So maybe it's take a long and O3 and HHS native part. And you will the endpoint, the different endpoint, as you can see here. All right, I'm gonna go back to my slide where just summarized today. So you even got along how to get started in Quarkus, summarized function based on our, the Quarkus capability and then just to make sure go to my website, go to my website, go to my YouTube channel. And there are a lot of existing demo including around this Android as well as another lot of stuff like security and database connection and a lot of stuff. Not just serverless, but also general Microsoft application building URL then your TV. Okay, so I'm gonna add the guide and feel free to suggest any issue and any suggestion. I'm more than happy to address. And thanks again, thanks for joining my session today and then hope you guys enjoy less of a demo conference to check with probably. Thanks again and have a good rest of the day.