 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 that's kind of the title of the talk initially was 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 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. Brilliant bats for these guys. I'm sorry to take that job 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 to 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, 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 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 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 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 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 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 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 and 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. There's CoreOS who started that trend. Ubuntu joined with Ubuntu Core. The most interesting to me is RancherOS, which is just a kernel and two Docker demons, one for system Docker and one for userline 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 Cloud Foundry? Cloud Foundry to me with the big benefits is agility. As developers, we love complexity. Cloud Foundry 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 buy one. And Cloud Foundry is one of the great options out there. One of the interesting aspects 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 meantime 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. 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 main frame era, there's been this wall between Devs and Ops. And so they never got 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. Main frame era, it was bad. Client server, not much better. Web, it was horrendous. And with the cloud, finally, after that notion, yeah, 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 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 thing for that. Now, Cloud Foundry on Azure, I don't know how many of you have seen that. One of the little known facts about Satya Nadella, who's the new CEO of Microsoft and started really changing the company profoundly, is that he's an ex-son guy. So he understands UNIX, he understands the power of open source for reaching out to developer communities. And so last year, he came out 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 things I wanted to tell you about Azure, in addition to have data centers all around the world, so you have there 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 the build conference two weeks ago or three weeks ago is the Microsoft, I think, 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 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 Gosman, I don't know if you were in that thread or not. I said, oh, it would be a great idea to do a Bosch CPI and to do Cloud Foundry on Azure. And the question I got immediately back was who cares? Why would we do that? Like who's asking for it? And it's not out, like 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 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 shipped 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 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 an Azure VM that has Azure installed on it as well as the CF command line. And so you see 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 app paddim 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 it's doing that, I'm just going to copy the URL. 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. What's up now? Oh, yeah, definitely. Yeah, it's not available because I don't have any hosts for it. So I'm just going to do it the old-fashioned UNIX way. Okay, so that's a live demo, people. Okay, let's go there. And I'm just going to write and see $. All right. Okay, let's see if Chroma is nimble enough to pick that up. All right. Yes, Cloud Foundry on Azure, people. So that's a very simple Node app. I wanted to show you something a little bit more complex, but I couldn't. So let me explain. So the bits of Cloud Foundry 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 it's a Java app built by Josh Long from Spring and FieldWeb. And it's a Spring Boot app that's using a very fancy JavaScript UI and a backend with APIs and WebSocket and all that, and MongoDB with MongoFS 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 lattice. 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 can see below was 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 that 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 path training. And these are deployed if I do a lattice target so 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 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 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 Shanazone slash Azure Linux, I have a bunch of tutorials about how to run all things Docker on Azure as well. And now, because it's a joint talk, one of the aspects that's super important when you're running all these applications is monitoring. And so Tamara 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 a true honest Cloud Foundry fan. 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, 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 and users to have New Relic show up as an option when they push their apps. So if I'm using, as an example, the PCF ops manager, so if you're on the ops side, 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 there are 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 NewRelic.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 .NET, excuse me, but Java, Python, PHP, Ruby, and Node, and more to come. You'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 hope to be working on. So do we have like two minutes for Tom to jump up and just do a couple cool things? Tom, also from Previous Pivotal Viewingware, we'll jump in and use this mic. So Previous Pivotal now at New Relic, once you've bound your service to your application, that's really all there is to it. You 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 SQL call, every back-end call. This particular application speaks to my SQL database. It speaks to 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 one page, single page app for five minutes, 10 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 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 demo exhibit hall. But this is 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? Has 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 has tried 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 Java 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 6 or Netscape or what are my favorite apps? Do I need to support 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, 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 Tom 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 this 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 biggest use cases are. And with that, I'm getting the stop sign, so I will stop. Thank you very much.