 All right, so I'm going to start it then. Hello, first of all, and thank you all for coming to the talk Cloud Foundry for everyone. This talk will hopefully is intended to help people getting started with the Cloud Foundry platform and technology. And as you can see from the title right here, there are two names on the list. And as you can see on the photos here, too, there's my colleague, Myrna, and the other one, that's me. Unfortunately, you can see that I'm standing here on my own. And this has a bit of a sad reason. Actually, when we submitted the talk, worked on the talk both together and got accepted. Unfortunately, after that, Myrna did get her visa declined, and she was not allowed to enter the United States. And that's something I don't find really good. But there is technology, and technology can be better than those stupid immigration rules. And with that technology, we're actually able to bring Myrna in. So there's Myrna. Myrna, you can say hi and wave now. And I up the audio. Say again, please. We can hear you now. OK. Hi. OK. Hello, everyone. Whatever's loud enough. OK, so we didn't know in the beginning if this is going to work or not. So I got to do most of the presentation during that talk. And later on, we have a few steps of a live demo. And that's basically where I tried to do some screen sharing with Myrna, and then she can do her part then. So I'm happy that this works. And let me then switch over to the agenda. So as this is the one-on-one track, I figured the situation for people being very new to Cloud Foundry and interested in Cloud Foundry. So we tried to summarize a couple of things which might make your life easier to get started. So by the time you leave that room again, I would like that everybody has a bit of an idea. Where can you get generic information and help about Cloud Foundry? I give you a bit of an insight on the basics of the technology. Basically, a couple of fundamental things that I think you should understand. A bit of an insight on the command line interface. I will also talk about the lovely Cloud Foundry community where I'm a proud member of. How they can help you getting things started or getting to learn things better and become a real master in that. The majority of the talk will basically be to get a bit of an overview about the various Cloud Foundry options. So basically when you're new to it and then where can you start? How would you get your first deployment experience and so on? And also a bit of a look out into the future. So the way I started this, I'm besides my consultant job at Novatech and running the Cloud Foundry Meetup in the area of Stuttgart, I'm also teaching cloud-native software development at a university there. And I had two students hired and I basically gave them, I knew that they were new to microservice development, content of technology and Cloud Foundry and things like Kubernetes in particular. So I just sent them out with the idea and said, please find out for me, what is Cloud Foundry and how can you access Cloud Foundry? And the points they came back with about like two weeks or so and say that Cloud Foundry is an open source pass, Cloud Computing System, it's fast, easy, build test deploy and scale applications, supports in the language run times, multiple different service bindings and so on. So most of those things we've probably already seen it. They found a very good video recording from Dave Nielsen from a former CF summit which said they provide a lot of help and help them getting started as well. And then there was the point that maybe particularly happy is when they said, we were able to push our first application to fill the web services. Like the first couple of bullets, I kind of expected the last one I didn't really but it showed me that even without any guidance from my side, they were able to get there. And so with this talk, I will probably just try to recap the couple of the steps that they did and then continue on to that survey. So the two way to get started and get information, you probably all know that Cloud Foundry has a homepage at startfoundry.org. On that homepage, there's a direct link to a getting started section. There you can either find information or basically say I'm ready to try and get started with doing some deployments. Now I'm not gonna walk to the homepage. I mean, that's not the content of this talk. So to give you a bit of a visual idea of my understanding of Cloud Foundry, it's like, in a very simplified view, it's just like kind of a black box, right? Sorry, black box right there. And we have basically two groups of people interacting with it. There's developers and there's consumers. In the end, in a simplified way, the developer would push their application to the Cloud Foundry platform that will return a URL and that is the consumer. That's something that the consumers can use to access that. If we look a little bit further under the cover, and I'm not gonna go technically deeper than that, Cloud Foundry has a model internally which is very strongly oriented at the 12 factor app guidelines and splits the components basically into the categories, applications and services. Applications is the part where the developer deploys. This is where the magic command CF push comes in. So the only thing the developer has to provide is the piece of code that will push the application into the runtime. Internally, a so-called droplet will be built. This is a combination of the application codes and the runtime for that. This runtime is being called build pack. So I think you've heard about build packs this morning in the keynote. This is exactly where this comes in. Now, if that applications, if they have connections to something like a messaging service or a database or anything, any legacy application, this is the service side of Cloud Foundry. And the command to access to bind those services as the name already implies is CF bind service, which will then attach those back end services to your application and you don't need to worry about the individual connection settings and so on. So this is something, and then as I said before, a route or a URL will be provided by the platform for the application logic to be consumed. This is basically the fundamental understanding that I would expect everybody to have to move forward with this. Then there is this Cloud Foundry command line interface. This is like a generic API that you can use across all the various Cloud Foundry environments. I've made a, like I try to symbolize that, that we have like potentially local Cloud Foundry installations like for development environment like I have on my machine, then there are public options or you can run the Cloud Foundry installation in some larger data centers. No matter where you run it, the CLI will always be the same. And there's always just a basic set of commands like pushing an application, scaling, listing the options for the services in the marketplace and then create and binding them. So it's pretty easy. Okay, a few words about the community and I can see a few community members sitting here and smiling. We are here to help, especially the people on the left bottom is the so-called Cloud Foundry ambassadors. We are here to get people started and getting people in touch with the platform. There is an open Slack channel, the code is on GitHub, there are mailing lists and so on. We also have a Twitter account. There should be plenty of things to find out information in case you have any questions. If you have any questions right after this talk, either grab the two people in front of me or talk to me, we'll be happy to answer that. At least we're gonna try. I'm gonna try, they know it better than me. Now, there is also some free training material available. If you go on the website, you will find trainings, guides, or Torah certifications. The one I'm recommending here is the so-called Cloud Foundry for Beginners from your zero to Euro. It's a self-paced training class. It's free and you should spend a bit of time on that, but after doing this class, you're pretty well set to operate this from a developer perspective. A couple of people from the community have also created individual tutorials, learning materials. So there's the CF Push Club. It's like a one-page kind of instruction how to deploy applications to pivotal web services. This was done by Molly Crowder. I've talked to her the other day. She said she might actually expand that and to show how things can be done on different platforms too. Then there is the Try Cloud Foundry website, which Steve Greenberg, the gentleman here in the front, has just set up. He basically started this in the same time as we tried to prepare for the talk. So this came in very handy for us. So I'm just gonna open it real quick for you. And I really recommend everybody to try that. So in here, if you walk through that, you should basically get a similar experience in what I tried to bring across with my talk here. So it will list the requirements that you need to install. Then you can pick a provider, hear the list of the providers to get started with, then install the CLI and do all the things. So I'm not gonna walk through all of this, but I can definitely recommend checking this out. This is a really cool thing. So other than that, you will find plenty of things. The third example that I brought up is the Cloud Foundry Hello Worlds. So this is a free GitHub repository where you can find different Hello World applications in the various languages that Cloud Foundry supports. And if you wanna play with some of them, just pull the code and push them to the platform. Okay, so much for the basics and introduction things. So now when you say you're ready at the point, I want to play with the platform now and I wanna use it. What kind of options do I have? This was basically the task that I gave to the student to evaluate after they had done the initial learning curve. So basically, as you saw in the picture before, you have options in a local way where you can run things on your machine. You have public provider options and you have hosted options. Now, if you're getting just started, the hosted option is probably not the right one to start with because that means a large-scale installation and if you're not just gonna play a little with it in order to get familiar with that, I would recommend to start with either the local or the public options. So the local options, they're basically three. There is the so-called PCF Dev. This is like a single node Cloud Foundry instance. It has the full functional scope from a development perspective, not so much from an operator perspective because it's just a single node. So there's no failover on the infrastructure side. But basically you can use it as a full PCF. It has a basic amount of services for database, messaging, caching, and it's free. You only need to register at Pivotal to pull that. There is a similar version of this from based on the open source version of Cloud Foundry. This is called the CFDF. This runs currently only on Mac OS and Windows 10. This is also free. It doesn't require any registration and you can pull it directly from GitHub. The third option is the so-called CF local option. This, however, is not a real Cloud Foundry runtime. So, but you will find that in the local options. So it runs the droplets, basically the pieces that you build in containers. And it's, in my opinion, it's more suitable for local testing and debugging. So if you really want to get started with the CF push experience on your local machine, I would probably start with PCF Dev and CF Dev first. Now, looking more at the public options, you can see there is a list of certified providers on that webpage. Now, most of them also provide a public offering or a free trial offering for everybody that wants to get started. Not all of them. I mean, the one that I have highlighted is the ones that I'm not gonna do, I'm not gonna be able to show in depth today. Basically, RTOS is currently changing their trial offering and it's undergoing a change. So we were not able to test this at the time. Cloud.gov is available only for, I think, governmental and educational institutions in the US that kind of made it a bit difficult for us to test. And SUSE doesn't have a public provided cloud in the same way as the others would have. They are more focusing on integration Cloud Foundry with Kubernetes and rolling that out in your local data center. They're working on that. I've talked with them yesterday, but there's nothing I can tell you about that yet. So we mostly gonna focus on PWS, IBM, Cloud, Swisscom and SAP. In addition to that, we also took any nines into the play. They offer a really easy to consume service and which is very suitable for trying. So, PWS in the first place, this was also the one that my students discovered as the first one to test. This has probably the biggest market adoptionist, but I'm not sure about that. Basically, the feedback that I got from them is it's very easy and straightforward to use. So it was even for beginners, really simple to get their applications deployed and the service instantiated. I mean, the reason why I did this experiment with the students was just like, if I know if I had pulled this together, my focus on my viewpoint would already be very biased because I got that background experience. So in particular, I wanted to have somebody which is really new to that. So, the flavor that PWS basically provides is like, it's pretty much focused on microservice development. So you got your backend services like databases, messaging, caching and streaming and explicit support for like spring and spring boot application like a circuit break or config server or registry. SAP is also the comment that I got. This was the smoothest user experience. I don't know exactly how that differs from very user friendly, but I guess both of them were really nice. So from that level, it was a similar positive experience. They have a standard set of build pack. The differentiator here is they have like some offerings for HANA, WATCH or their machine learning called Leonardo. So this is basically how it works in general. All those three tiers offer a kind of a standard set and each different company has kind of their own backend services for the users to consume. In particular, IBM. IBM has by far the largest set of services available. There are things for IoT, in the Watson side, artificial intelligence, machine learning and so on. This IBM Cloud Foundry also comes in two options. There's the global Cloud Foundry platform which was initially known as Bluemix and there's the so-called Cloud Foundry Enterprise Edition. In that case, you're gonna get your own dedicated cluster of Cloud Foundry nodes. However, the second option is probably not the right one for you to start. So the feedback that I got from my students at that point was they got everything running, but it wasn't as intuitive as the others. Most likely the reason is this is only one subset of the overall IBM Cloud offering. And they had some various CLI tools like the Cloud Foundry, then the Bluemix or an IBM Cloud. And they got a little bit confused but that initially in the end, when they had worked through that, they got their thing running and the user experience was just the same. Any9s has a really fast registration process and the thing we know that there is, even in the registration page and in the invitation email, you get your CF push instructions straight away. So this is pretty much the fastest application to platform experience that we had. Also very easy and very user friendly. Swisscom is another alternative based in Europe. The kind of difference that we found out here, they have this free tier only available for individuals in Switzerland. The other people would require some kind of company registration but still getting the free tier then. So as I was able to sign up there without any problem. After that, after registration, same as very easy, good friendly documentation and very positive experience here as well. As I said before, SUSE is basically listed as a certified provider, working very much to running their containers in Kubernetes. Everything is open source, but no real public cloud that we would be able to show right here. So this is a bit of an overview by which means they differentiate. I mean, most of them are, the trial offerings are scoped by duration. So the Pivotal SAP and Swisscom offer 90 days. Any9s offer 30. The big exception here is IBM. This is a trial offering that basically never expires. On the other side, IBM offers the least amount of volume. So it's like you can run very small services over a longer period of time, but you cannot do bigger things like in the other trial versions. SAP was the clear winner here with four gigabytes of RAM. All the others have one and two, except Swisscom has, you have like a monthly volume given in Swiss francs and you can deploy as much until it comes to that limit. Build packs are mostly the same as I said before. There's a standard set of build pack that pretty much everybody has and each provider has maybe one or the other certain build packs specified to a certain need. In IBM, you for example, get a IBM Liberty build pack as a standard offering for the other ones. You would have to take this from a community build pack resource. So there's not much difference there. Where there is a lot of difference, you can really see that in the services. IBM is leading that by far. And this is also quite a challenge to understand what they all do, but a lot of them are there. And the other ones are roughly in a scope of like 10, 20 services which you can consume for that trial offering. Okay, so now we'll try to demo this a little bit. And for that, I wanna see if Muna is still here. So you're still there. I'm gonna switch this on. Can you say something quickly so we can hear you? My screen? Yes, okay. Yeah, you can share your screen in the Zoom meeting now. Let's see if that works. Yes. Can you see anything? No. Can you increase your font by any chance? Or is it the side? Oh, this is better that way. Okay, we changed the lighting runner. It's still a little small. I think it's not working. Okay, I mean, I think it should be okay like that. I mean, in the end, we just gonna push an application. I mean, we take the same application and push it to a couple of clouds. And so once you show it from the web page, that should be fine. So I would say just go ahead with doing that. We have about like eight minutes left. That should be okay. So you can talk. Initially, we didn't think we have an audio signal. And but now you can speak to the people. So if you hear me well, I will try to use Swisscom and Any9 as providers here. And since I'm already logged in to Swisscom to save some time, we'll show the services available there using the CF marketplace command. So we can see a couple of them here. We can see the service name. What are the plans that are available there? And here it's important to say that some providers offer only specific plans for trial accounts. So you have to be aware of that. And you can see the description and so on. We can also see which buildbacks are there. You forgot the D, I think, yeah. Exactly. And here we can see also a set of buildbacks that Swisscom offer. And I'm gonna say that we have already pushed the application to Swisscom. We have bound it to a database service and scaled it into two instances. I'm not gonna show the steps for that right now, but it's already there. I can show that with the CF apps command. So we have our symbol web application in the started state with two instances there. With the CF services command, we can see that we have a database service which is bound to our application. And right now I'm gonna switch to any Nines as a provider. Do you wanna show this running in the browser first or do you wanna, maybe that's a good idea. Change the provider, do the push and then show the browser. Okay. So this is based as a background. This is basically what we pretty much did with all the various providers. Basically figure out how many services do they offer, how many build packs are available and what Mona said is important to repeat. I mean, you might see all the services but not all of the services come in a free trial version. So most of the databases or messaging providers have a small kind of test service which is free as a trial, but the advanced versions will most likely cost something and which is also kind of understandable. But as Mona said, especially if you have already, I mean, put down your credit card account, be careful with creating that services. I remember I tried a Revitin queue instance once and suddenly had $300 on my credit card without any further notification. This can happen. So make sure you look at the trial versions there. Okay, so I can, Mona, you can. So yeah, I've looked into any lines right now. I will show the services available there again. So we can see a different set of services compared to Swisscom and regarding the build packs. We can see also a list of build packs here. And here I'm gonna show the steps of pushing the application with the CF push command. And it's important to mention here that we're not gonna determine some attributes like application name or number of instances, the memory limit and so on. Since we've already created a manifest file where we already determined all of that. So we're just going to execute the CF push command. We can see that automatically detects the manifest file and takes the attributes from there like the application name, the number of instances, the memory limits and so on. Okay, so you can maybe start showing the browser with the Swisscom. So we have like three or four minutes to go. And I mean, the idea that we had for this demo was just basically we used the same application and I'm about to show the same steps on like Pivotal Web Services and SAP. And just to see that it's basically the consistent behavior across the board. And so you stopped screen sharing, right? Yeah, I will share my browser. Okay. So can you see it right now? Yes, we can see that. Okay, so. Looks familiar, doesn't it? This is the application on Swisscom. We can see the provider name with the API endpoint here. And here's the application instance index. And since we already scaled our application into two instances there with the refresh, we can see that the application instance index will change between zero and one. So that's, sorry. Basically the Cloud Foundry load balancing mechanism. And a quick word about that application. Another thanks to Steve. This is the basic source code we got is that Steve uses for his Cloud Foundry trainings here at the Cloud Foundry Summit that you can also take. We just extended it a little to basically identify the provider name and display it there as well. So you can see which Cloud we're basically connected to. So when Mona will just basically point to the application deployed on, what did I wanna say? Any lines? Then this provider name should look different. Yes, so I will show that. In the meantime, I can start doing the things on my own. So I have the same source code installed here. Currently I am logged in to, basically my local environment. So Mona basically showed it on to push the application to public cloud providers. I'm having a local PCF Dev running right here. So as you can see, the behavior is exactly the same. It's a full version of Cloud Foundry. You don't need the network access in the same way. So this is something you can easily try if you wanna do that locally. But maybe we, I just finished the presentation and we're gonna have a look at that then. So for the future, today you have seen Jules talking in the keynote about Irene. And I think I'm really looking forward for this project to mature, same as with the Cloud Foundry containerization because right now there are many Kubernetes options easily available. And if we have something to just plug Cloud Foundry into that, that will open up a wide new range of options for people to get in touch with Cloud Foundry easily. And yeah, besides the things we said before, we also have their companies dedicated to work on Cloud Foundry. You will find most of them at the Foundry with a sponsor booth. They are companies once you are beyond the level of doing your initial CF push. You once you wanna use it in production and wanna get help. So these are the ones that I have already a personal experience with and I can definitely recommend. So I'm not gonna read through all of those, but this presentation is recorded. You can definitely look them up later or ask me. I can send you the link to all of them. And finally, I just wanna say thank you very much to Himanshi and Ritu, those were the two students that helped me and Myrna doing all the survey. And again to Steve, this time covered with sunglasses but it's the gentleman right here. Now this is, I got it, my time is up. So we can basically see here now or should be able to see here now that this application has started. So if I open this up in my browser, basically open a new browser window, should, yeah, it's just a little big. So you can see here the provider name has changed in that instance now. This is pointing to my local environment. I have only one instance running and it's connected only to an in-memory database. But as you can see, it's very easy to do that and no matter which cloud you're pointing to, it's always gonna behave in the same way. So Myrna, do you have, where is, okay, we can see your screen again now. And this is pretty much just the same thing on her browser for that other account on any lines. And with that, we're basically at the end of what we wanted to show. And I think I run a little bit over. So are there any questions right now we can take? Yes, please. Okay, so the question was what kind of an, if I got it correctly, what kind of an impact do I have when I look at services when I switched the cloud provider? As basically the application side is nothing you were really gonna worry about because that's being backed by the build pegs. I mean, the answer is, of course, it depends. If you use some service, which is really only available at one very provider, you will most likely not find it at the other one. And then you have like a major migration effort. If you have something like, for example, Postgres SQL as a database backend, which most of the providers have a service for, then it will be easier to migrate data from one provider to the other. I mean, this is the typical vendor log in kind of problem that you have there. So in case you don't need a certain specific functionality, I would try to stick to something which is available in a broader way. But I mean, if you use IBM cloud, for example, because you wanna consume some kind of there Watson services or whatsoever, then this isn't the reason why I need that cloud. If you wanna switch to another one then, you won't find a service there. I mean, maybe you can connect via the network to consume only the service and run your application in another provider. That would potentially work, but it's nothing that you would say out of the box. I mean, you just can't move like the services around because they're like a part of your cloud foundry apps installation. Right. Yeah, some API now to create one for you. Use base code, service, service broker. So you can provide for this base API that said that you can then see into the back plate of that space and can do that. So it is possible for you to bring your service, but it's, let me say it's not the easiest way to do the consuming of it. We are there, but we're here. You have to have knowledge then about running that and it's really more complicated and you have the problems with network traffic between your servers, whoever you hosted it, and the platform. So maybe if you have a remote thingy, you can have a baby team or someone. So you have to think about all that. Christian, maybe we can take this discussion outside because I already can see the next speaker and I always hate it if I don't have enough time to prepare it. So first of all, thanks for listening and coming. Thanks for Munna for staying up all night because it's very late in Germany now. I'm glad you could participate a little bit and that's it. Thanks a lot.