(upbeat music)
- Hi, everyone.
I hope you're having a great day so far.
I'm Jeremy Winter, vice president for Azure Cloud Native.
Now we continue to see a lot of momentum
with customers like yourself
who are leveraging the cloud for innovation.
At the core of this transformation
our cloud native technologies and practices
that quite simply enable you to leverage the scale agility
and flexibility of the cloud.
Today I'll talk about how you can develop cloud native apps
with Azure and operate them anywhere with Azure Arc.
Let's get started first with some quick context.
Cloud innovation has radically changed
the way applications are designed, built, and operated.
And it's clear from the conversations I'm having
with customers include many of you
that the app of the future is cloud-native.
A recent Gartner study indicates that 95%
of the new digital initiatives will be built
on cloud native platforms by 2025.
Which is up from less than 40% today.
And this matches the momentum we're seeing
with modernization efforts underway on Azure.
You see, cloud native apps are designed
to take full advantage of the latest innovation
in public cloud with containerization, microservices
and DevOps practices.
They're intelligent and infused with AI
to provide advanced insight.
And they're taking advantage of open source technology
and libraries from across the community.
Cloud native technology is how developers
can achieve the agility and security demanded
by the next generation of applications.
With Azure, we provide everything you need
for cloud-native apps.
From managed Kubernetes, serverless computing and functions,
to data services like SQL or cosmos DB.
And even high quality AI models for everything
from vision, speech, to decision making.
It's all there to help you build modern applications easier
and deliver your solutions to market faster.
And all of this is integrated with the tools you love
like GitHub and Visual Studio Code.
You've told us,
that you have workloads that need to run
outside of the public cloud in your own data centers
and at the edge.
Workloads that you could manage effectively
with cloud native tools and services.
And with Azure, we help you write apps once and run them
wherever you need using a cloud-centric approach.
Let's talk a bit more about how Azure Arc helps.
First Kubernetes has become such an integral part
of the cloud native world.
with Azure Arc our goal is to ensure
that we don't get in the way of your bet
with the Kubernetes ecosystem.
You can write to the same application service APIs
that can run consistently on premises across multiple clouds
and in edge environments on any Kubernetes platform.
Second, as data is such a strategic asset
for all types of organizations today,
we see it as a key element of your applications.
Data may need to reside locally at the edge
for regulatory reasons, performance,
or simply the convenience of keeping it close.
With Azure Arc.
You can run Azure data services like SQL
or post crest QL to build cloud-native databases anywhere
and unlock insights in real time.
Now managing the deployment of these apps and databases
across environments can be a challenge
without the right approach.
So Azure Arc also leverages GitOps
and policy driven deployment,
so you can get an at scale consistent deployment experience.
And finally as you unlock the power
of Azure's cloud-native security, governance
and monitoring solutions,
are there available so that you can ensure security
and compliance of all your apps
regardless of where they run.
We're focused on making Azure
the best cloud-native platform available.
And we're invested in a unified blueprint
from the cloud to the edge.
Here, let me break the components of the blueprint down
and why it matters.
I'll start from the bottom.
As Rowan discussed, we are focused
on building solutions that can run consistently anywhere.
Be it a cloud or at the edge on the factory floor
or on the sensors on a truck out in the field,
delivering essential assets.
It's your choice.
Now for the cloud native app,
it's the Kubernetes layer above that's key here.
We are betting with Kubernetes
as the common abstraction layer as you build and modernize
your applications for portability across the cloud
and the edge with containers and microservices.
We are investing heavily here
with both the Azure Kubernetes service
and with Arc enabled Kubernetes.
So you have the flexibility
as you build native Kubernetes apps.
Next moving a layer higher in the blueprint.
Once you have the Kubernetes platform and apps running,
this is where you can take advantage
of our cloud native services in Azure
to build your modern application
leveraging a set of Azure services like data and AIML.
And finally to bring it all together at the top
is our control plane in Azure.
That gives you the visibility, security and governance
for all your apps and databases no matter where they run.
Consistency and control across environments
provides a huge advantage as environments expand
and teams innovate faster.
Whether the app is purely built on native Kubernetes
or leveraging Azure services.
Now I'll double click a bit more
into Kubernetes options here in a sec.
And we'll also get in to see a demo here coming up.
And when you think about the data related services
my colleague Peter Carlin will go deeper
into the capabilities with the next session.
So stay tuned for that.
So for that closer look at Azure and Kubernetes.
Our Azure Kubernetes Service also known as AKS,
is the best way to get fully managed Kubernetes clusters
with integrations across Azure and the Microsoft cloud.
AKS enables you to provision a fully managed
Kubernetes cluster in minutes.
With AKS we've made it easy for you to take advantage
of several Kubernetes best practices.
For example, we offer pre-configured templates
with enterprise security and policy built in.
We also built integrations
with Azure monitor and Microsoft defender for cloud.
So that operational health and security
are integrated seamlessly into your DevOps practices.
And AKS includes integration
with your favorite developer tools,
such as the code to cloud pipelines
through both GitHub and Azure DevOps.
And we also bring Kubernetes to more regions
than any other cloud provider,
ensuring that your unique your unique business
needs are met.
AKS extends to the edge as well with AKS on Azure stack HCI
and wherever windows server runs.
With support for single node HCI and windows server.
We offer you a lot more flexibility to bring AKS
to your remote office, retail locations and factory floor.
Now talking about hybrid and the edge
Azure Arc enabled Kubernetes is really where
you can get help to build and run
your native Kubernetes apps and databases anywhere.
Our goal with Azure Arc enabled Kubernetes
is to meet you where you are with your existing investments.
And that's why you see we have this large ecosystem
of partners that we're working with,
that goes across the entire Kubernetes landscape.
As you can see here.
With support for any CNCF compliant Kubernetes,
you can make your own choice of distributions
for validated solutions
and are not locked into just one option.
And we'll continue to invest in this ecosystem
to make sure that you can use the tools that you want
from the partner of your choice
all while gaining the massive innovation
that the cloud provides.
So I talked about how you can leverage Azure and Azure Arc
to build your own cloud-native apps anywhere.
So let's see this in action.
Joining me today is Lior Kamrat from the Azure art crew
who will be doing the demos and showing a bit of
some of the capabilities I talk to.
So Lior welcome.
Thank you, Jeremy.
- Hey man, I'm sure they'd love to see what we've got.
So take it away.
They're all yours.
- Thank you.
To show you the various Azure hybrid technologies in action.
We prepared the demo illustrating how Contoso
a global enterprise company with manufacturing
and retail stores operations,
as well as robust central IT processes
is using Azure Arc in both their headquarters
and branch offices.
So they can have a unified operations across cloud and edge.
To start us off,
Let's start in the retail store.
Look at an internal application designed to work
in a microservices Kubernetes architecture,
and supporting Contoso developers and the retail stores
across the globe.
As you can see, Contoso is for Azure Arc
enabled Kubernetes clusters,
using three different Kubernetes distributions.
Cluster API, Rancher K3s and Azure Kubernetes service AKS,
which is provision on Azure stack HCI.
These clusters are running in four stores
in three different countries.
Let's take a look at the cluster API deployment.
As you can see the Arc agent
shows important resource metadata,
like the backend infrastructure and the Kubernetes version.
In order to take advantage
of the Azure Arc extensibility model
Contoso installed various cluster extensions
on all three clusters.
These extensions will let them implement Azure services
and capabilities such as Azure policy,
Microsoft defender for cloud, Azure Key Vault,
Open Service Mesh, GitOps and more.
Looking at the rancher K3s cluster,
also onboarded to Azure Arc,
we can see different made data information
and also fewer extensions highlighting the flexibility
offered with Azure Arc enabled Kubernetes.
Let's take a closer look at some of the cluster extensions
installed on the cluster.
Contoso books as defined baseline
for their bookstore microservices application configuration,
and are planning to perform a Blue-green deployment
on all their enabled Kubernetes clusters.
So they can test the new version
for the application front end service.
This service is designed to count
how many books Contoso sold and show this information
on their internal company website.
Each time a book is sold
the website will capture the transaction
and will update the counter.
Let's take a closer look on the cluster extensions.
The first extension to pay attention to
is the flux extension allowing for the implementation
of GitOps configuration.
So the bookstore application will always be up to date
based on its settings in the Contoso git repository
for the application.
We also see that the open service mesh cluster extension OSM
is installed as well.
This will allow Contoso to control traffic routing
to the application in a governed manner.
These extensions are the foundation for Contoso
Azure Arc enabled Kubernetes application deployment.
Next, we will review the GitOp config and its settings.
The first config pay attention to is the config bookstore.
Which will initiate the deployment of the application
based on the targeted GitOp repository.
This repository is where the application
Kubernetes manifest files are located.
Let's look at the OSM config as well.
This config will allow Contoso developers
to test the traffic routing and the web request
which will then translate to the number of sold books
and split the traffic between Version 1 and Version 2
of the bookstore application.
This is possible since the config is also listening
to the same GitOp repository,
which holds the open service mesh traffic routing
Kubernetes manifest file.
We will explore here in a moment.
Let's review the current application deployment.
We can see that all the traffic for the number of books sold
is routed to use Version 1 of the bookstore application
with no traffic going towards Version 2.
The GitOp repository we are seeing here,
is the same one we saw a moment ago
in both the flux and the OSM cluster extension settings.
As you can see,
the current traffic split is configured in a way
that Version 1 of the application
to receive 100% of the web requests.
Before initiating the blue green process workflow,
let's run a simple kubectl command,
monitor the deployment and its Kubernetes pods.
We'll come back to the repository and apply a change
on the traffic split policy by updating the ML file.
So 25% of the web request will be routed to use Version 2
of the application.
The Azure Arc enabled Kubernetes GitOps config
that uses open service mesh will pick up the change
and will apply it instantly.
So let's come back to the application web monitoring.
We can now see how the change to the traffic policy
result in 25% of the requests being redirected
to Version 2 of the application and work as expected.
By looking even closer,
we can also see how the Kubernetes pods
are impacted by the change.
Now that we have verified that Version 2 is functioning
and receives web traffic,
let's make another traffic policy change.
And this time redirect all the traffic to Version 2,
by changing its value to 100 and Version 1 to zero.
Like in our previous change,
the Azure Arc enabled Kubernetes GitOps config
will listens to the repository.
Will pick up the change and will apply it instantly.
Coming back to the web application monitoring,
we can see how Version 1 stop receiving request
and Version 2 is picking up all the web traffic
while Kubernetes activity gets updated
to reflect the change.
The ability to install cluster extensions
with Azure Arc enabled Kubernetes,
unlock powerful options for developers and DevOps engineers,
such as applying GitOps configuration
and service mesh topologies
on any certified Kubernetes cluster.
- Hey, thanks, Lior. Great job.
As you saw in the demo,
you get a lot of flexibility as a developer
to use tools that you are already familiar with
to deploy applications at scale to any Kubernetes cluster
with Azure Arc.
To build on this further, we are committed
to ensuring you have the best developer experience on Azure,
for your cloud-native apps.
First Azure enables GitOps capabilities,
so you as a developer may essentially declare and enforce
a common set of configurations on Kubernetes clusters.
Again, no matter where they're running.
Next, we continue to be deeply committed
to the open source ecosystem and provide managed extensions
for Dapr and Open Service Mesh on AKS
and Azure Arc enabled Kubernetes clusters,
enabling you to simplify microservice development,
traffic splitting, observability and much, much more.
And finally, going back to that control plane
I talked about earlier,
you can ensure security compliance and observability
for all your Kubernetes clusters and apps
using integrated Azure services
such as Microsoft Defender for Cloud,
Microsoft Sentinel,
Azure Policy and Azure Monitor.
Okay with that, as I wrap up the conversation today
I'd like to highlight a great set of resources,
the teams have pulled together for you.
Be sure to check out items
such as the Azure Arc Jumpstart,
a free online learning modules
as well as extensive documentation
based on many customer successes.
The material is there.
So you too can start building cloud-native applications
anywhere with Azure.