 It's good to start five minutes early because typically either you are on time or late right. It's good to start early So how many of you? Develop applications for cloud Okay, and how many of you use Eclipse for developing applications for cloud? Okay, that's good. So did you raise your hands for developing application for cloud as well? Okay, I didn't see that Okay so what we are going to focus on is Developing applications for clouds Using Eclipse. So I'm not going to talk in detail about cloud applications. I'll give an overview just to Just to bring us all on the same page in terms of what are the challenges, right? And then kind of introduce you certain tools and certain actually there are certain top-level projects in Eclipse Which are very much suited for cloud development, right? I want to introduce you the Eclipse cloud development tools as well. So that's the objective of this talk So we'll look at what are applications in the cloud era, right? What is so special about them and then we look at the cloud platform, right? Again, there are varieties of platforms out there We'll take a peek at them and then we will see how to prepare your Eclipse environment to develop and deploy applications to cloud We'll try to develop an online application store online retail store using microservices, right? I can point you to the Article about it, right? All we have is 20 minutes. I don't think we can do that entirely and then of course We want to practice DevOps, right? So I'm pretty sure you would have heard about the term called DevOps, right? It's all about How quickly you can get your changes on to your users, right? the time span between when you make the first the line of Line of code to the time it gets the hands of real users Okay, so what's so special about the applications in Cloud era So let's take the end user point of view, right? So those applications are Available anytime anywhere. It's always on you expect them to be available all the time right unlike the application that run on your desktop, right because It you wouldn't expect that kind of robustness for the application that run on run on your desktop or that kind of availability and The most important kept one of the most important one right refresh Right, you're always using the latest version of the application Right in the case of desktop applications. You typically have multiple release trains going right But in the case of cloud applications, it's all you are always on the latest one and then of course best-in-class Experience whether it is functional experience the features or non-functional experience terms of performance security compliance for example, right and From an app developer point of view and that's what is more important, right from an app developer point of view So no downtime and always the latest So composed of various services. So go on those days where you build this whole application right and of course You're all self-contained, but That will beat the purpose of the very purpose or very objective That's in the first one because no downtime if your application is a single monolithic application You cannot update them in pieces. You have to bring it down before you update, right? so the downtime will increase and Eat service. So this is another Phenomenon that's been happening in the last few years. It's called the polyglot programming, right? So You are a liberty to use Your own technology the technology that you're familiar with, right? It could the language and runtime. You're not tied into a particular language Right or a particular platform So as an application developer, right, you should be able to accommodate all of these right, so For the last one what it means is that you should be able to consume services Which are written in other languages depends on other technologies and runtime. So now let's look at the cloud platform So the first one in the cloud platform is infrastructure as a Right, so that that's the that's the bottom layer, right? And it's all about compute network and storage You can get your systems provision, right? You can add enough memory. You can add enough cores. You can Even provision the IPs on them, right? The virtual IP That's about infrastructure as always, right? And then you have containers Right infrastructure. So we brought VMs, right? Then you have containers What's the difference between containers and VM? They all kind of serve the similar purpose, right? But at different levels containers sit on top of the operating system So in order to run a container, you don't need a operating system license You don't need to worry about patching the operating system, right? So and that's one way for you to package your application and its dependency with the container so that you can move them around right from one VM to another we have and Then comes platform as a service right, so What do they provide they provide you the runtime? Essentially the middleware, right? So you don't have suppose you go for infrastructure. This is how The way the lifecycle for an application goes like this, right? You provision a virtual machine You set up the operating system, right? And then you set up the middleware required which includes the app server which includes the database server and you are entirely responsible for Setting up the right configuration as well, right? Tuning the app server configuration making sure that the compliance levels are met, right and fighting those dark battles right for example Observers have certain things hidden One of them is the class loading order Right, and if you really don't understand some of these The deep technical aspects of the app server you can run into problems When you and it will be very hard for you to diagnose them as well, right? That is where platform as a service come into Come to your help. It gives you the whole environment all you have to do it Worry about the code, right? So it brings in it gives you everything hardware storage network operating system all the way Right, it's a for code and data. That's all you do. So that is that is the cloud platform right So there are a few cloud platforms out there Right, so the there are under the open one called cloud foundry, right? You would have heard about it It's from pivotal IBM worked with pivotal to make it open open source, right and And there are very few for the ones as well, right? For example, there is there is a talk following this for about open ship Right from red hat and then there is Microsoft Azure as well, right? And I'm going to give you an overview of IBM cloud platform, which is called blue How many of you heard about blue mix That's pretty good So I don't that's good news because I don't have to spend that much time on this right I can move or quickly so blue mix provides you from a From an entry point perspective you can get an infrastructure provision from blue mix You can get a container you can have a container hosted on blue mix You can also have your applications hosted on blue mix Right, so those applications could be written in node.js. It could be written in Java. It could be PHP It could be written in even in dot net right, and we also have Apple Swift runtime as well on blue mix. So there is another talk following this in the same track about that so Now coming to dub tooling right so that's the DevOps piece blue mix also gives you the kind of tool that you need to develop applications and to deploy applications right so Blue mix is the platform for you to Where your applications will run it also provides you the fabric around it what in terms of? GitHub right in terms of Jenkins for example the entire delivery pipeline Right, you can set it up on blue mix and then of course This is more for enterprises if you want blue mix dedicated for yourself or you want blue mix for Your own local version that's available as well. That's location and then so is this is the USP of 5 million blue mix, right? There are a host of services from IBM third-party open source or you can upload your own services You can contribute your own services as well, and this is why Cloud computing is so important. I mentioned right applications are composed of services these days, right? And these services make all the difference So you will find services for example from IBM Watson, which gives you the cognitive capability right it's available on this platform and How is it relevant here? The entire IBM cloud platform is based on different different We call we call it open by design And you can see the set of open source tools that form the entire stack Okay, now coming to eclipse cloud cloud development to So As you can see there are five projects which are listed today under the eclipse top-level cloud development project called ECB and you can also see the kind of the Contributions from various organizations who are actively participating in it, right and pivotal IBM could envy SAP ROL key Contributors and interestingly each one is responsible for each of these for example or I am Ryan is from IBM, right? Shea is from code and we Eclipse tools for cloud foundry is from pivotal, right? Dirigible is from FAP and flux is from IBM and Pivotal together, okay, so now let's move on to How do we use it, right? How do you prepare your development environment for? Cloud development so I'm taking you through an example of preparing your eclipse development environment for Deploying your applications on to IBM blow mix And As I mentioned IBM blow mix is based on cloud foundry So you can use cloud foundry tools either integrated in eclipse or through command line to deploy your applications on to Blooms any cloud foundry Tools will work with blooms because blooms is built on top of cloud foundry Right, so the first step is go to the download page download the JEE package eclipse JEE package, which is the Java Enterprise Edition package, right? It contains some WTP WTP is the eclipse that tools platform the entire JEE Development in eclipse is actually built on top of WTP and starting neon We have incorporated the cloud foundry tools for eclipse as part of the JEE package So when you take the JEE package you also get the cloud foundry tools and What we have done is from IBM side we have built Another another set of tools using the cloud foundry tool, right? Which is called the eclipse tools for blooms? So that is more blow mix of where Where the cloud foundry tools give you the ability to connect to any of the cloud phones any? cloud platform or a path which is based on cloud foundry IBM eclipse tools for blow mix is fine tuned for connecting to blow mix as I mentioned, right? You have the eclipse platform and the WTP, right? There were tools platform and then on top of that you have the cloud foundry tools And then you have the IBM eclipse tools for blooms and similarly people tell has additional value added Right, but that's that's not good. I'm going to focus on this the purple boxes in here okay, the first thing you do is go to eclipse marketplace and download eclipse tools for blow mix Right, so I'll take you through a demo of that right so before I get into the demo I just want to pause and just Because the next part is the demo so just want to know whether you have any questions on some of the topics that we discussed Okay, take it as you know that's good Before we get into the sample app Let me Let me check you through the demo Okay, so what do you do is you go to eclipse market plate? So what you do is go to neon go to eclipse marketplace right and it opens up so it's for blow mix and It's a filter so it's for blow mix So you will see two of them listed there take IBM eclipse tools For blow mix for neon and install it. It's pretty simple accept the licensing term and You should be through Okay, then it asks you to restart once you restart you will see get started now Right, so you install the mix tools. How do you get started you bring up? The new server resort right from Okay, so you click on get started and then it the way you use blow mix tools is by using it to Define a new server create a new server in eclipse. So that's the demo. Let's go back to eclipse It should be connected now so once you Install blow mix right you can what you do is new server you have blow mix in here and you enter your Use I mean email id and password which you already registered with Blow mix if you don't have a blow mix account You can sign up right from here and finish that will get you a blow mix node in here Which list the kind of application that you already have Okay, let me connect So once it's connected it's going to Show you all the application that I have on blow mix which is Listed in here on the blow mix page Okay, switch him back to the presentation So any questions about that is setting up your eclipse environment or? Blumix development you install blumix to take GE right and then you install blumix tools on top of that Right, and now I'm going to show you a symbol node based application symbol to track so It actually helps you to analyze the sentiment right it's a sample which is available there you should be able to Google for it and fork it So let's go to eclipse IDE so this is my symbol to trap right and if you Look at my blow mix. It's getting refreshed at this time right and there is the symbol to trap here right and It's already connected right so it's already connected to blow mix I can push my new changes Directly on to blow mix Okay, so this is the so blow mix gives you the nice console where you can look at the various aspects of this Right the health of this app the activity of this app Right and then you can even fine-tune the various aspects about that right for example It'll tell you when that was started right went to a stop Etc. Now let's do one thing. Let's go to eclipse IDE Okay, let's run this up right you should run this up before we fire So that is working So what are people feeling about? Olympics thing. I'm pretty fast running out of time. Okay. Let me Exit out the one thing I wanted to show you was I Introduce a symbol root handler which puts up the message right a simple message in here So you can see here, right? I have another version of app running there Right the message right here is friends of eclipse Right, okay, so let's make a change in here. Let's push this up. Let's not worry about anything Let's just push this up right So I'm going to push this up from my eclipse ID on to blow mix Let's look at the application details and you should see it in the activity log as well It's still pushing the app Publishing that 80% so it's uploading the droplet. Let's refresh this page and what does it say about that? So it first is stopped it and then now the app has been started Right So it's done. Let's refresh this handle Message change right so we just pushed it from what we have in eclipse ID So I Had a lot more for the demo But what I'll do now is Let me get on with the rest of the slides and leave you there because Okay, so we looked at that now. Let's look at the microservice samples that I was talking about right so there is a This is an article that we publish already you can Google for it, right? So this is a retail application Online online store where the UI is written in PHP the orders I mean when you click buy the order the generator, right? So that's in Java and the catalog is in Node.js So the good news is you can load up all these projects in eclipse So there is one more thing I did with it with J. I also install the PHP package on top of it, right? So that I can the UI is actually in PHP The UI project is PHP. Oh Sorry, you can't see it So the UI project is in PHP. So I installed PHP on it So I can get the PHP perspective and the PHP development environment here. This is in Java, right? This is this is in Node.js, right and for my Java application is actually My Java application is actually connected as well, right? So this one is connected to the application on Blooming's right so I can push my Java application all these applications right from here So I encourage you to Take a look at what is there, right in in terms of the collateral in terms of the articles, etc, right? Okay Yep, so that's all I had any questions and this was meant to be a teaser so that you can get Get more information later on but I want to drive home one important point Which is you can use eclipse as your development environment for cloud development, right? No matter what language you develop, right? There are the tools these tools that are available And it's not just for IBM Blooming, right? How many of you use? Amazon tools for AWS development in eclipse. I'm sorry for AWS AWS tool Amazon tools, right that you can install in the eclipse so that you can develop applications for Amazon cloud, right? It's available So look at eclipse as your Development environment for cloud. So that's all I had any question Okay, thank you very much