Hi, I'm Scott Hanson, and it's Azure Friday.
We're here with Sean McKenna talking about Cloud Foundry
on Microsoft Azure.
So what is Cloud Foundry?
This is a partner product?
>> So Cloud Foundry is a popular open source
cloud application platform that we support on Azure.
You can run it in a bunch of different environments,
but we have really great support for it on Azure.
>> Okay, so it's open source.
Is it supported by a company or
there's something we're involved in?
>> Yeah, so there's an open source community and an open
source version of Cloud Foundry that you can run on Azure.
But we've also got a bunch of partners that produce enterprise
distributions is kind of the standard open source playbook
where there's the open source version and then the enterprise
distribution that comes with support and additional tools.
So one of the partners that we work with is Pivotal.
And so Pivotal produces Pivotal Cloud Foundry,
where they basically take the open source version,
package it up and let you run that.
Okay, and what is Cloud Foundry?
What does it do?
>> Yeah, so it's a cloud application platform.
You can think of it as sort of a distributive middleware that
sits on top of a bunch of IaaS resources and provides a way for
developers to deploy applications really easily, for
operators to manage those applications, and
provide that abstraction over the underlying VM.
So you're not actually spinning up VMs yourself and
deploying software directly to it.
You're working at a higher level of abstraction.
>> Okay, so it's an open source platform as a service.
I deploy my app to it,
my app buys into the things that Cloud Foundry offers, and
then doesn't think about any of the underlying resources.
>> That's right, exactly right, yeah.
>> Okay.
>> So obviously,
as is often the case with some of these distributed platforms,
it's pretty hard to get it set up yourself.
So we provide an easy way to get started.
So I mentioned Pivotal Cloud Foundry is
one of the distributions that we support.
And so we have an offer in the Azure marketplace that makes it
really easy to get up and running and
spin up a full environment.
Once you've done that, what you'll end up with is this huge
number of resources inside of a resource group that you specify.
And so I will warn people here, it is not a small deployment.
So you're gonna get something on the order of 25 to 30 VMs
in a standard deployment from the Azure marketplace.
>> Will people who are familiar with Cloud Foundry be surprised
by that or is that- >> No.
>> That's the standard thing.
>> Pretty standard.
So we actually see it's quite popular with large enterprises,
because there was a bunch of features that make it
easy to work with for large organizations, but
also because of the size of the deployments and
some of the cost that comes alongside it.
>> I see, but it's all about the complexity, right?
If I had to do this myself- >> Exactly.
>> No matter what cloud I decided to pick,
it would be a lot of manual work and a lot of wiring up.
>> That's right. >> Here, I get to go and
take my company's preferred platform as a service system,
Cloud Foundry, and install it into Azure.
And I presume I would not do Hello World on 25 VMs?
This is about installing all of my Cloud Foundry apps
into Azure.
>> Correct, yeah, and so
typically, those large enterprises will deploy a large
number of applications.
And what they find is yeah, there's some cost associated
with it with the number of resources that you're spinning
up, but it makes them much more productive in deploying and
managing those applications.
So you mentioned you wouldn't do Hello World, but I think in this
case we will actually do maybe a quick Hello World to see what it
looks like.
>> Let's do it.
>> I'd like to understand, do those virtual machines go up and
down in size, do they scale in and out in size
>> Yeah, so
you get set up with a sort of standard deployment, but
then you can change the size of those VMs.
You can add more and take some away, so all of that standard
kind of horizontal and vertical scaling is available.
>> Okay, cool.
>> So what I have here is a, Tree,
just a Java application using the Spring framework.
I'm not sure if you're familiar with Spring.
>> Yeah, I did Java actually for many years at Nike and
used Spring for string framework.
>> Yeah, so it's one of the popular Java frameworks and
it's quite popular for people to run on top of Cloud Foundry.
So this is a Java app, simple sort of Java web application.
And what I'm gonna do is cf push, so there's one command you
need to know when working with Cloud Foundry, it's push, which
basically takes an application, takes all the source code and
pushes it up into the environment.
So we think of Cloud Foundry as being an opinionated
application platform.
And what that means is they've basically taken a bunch of sort
of best practices and common models and
codified them into a set of operations.
And so what's happening here is after I've pushed
the application, it's gonna do a few things.
It's gonna create an entry for the app in Cloud Foundry.
It's going to take all the files and
upload them into the Cloud Foundry environment.
And interestingly,
it's going to detect what type of application it is.
And then determine what its dependencies are,
package all of that up into a container that will actually be
what gets deployed.
>> Do I need to give it
hints if it doesn't detect that correctly?
>> Nope, so for standard The standard applications,
including .NET Core.
You can have it just automatically detect based on
the files that it's pushing, what type of application it is.
Bring all of those dependencies together into a container and
push that out into the environment.
>> Wow, does this Java application, this spring
application know that it is in a Cloud Foundry environment?
Or is it, it's ignorant to that?
>> Exactly, yep.
>> Nice. >> And so you can see that here
it's detected that it is a Java application and
it's gonna pair that with what's called a build pack.
And a build pack is effectively a set of scripts.
>> Mm-hm.
>> It's going to take all of those files,
figure out the dependencies and
again package that up into a container.
And then the other thing it's gonna do is actually
create an endpoint for that application.
So if I scroll down here, you'll see there's the URL and
I can just go- >> And it's on your domain,
of course, you have control.
>> Yep, so you set up basically a wild card DNS entry, and
then on top of that base domain.
The application name will be added as an additional
sub-domain and
then you can immediately with the application.
So basically with one command,
I've taken all of that source code.
Which as you mentioned,
is completely ignorant of where it's going to run.
Packaged it up with all of its dependencies,
whatever it needs from Java and Spring into a container.
>> Mm-hm. >> And pushed it into
an environment that I can now hit directly in my web browser.
>> So for people who are using Cloud Foundry and
anyone's watching this and their company has maybe managing their
own resources internally for Cloud Foundry,
this is gonna feel very comfortable.
>> Yes, absolutely.
>> They could and put this up and move a lot, if not all,
of that staff from there internal data center into Azure.
>> Yep. >> And it'll feel just exactly
right cuz it is Cloud Foundry.
>> Yes, and that's exactly what we see a lot with Cloud Foundry,
there are companies will start running it on-premises.
>> Mm-hm. >> And then look
to move some of those workloads into the cloud into Azure.
And a huge part of value that Cloud Founder provides is that
consistency and that portability.
>> Mm-hm.
And once I've got and installed this,
once I've said get it now on the Azure market place.
>> Mm-hm. >> Does it have
its own administration tools, do I have to update it?
How much of this is manage versus how much attention do I
need to pay to it as new versions of Cloud Foundry
come out?
>> Yeah, so one of the told that you get with the pivotal
distribution of Cloud Foundry a tool called operations manager,
which provides you with the opportunity to do all of that
management.
In fact, I can probably bring it up here.
Oops.
>> Oop, again, at your custom URL.
>> Little bit of a [INAUDIBLE] issue there.
>> Yeah, interesting, so you log in as yourself.
And now, still you're logged in interestingly,
Azure Microsoft AD person, so
you're managing your resources part of Azure AD.
>> Yep. >> And you can use
that to then log in to the Pivotal Ops Manager.
You can see your different versions of your runtimes.
You can see the Azure logo there and some custom Azure things.
>> Yeah, so we have support for
what's known as a service broker.
So Cloud Foundry applications typically follow the 12 Factor
app model.
So there's stateless applications and
then you bind them to staple backend services.
So the service broker allows you to create those services and
bind them into those applications.
And so we provide the Azure service broker so
that you can connect that to Azure storage, Azure SQL,
Redis, whole bunch of different services.
And provide those as backend storage for your applications.
You mentioned the operational model.
If I jump in here to the elastic run-time tile and
go down to resource configuration.
You'll see basically a mirroring of what we saw
in the Azure portal in terms of the resources.
So these are all the different roles that are-
>> There's all of your virtual
machines, what role each one takes.
Memory, I see you're standard.
Yeah, standard F-1, your ram, your disc, everything.
>> Yep, and so if I wanted to,
as an operator of this environment,
I see that the number of applications that are getting
deployed are starting to fill up those resources.
I can go in here and say add more VMs,
and then if I push that in to the environment, it will go and
spin those VMs up inside of Azure and
just add them into the pool of resources.
>> That's very cool.
So then anyone who is a Cloud Foundry person,
this is all gonna be old hat.
They're gonna see this and
they're gonna go well yeah, it's Cloud Foundry.
>> Yep. >> And it
automatically works in Azure.
You've got the plugins and the nozzles.
>> Yep.
>> For things like logging that we saw.
>> Yep. >> As well as an entree into
other Azure services, whether it be storage or
whatever you want to do.
>> Yep. >> All right, cool, and
you can go as big as you want and it's available now?
>> Yep, this is generally available in Azure.
And in fact, one off the things that we've done recently is
Microsoft has joined the Cloud Foundry Foundation.
So we're making an even bigger bet on this platform and
providing it as a great option for
companies that want to run all different kinds of
applications in a consistent way on Azure.
>> Very cool, thank you very much.
>> All right.
>> I'm learning all about Pivotal's Cloud Foundry here on Azure Friday.
[MUSIC]