 Okay, so let's get started. Hello everybody, thanks very much for coming today. In this session we're going to talk about Cloud Foundry on Azure. For me it's a very emotional moment because and that's kind of the title of the talk initially with Cloud Foundry on Azure with Sergeant Pat's Lonely Hearts Club Band. So I used to manage developer relations for VMware at the beginning of Cloud Foundry like 2012, 2013. And so Cloud Foundry has been a fantastic adventure. I'm very happy to be at this event today. And the notion here was to bring back all the developer relations team from three years ago and do a talk together. So I sent an email to all my friends and they're all in different companies right now and many of them answered and so we said let's do a talk of five of us and we'll just deploy Cloud Foundry apps in Ruby and in Java and in Node.js on Azure and we'll talk about what we're doing right now. What happened though is I really need a little help from my friends which is many of them bailed on us and the only one who came is Tamao. So thanks for coming Tamao. And so many of us we went our different ways and so Tamao is working at New Relic today and I'm working at Docker. And one of the fun things is that when I initially submitted this talk which was like six months ago when the conference was planned I was working at Microsoft. So after VMware I moved to Microsoft and then I submitted this talk. Hey, we are finally implementing Cloud Foundry on Azure that was one of my really strong desire when I joined Microsoft that Cloud Foundry was on Azure and then boom like two months later I moved to Docker but I said yeah I really want to give this talk because I'm passionate about this. So a little bit about myself I spent all my career working on I'm a server-side plumber I'm a Java guy I used to be at Sun then I moved to Google to do developer relations at VMware I did developer relations for Cloud Foundry at Google it was for Google App Engine in the past few years and then I moved to Microsoft in the past where I spent the past two years and as many of you have seen Microsoft has changed a lot especially in these past two years it's been really a lot of fun. So Microsoft opened up to Java open source community Linux and I'm really glad to have been part of that adventure and recently I moved to Docker and I'll explain why. When I started playing with Docker a year ago the feeling I had when playing with it was really the same feeling that I had in 1995 when I started using Netscape I thought wow there's a new way of building apps we could build these client server apps in the browser and I want to be part of that adventure and so I moved to Netscape and in 2015 I had the same feeling with Docker and my role at Microsoft in the past six months had been to bring the Docker ecosystem on Azure and so that's why I switched. Before we start with this talk I want to talk a little bit about the past infrastructure as a service and the cloud market more broadly and I hope I won't offend anyone here that's the slide that I used to show to my team at Microsoft to present how I saw the cloud market and the way I see it and I use movies as analogies so on one side you have private cloud which is owned by VMware on the right side there you have the big public cloud providers Amazon and Google and at the center you have Microsoft who's really playing a hybrid strategy and I think that's really the strong point of Azure and also that was the strong point of Cloud Foundry so to me that's one of the reasons why seeing Cloud Foundry on Azure today really makes sense so in terms of movie analogies talking a little bit about strategy here I compare VMware to the movie 300 I don't know if all of you have seen it you know they're super courageous they shout Sparta but we all know how the movie ends it really ends bad for these guys I'm sorry to take that jab at my old friends at VMware then on the right you have Google and I used to be at Google and I went to corporate enterprise customers try to sell them App Engine really at the beginning of pass and to tell them hey that's the future you just do you push your app you focus on your code you benefit from this fantastic agility and all that where do you come from it's like we want hybrid we want open source just go back to the drawing board and to me Google it really feels like that character Marty in Back to the Future you know he's a kid from the 80s and he comes back to the 50s and he starts playing hard rock like Van Allen in front of that audience who didn't even know about rock and roll yet and they think wow this guy is crazy I don't understand and then there's a big silence and that's the silence I felt in front of enterprise customers when trying to sell them App Engine so so Google Back to the Future fantastic technology but really not adapted to what people need and they don't know how to tell a story of migration from where they are to where they want to be which to me is a strength of Cloud Foundry as well then there's Amazon and Amazon for anybody who's in the enterprise market today to me they're like a Pacific Rim you know these big monsters that are coming from a fault under the Pacific Ocean and they just invade the enterprise market and you know how the movie ends we just throw them back where they come from which is selling books and then at the center of that you have really Microsoft which to me is really the king of software I grew up on Microsoft and on Windows I started as a Windows developer very early on in my career before spending all my career competing with these guys and getting beaten out by them like once half of the times I would say so they're really great to compete with but in the cloud market I think they really nailed it from the get go with a very strong hybrid strategy which I think is the winning strategy and and Cloud Foundry I think plays a big role in that Cloud Foundry had the same strategy that's the reason why I moved from Google to VMware and I'm I'm really glad to see it getting traction with enterprise customers one last thing in the past one year and a half to two years I think Docker kind of changed the whole landscape and Docker is as well very well positioned in hybrid and that's how I see the market today which is that Linux container ecosystem has transformed the whole market in just one year to me it's been incredible to see I've never seen anything like that so at the bottom here you see the the new hardware the new hardware are the cloud providers so you have Google Amazon Microsoft this is the stuff that the resources that are running your applications today on top of it you have operating systems and these operating systems all flavors of Linux I should add Windows Nano server that was announced at built two weeks ago but all the Linux distribution got on a regimen and they just shrunk to just the kernel a few utilities and then a Docker engine and you're running all your workloads in containers so VMware Kit talked about that this morning they have this photon distribution Red Hat has Project Atomic this CoreOS who started that trend Ubuntu joined with Ubuntu core the most interesting to me is Rancher OS which is just a kernel and two Docker demons one for system Docker and one for userland Docker then there's a bunch of add-ons like weave networks and flocker to move containers around and do virtual networking the relevance to Cloud Foundry here is on the right the big battle right now is in Docker orchestration I have a whole other talk that you can find online about that and there's a big battle for orchestration of containers where at Docker we have our own entry in there with Swarm there's Mezos which is pretty mature and running in production in lots of places Google has Kubernetes there's DS and Cloud Foundry to me can be reinvented as a Docker in addition to being a pass it can also be a Docker container orchestration engine IBM has BlueMix as well so why why Cloud Foundry Cloud Foundry to me with the big benefits is agility as developers we love complexity Cloud Foundry kind of forces you to be simple and focus on your code and don't build infrastructure I love that code from Richard Watson he's a Gartner analyst he wrote a fantastic blog post about Docker use cases recently and one of his five advice is don't build your own pass just just buy one and Cloud Foundry is one of the great options out there one of the interesting aspect that's happening with all these orchestration engines is that lots of people are buying an orchestration engine and trying to rebuild their pass on top of Docker so it gives us agility and it's faster I love that Adrian Cockruff quote about the low the mean time between ID and making stuff happen this is what we want to reduce when we're installing a platform as a service and for the business people among you how many business people here okay a few so agility means dollars for the people are your developers are focusing on building business value as opposed to building infrastructure and having fun with distributed systems Cloud Foundry is also great for DevOps since the mainframe era there's been this wall between devs and ops and and so they never get along together and so devs were building stuff and they're passing that to ops and if it fails everybody pushed the responsibility on the other guy mainframe era it was bad client server not much better web was horrendous and with the cloud finally after that motion yeah yeah he's old I'm showing my age here with the old while agile took 10 years to get like today and Pivotal is a good example of that Pivotal just made their business into helping companies becoming agile and now with Cloud Foundry they're saying hey we have a platform for you to become agile and plus we're helping you train you how to make your developers agile so agile took 10 years I remember reading the Ken Beck book like in 99 to become mainstream today I think DevOps is that is the next trend of agile where devs and ops are working together and things like Cloud Foundry where you have a clean separation between devs and ops the ops set up the pass and the developers are just using it are a good good thing for that now Cloud Foundry on Azure I don't know how many how many of you have seen that one of the little known fact about Satya Nadela who's the new CEO of Microsoft and started really changing the company profoundly is that he's an ex-son guy so he understand Unix he understand the power of open source for reaching out to developer communities and so last year he came out like with a big bang saying hey Microsoft loves Linux and one of the little known facts about Azure is that 20% of the VMs running on Azure are on Linux today and I'm sure it's a number that will grow much more in the next few years all right one of the last thing I wanted to tell you about Azure in addition to have like data centers all around the world I see how they are I don't know maybe 40 regions or something in Azure there's also a network of partners who are running Azure and then what's been announced at build at the build conference two weeks ago or three weeks ago is the Microsoft I think so Azure stack which is they let you install Azure inside the firewall so you can build your private cloud on it the beauty of having Cloud Foundry integrated on Azure is that in order to do that Kundana and Ning who's here they they build a Bosch CPI that talks to the Azure Resource Manager API and this Azure Resource Manager API will be the same whether you're talking to Azure in the cloud or to Azure on premise so that means you can install Cloud Foundry on premise as well as in the cloud if you're using Cloud Foundry on Azure so I don't know how many of you have seen that movie The Artist yeah it's a very good French movie that got an Oscar a few years ago I love that movie I have a whole other story about it but I just took a few pictures here to talk about how Cloud Foundry on Azure came to be when I joined Microsoft two years ago the first thing I did was to send an email to Scott Guthrie John I don't know John Gossman I don't know if you were in that thread or not I said oh it would be a great idea to install to do a Bosch CPI and to do Cloud Foundry on Azure and the question I got immediately back was who cares why why would we do that like who's asking for it and it's not out like CF pivotal CF wasn't out there yet there were the open source bits there were no corporate customers yet so it was a little bit early and you would think that the story is like oh the Microsoft engineers love open source and and they just looked at the code base of Cloud Foundry and they said oh I want that to run on Azure and I really want my workloads now that's not what happened what happened is that customers came calling and pivotal started growing they shaped Cloud Foundry pivotal CF they started selling it to lots of corporate customers and these large customers who are buying pivotal CF they have the same ones who are buying Microsoft Azure and so they turned back to Microsoft and they said hey we want to run CF we want to run Cloud Foundry but we want to run it on Azure and Microsoft is a very customer focused company and so very quickly which means 18 months after that email when pivotal and James Waters had time to sell Cloud Foundry to a few large corporate accounts that email thread was revived and we said hey let's do it and like we're just a few months later and it's up there so it took a while but then today Cloud Foundry is running really well on Azure and that's what I'm going to show you so actually it's going to be a quick demo so here I'm logged into I'm logged into an Azure VM that has Azure installed on it as well as the CF command line and so so you see I'm my Cloud Foundry target is api.cf.azure.cf.com and there I have a small Node.js application so I'm just going to modify the manifest and I'm just going to call that up pad them or let's call it CFSummit okay and then I can just do a CF push and boom it's pushing my so it's a simple Node.js application that's not using any services and it's doing the binding and the pushing and while he's doing that I'm just going to copy the URL ah come on okay it's uploading the droplet and boom it's running and if I go there so you could see one of my previous examples boom it's not available ah what's up now oh yeah definitely yeah it's not available because I don't have any I don't have any host for it so I'm just going to do it the old-fashioned UNIX way okay so that's a that's a live demo people okay let's go there and I'm just going to right and see dollar all right okay let's see if chroma is nimble enough to pick that up all right yes platformery on Azure people so that's a that's a very simple Node app I wanted to show you something a little bit more complex but I couldn't so so let me explain the so the bits of platformery on Azure you can find them on GitHub it's a pretty early release they're still working on it and so the version that we have here if I do a CF services there's no services in there and the app I wanted to show is a it's it's a Java app built by Josh Long from Spring and and Phil Webb and it's a Spring Boot app that you that's using a very fancy JavaScript UI and a backend with APIs and WebSocket and all that and MongoDB with Mongo FS in the backend and so I need MongoDB for that and so there are no services in there so I thought hmm I'm doing that demo all the time with Docker containers I have a Docker container for it let's try to install that is and so what I did just before coming to that room here this whole morning I provisioned an Ubuntu VM so let me show you that Ubuntu VM oh no where is it it's in the new portal in there oh no my session expired but what you what you can see below was my my nice Ubuntu VM I assigned to it a public IP I'm not going to log in there so I Ubuntu VM a public IP then I went to the lattice documentation and I followed the manual installation steps for lattice and I have that running here so if I do an LTC list you'll see that I deployed two containers lattice app and and path training and these are deployed if I do a lattice target so that that IP addresses the IP address of my Azure machine and so I'm able to use lattice to deploy containers unfortunately there's still an issue with the routing aspect of it which is these containers are running I can do I can look at the logs of them so the application is running and all that but then the routing doesn't work and that's the the issue that I showed you before and I don't know why and I'm going to debug that with a pivotal people in the next few days and I'll post some comments about that on GitHub when I'm done so running lattice on Azure is also another interesting option so that's the app I wanted to show you so lattice is for those of you who haven't gone to the talk it's like a reduced version of Cloud Foundry that's much easier to set up and to run as a developer and and also that lets you push Docker containers to it lets you orchestrate Docker containers and it has routing and all that okay you can learn more at the github.com azure slash Bosch you can find the bits for running the Bosch CPI on Azure and it's a work in progress there are some documentation in there and if you go to chanison slash azure Linux I have a bunch of tutorial about how to run all things Docker on Azure as well and now because it's a it's a joint talk one of the aspect that's super important when you're running all these applications is monitoring and so Tamau is from New Relic and she'll tell you about how to monitor your applications on Cloud Foundry with New Relic let's switch so thanks for joining so I'm the one representative from the team so thanks for your time so now I run community and evangelism at New Relic but because of my Cloud Foundry background I'm very excited to be involved and I'm constantly evangelizing Cloud Foundry at the company quickly my background so I was on the team I continue the Yak brand as I am you know a true honest Cloud Foundry fan and and now at New Relic as I mentioned part of our team is we have funds to support groups and foundations user groups and the like and so we're very proud to announce that we are now supporting the Cloud Foundry foundation and very excited to be involved so I'm going to jump right into it in case you don't know what New Relic is we have many products but one of our core and original products was performance monitoring for your apps hopefully we'll have a few minutes later to go deeper into this but we have great dashboards that show pretty much the performance monitoring from your code to your end users including your databases third-party services javascript errors all sorts of things and so it's a very useful tool and it's got a very strong user community that's very passionate about it so other products just quickly besides performance monitoring I won't go through all of them but insights is our fairly newer product that goes into software analytics and synthetics is the newest one that I find really exciting because it actually sends data to your app from different parts of the world so that you can test it and so if we can get into that we have great samples for that so because this is Patrick's Azure session I thought I'd insert a little Azure in there so I have a very old image that I captured and the reason it's old is that we've actually had great integration with Azure for quite a while so if you submit in if you push an app to Azure and you want to bind New Relic to that app there's the add-on options that you can choose and you just click through and it's fairly easy similar to if any of you are familiar with Pivotal web services Pivotal's hosted cloud foundry option there's a marketplace offered by app direct where you can see the New Relic tile once you've posted your app and it's pretty easy to bind in fact it's easier because when you use New Relic directly you have to deal with installing our agents and it's really lovely to have a pass where you can actually remove some of those steps so you've had those capabilities and what if you wanted to have that for your own cloud foundry installation well that's something we haven't had for a while but thanks to Shaham who's here and you should ask him tons of questions he's worked on the service broker so that you can have the same capabilities for your developer end users to have New Relic show up as an option when they push their apps so if I'm using as example the PCF ops manager so if you're on the ops side it's even a marketing person can do it it really is easy so if you have an ops manager environment you can see there on the right hand side it's an option you add the product and once you go through the steps and they're really very few you get the New Relic tile so that's very exciting and the assumption is that you would also already have a New Relic account that's very simple it's just as simple as going to New Relic dot com create an account and when you have your license you'll go into the ops manager you'll create the service plan name it and then that's where you would enter your license so it's pretty quick and so then the end user experience for your developers is very similar to PWS if you know that they get to push their app they get their dashboard if they want to buy New Relic it's an option that they can choose they can even see they don't enter the license key they can just see which license key they're using and it's pretty simple so we actually support all the languages that New Relic supports so it's except for dot net excuse me but Java, Python, PHP, Ruby and Node and more to come he'll be working on single sign-on and maybe there's a manage button if you know PWS it sends you directly to your dashboard in New Relic so that's one capability that we have to be working on so do we have like two minutes for Tom to jump up and just do a couple cool things okay so Tom also from previous pivotal view and where we'll jump in and use this mic so previous pivotal previous pivotal now at New Relic once you've bound your service to your application that's really all there is to it you bound bind the application or the service to the application and then you open up New Relic and your application just starts reporting data in this is a version of the spring travel app I think anybody that's tried to learn spring has looked at the spring travel app that runs New Relic and it just shows up so one of the things that New Relic does is we take your applications rather than giving you a JVM name or an instance name or a host name we group everything logically by the name of the application so you can see this is New Relic travel it's running on two different instances installed on two different hosts but it all reports one aggregate performance metrics you can see the response times you can see individual page loads you can get all the way down to the individual line of code you can do things like thread profiling you can get to the individual debugging steps anything you want you can also drill down and it'll show you what's taking the most time in aggregate or in an individual transaction trace so I can see every sequel call every back end call this particular application speaks to a MySQL database it speaks to a RabbitMQ you can see anything at all and from the end user's browser all the way back to the back end system so that Java agent or node agent that you install will inject JavaScript into the outbound response and execute on your end user's browser and report back to New Relic to give you the timings not just for the page load but for the Ajax interactions that your users are having you'll get session traces maybe your users on your on your one page single page app for five minutes ten minutes it's really nice to know where they're clicking when they're clicking how long they're waiting and then be able to do all the analytic analytics around that I'm not going to go into synthetics but this is the browser interface everything shows up inside of one UI and I apologize for ripping through this but I know we're close on time all of this can be seen out in the in the demo exhibit hall but this is a what we call a session trace and this is where you can see as things are loading in the browser every single component that your application loads how long is it taking so anybody ever written an application and assumed that you were caching a 4k or 10k or 20 meg image and it wasn't this will show up and you'll see a great big long line and it becomes really really obvious where the issue is you can also see versions of the browser or javascript errors if anyone in here is trying to troubleshoot a javascript error that's only happening on ie7 coming from a windows box yeah those are kind of hard to track down this shows it to you in a really easy to use easy to find format and lastly new relic insights all of the data that we capture whether it's from your mobile application on your mobile device or from a browser or from a job application or a node application all of those metrics are collected in the insights event data store and then you can go in and do analytics on that so maybe I want to see what my busiest day of the week is or maybe I want to track individual user usage who's using my app the most when are they using it what pages are they hitting if you want to figure out do I really need to support safari version six or Netscape or what are what are my favorite apps do I need to support the a windows phone do I need to support iphone and what os all of that detail is there it's there for the taking all you have to do is execute a few queries you can build nice dashboards it's very easy to add custom instrumentation or additional data stores if you want to for instance you have a if you have a log file and you want to pipe that log straight into insights and then query to your heart's content have a ball so it's really about one big platform synthetics as time I mentioned you can execute from different points of presence around the globe but it's really about one big platform to bring everything together so that you can see your apm data from your applications from the browser from the mobile devices and anything else that you might want to pull in from a custom standpoint and see it all in one place so the biggest question that I know when I was at pivotal and working with customers on pivotal cf or open source cloud foundry was how am I going to monitor the stuff if I move my apps to cloud foundry how am I going to know whether they're better or worse faster or slower bigger or smaller and this gives you a really good way to monitor before and after and see the same application running on two different architectures two different environments and see what the performance really is see what the throughput is see where your your biggest use cases are and with that I'm getting the stop sign so I will stop thank you thank you very much