 Good afternoon everyone Have a seat get off your feet. You've been like me been walking miles and miles around Tokyo for the past two or three days So my name is Jonathan Lecour. I am the vice president of cloud and development at dream host And I'm Stefan Omafouli director of cloud marketing and community at dream host And we're here to talk to you about how to deploy an app to the dream cloud in five minutes Ish, I think that should say ish at that at the end Think think it's gonna take less if if we can get the slides to advance Yeah, the demo gods are not kind to anyone today. Okay, here we go. So let's introduce dream host So dream host mission is to enable the world's entrepreneurs and developers to create share and prosper on the internet and have fun While doing it. What does that mean? Well, we really here as a as a business to engage directly with developers and small business people who want to create amazing products and services Maybe it's the best cat blog if you're Jill down here But if you're a developer like one of my team and you want to get an app online You can definitely do that as well All the way up to you know kind of medium to large businesses and even enterprise Are hosting things with dream host in our cloud So a little bit of history and context for who we are Dream host has been around since 1997 and we have over 400,000 customers 1.5 million apps and sites hosted on our infrastructure and we're built entirely on open source Dream host was founded really on the the lamp stack back in the in the in the 90s And now we're pushing forward on on the cloud the stack of the cloud right open stack for the future And you know, we were the creators of the seph distributed storage project one of our co-founders sage while actually created that project At dream host and we incubated it and then spun out ink tank and sold it to red hat And now we also have built a bunch of open source tech around virtual networking And have spun that out as well in a business called a conda and that just got accepted as Project a star and to open stack under the big tent. So we're really excited about that as well So we have a long history of open source and involvement in the community in terms of where our customers are located All of our infrastructure is located currently in the United States, but we have a global reach a Significant portion of our customers come from outside the United States and actually these numbers have even shifted further And the cloud products themselves. This is even more true with customers, you know all over the world So we were a founding member of the open-stack foundation We've been involved since around the cactus Diablo releases Our CEO Simon Anderson is on the board of directors at the foundation and we have made significant contributions upstream To Neutron Oslo Cinder a bunch of other things. I talked about a star already and we're involved with operators and the deaf core project and program and Again, we've created a lot of open-source software So let's talk about what you can do with a cloud now that we have one running and We've been talking about having programmable infrastructure We want to use programmable infrastructure because that makes everything repeatable. We want to have automations around Your application going from being in your git repository running on a virtual machine Maybe locally for testing into having a running instance that your customers and your users can Can use easily and you want to have all of that automatically so the programmable infrastructure or the cloud Is capable of doing that for you you want to you want to have that so the demo that we're going to go through now We're going to go from having nothing running to Having a demo application an application of written PHP using Apache Very simple for taking notes and we're going to do that without having to click on anything like almost anything basically the only click we're going to be doing are to switch between one Screen to another so for for doing that I'm going to show you how do you can do go from zero to running application? Using the open stack shade Python library in three simple step So installation of the SDK then we're going to start Python and run run our scripts and enjoy Taking notes and a little booklet. I hate it out to you You can kind of take this home and and try this out yourself later So, you know don't worry about taking notes because I saw you all with your laptops out or your phones Obviously taking notes and not checking Twitter So I just want to be clear that you have a little booklet. You don't have to worry about that wonderful so Let's see. Let's get started and in order not to challenge the demo Gods we have recorded this script, but So we're going to look at installing shade from PIP very simple Shade is a library that has been created by the open stack Infrastructure team in order to be simple to use and simple for developers it abstracts and hides details from your From the clouds that you've been using For the open stack lounge. So now that we have our shade installed Let's do the second step is to find Authentication details. So basically open stack shade requires you to use The open stack client Authentication it's a YAML file. So just create this YAML file and put into your dot-config open stack directory Put the details That you can also you can get from the horizon RC file. So this is a little bit of dingbats, but Very simple username and password your project and the region name you're done And and we're cool With that too. So you you certainly could use the standard open stack clients as well to do this One of the things we like about shade is it just makes everything a little bit simple Very simple It's a good way to get started right and if you need more power and you need more features than shade can provide you You can always try the open stack clients themselves. Yeah Yes, of course or you can we'll talk about other languages After that. So now that we have shade. We have our authentication done We can just start Python and play around and these are the simple way to create an object a con object that instantiate the cloud with a name dream that we put into your into the YAML file and then we can start exploring our Cloud so let's see how that work out that looks So basically you start your Python interpreter and we like high Python because it's so it's interactive And you can yeah, I search and back go back. So shade import everything quickly and then you get your Cloud instantiate it and you can see the cool thing about having to I mean the cool thing is that you can you need to look at your cloud what it offers. What kind of images they have available and Out of completion it's also a very cool feature in iPython and shade But you can see what kind of images you have and what kind of flavors you have and so that you can make your choice So for example, this is you know, you can see that you have names and you have an ID That's very important. The IDs change, but the names usually don't change so that's something to keep in mind for the future and Flavors also depending on the clouds some use the some names and some other names But here you can see also all the details that are valuable to you how many CPUs how much RAM You have in those And you can see there the the flavor list of the largest flavor in dream compute It's actually called plaid and it's got 64 vcpus and 128 gigs of RAM, which is a pretty healthy VM and we'd love for you all to spin those up and keep them running all the time. That'd be great And all of the all of the flavor names are actually inspired by the the classic film space balls So you can see we're really an enterprise business I do the developers developers developers thing now I mean IBM glow sticks we can do later So the other thing that you want to do is if you want to connect to the virtual machine via SSH You can upload The key inside there, but you don't have to necessarily so you know we can we can demo that but You you don't necessarily have to SSH into into a machine you sometimes you have to because you want to check logs But one way to do it is to just upload your public key from your personal Directory and put it on dream cloud you give it a name and there you have it But we will not need to SSH into it. It's We're gonna use another trick to deploy the application So This is you know the code is a little bit fancy here Fancy here, then just I'm not sure if else is all that fancy remember read a conference full of developers here I think they got it. Yeah, I feel good about it. You're right. Okay, go We're done with that This is fancy. This is fancy. This is fancy because this is about Creating opening a port 80 and make sure that we we have it We have it running so What would be very useful if you couldn't actually hit the the web browser or the HTTP exactly so usually by deep well Many clouds don't open any ports. So security groups are used inside open stack clouds and dream compute Pretty much like a firewall. So you need before you can use a specific service You need to make sure that that port is accessible from the outside and we use security groups For those for that. So again a little bit of fancy Python code Just to make sure that we don't have already a security group called web, but we created here and By making sure that we can we can access Port 80 port 4 4 3 and while we're at it I added Port 22 just to make sure that we can access H into it just in case So the code just creates the creates the group if it's not existing already and We're good. So we have a security group name called web and that's what we're going to use in the next step And while Stefan will queues that up one quick thing to note is if you sign up for dream compute One of the things we do for you for your convenience is we go ahead and create you a default security group That has some of the most common things available, right? Including htp htp as SSH And but you you know, obviously have the ability to create your own and do whatever you want, right? And and here we can see how they look like in internally so The next step is to the actual core of our deployment script It's a very simple script and we use cloud in it to inject inside the virtual machine as it is booting as it's being created code that pulls installs apt get via apt get installs git php 5 Dragging all the dependencies. So Apache 2 is also being installed and then very simply goes into VAR Whtml inside there it pulls from git the application that we want and Does a little bit of maintenance to make sure that things can actually be written inside there and exits so and once we have that done we can launch the instance with Getting our so Launch the instance getting all the Details that we want to add so Wish import the shade so here's you know the application instantiate our connection create the con object from that con object we Create put pick an image ID. This is interesting because as you can see We are using the name of the instance not the ID and we're using a function of shade to search through the Through the list of images will find the one called Ubuntu 14.04 and Pulse the image ID from there because image IDs are often changed Inside the cloud the dream computer. We pretty good at keeping keeping the upgrades and fixes inside our images and Therefore you can you make sure that your Your code is secure by using the image name instead of the image ID Then you assign the name of the instance the flavor The name of the key pair for your secure SSH group security group that we created before and this is our script for a cloud in it to boot and After that we create the machine Will let shade talk to the dream cloud and execute all these steps by creating this instance and The one thing that is pretty cool here is the auto IP equals true That means that the you don't have to care about you don't have to think about clouds that create a sign of a Routable public IP IP address to the machines or not Dream computer By default offers and I are publicly routable IPv6 address, but IPv4's Being so scarce we assign them only on-demand if you need an IPv4 we can do it But using shade you get one by default shade takes care of that. So if you By specifying auto IP equals true you get an IPv4 also assigned from your it actually saves a bunch of steps If you were doing this with the standard open-sat clients, which granted you're getting more flexibility But nice thing about this is if you're just trying to get something up real quickly This is a great way to do it and like Stefano said we support IPv4 on IPs IPv6 And the other great thing is creating this server. It actually goes pretty fast You know we hear a lot about you know spinning up containers real quickly and how great that is But in dream compute actually thanks to the sef storage back end and copy on right We can spin up instances in as little as 45 to 60 seconds, which is pretty fantastic. So it's extremely quick so once we have that we can go to our We can go to our website and we have something like this running and indeed Oops demo gods So this app is actually a little open-source app called Jotter and it's kind of sort of like a notepad etherpad kind of situation, right? Yep So here we have it and I put some notes in here Yay, it worked in five ish minutes if you take out all of the talking and my dumb jokes So right especially my dumb jokes so Right, so we haven't really upset the the demo gods because we haven't tried these this Also cheated so yeah, we cheated we recorded all of this and so But but you know since we have time I Go for it. I do it. He asked the permission and I give it All right, so see how it goes So I want to show you the demo So it's exactly the same code that you saw before no tricks here You can see it's actually a little bit shorter more compact We're not doing it interactively every step in ipython. It's looks pretty small little script Okay, all right everybody cross your fingers so I turned on a little bit of debugging So we're going to get the the feedback from shade with all the tasks that it's that it's running You can see that asking glance the list of images make sure that Those are available the ones that I asked for ubuntu 14.04 and the flavor 100 And now it's getting the list of servers to make sure that the the one that I I want it's not already there Right, it's even you be less than five minutes now that I really think about it. Yeah, it's less than five It's five minutes if you need to study something. That's right You can go very very fast and And now it's sent the it shade has sent the instruction to Create the server and now it's waiting. It's polling every now and then to make sure that the nova is actually executing in the background and and creating the server And soon we should be getting to the point where we're getting an ip address for the for the virtual machine He says confidently In spite of every every demo god ever failing No, it's it's all in the hands of neutron and a condo Right, so we're getting the networks here. You can see and we got it. It's pretty cool So we got a floating floating api and this is the output of our search. Yay. We got the demo Yay, it didn't fail everyone just cheer Because these guys are the ones who made it happen Right here um and Ritz So stuff. Do you have the actual ip address for it in there? Yeah, that's um, I don't want to yeah, I want let me see No worries. We'll finish the uh We'll finish the slides and then if anybody wants to see oh, yeah, let's let's do that. I mean So, uh, so use your hand if you've ever launched an instance in an open stack cloud before All right, I would there you go. All right a decent number of you. Jill Where's your hand put your hand up you you haven't done it? Okay, good Cool. So this is in So we have a bunch of uh, possibilities. See we can use python shade, but also we have Instructions, uh from how to use lib cloud, uh, still python if you like and we like python But we also have instructions on how to do that with ruby using the ruby fog and java And unsymbol ansible 2 is pretty cool. It's coming up and they already have incorporated python shade So you can you can specify it already knows the open stack server and dream compute by um by default Primitives so you can you can create servers by specifying them in your your own playbooks That's gonna be a big shift. I think having ansible 2 is going to make Open stack clouds in general, especially those that are really well integrated in shade Very easy to use for any any old developer out there And it's that's one of the advantages of for dream computer being based on top of open stack is that we inherit all of the work that The open source community has been doing for open stack And um, yeah, we have all of those available And so right so we are running um dream compute, uh, the dream host cloud is available for Assumption so we're happy to have you Talk to us. We are at the booth in the other in the other room and you have a memo How to how to use this so now it's time to go check our instance That is open stack tokyo demo There it is that we launched And if this doesn't work, I think we should all just blame github, right? That's obviously what no it worked So, yeah, yay All right. Thank you. Thank you everybody. Thank you. Thanks shade. Yeah Cool Thank you very much. Thank you Questions doubts we can talk at the at the booth