PRIYANKA VERGADIA: Is your company
equipped to deal with software development and delivery
as it adopts technologies like containers, hybrid cloud,
or even multi-cloud?
Yes?
No?
Maybe?
Well, keep watching as we unwrap the modern CI/CD with Anthos.
[MUSIC PLAYING]
I'm Priyanka Vergadia, and welcome to Anthos 101.
In this episode, we're talking about all things CI/CD.
On your journey to container adoption
across hybrid and multi-cloud environments,
it is important to think seriously
about continuous integration and continuous delivery.
Oftentimes you will see operations teams
getting bigger.
Security best practices tougher to enforce over
more environments, and reliability issues
making their way into production.
So let's unwrap hybrid and multi-cloud continuous
integration and continuous delivery,
an approach that can help you exhilarate your release cycles
and increase your software's reliability across all
your environments.
Modern CI/CD on Anthos embraces a shift left approach
to development and leverages declarative templates
to manage security policy, not people.
This means that issues are addressed during build and test
phase, not in production.
It allows you to bring your operations teams together,
cutting down on silos and the proliferation of tools.
So let's dive in.
When we think about the creation of a CI/CD pipeline,
there are three different teams that
are involved, developers, operators and security
engineers.
In this model, developers have their own GIT repository
where they store their application code.
That application code can kick off continuous integration
whenever a developer creates a commit, a change
to their application code.
A continuous integration tool tests the code
and then creates an artifact.
When we're talking about deploying to Kubernetes
clusters, our artifacts are container images
that will eventually be pushed to production.
Once continuous integration creates that container image,
it will store it in container registry.
The reference to the recently stored image
will be stored in another GIT repository controlled
by your application operations team.
We'll call this the deployment repo.
This secondary repository holds Kubernetes manifests,
which have instructions on how applications
should be configured.
In order to manage that configuration,
we use a tool called Customize.
Customize packages together the desired state container
image from our container registry
and the instructions from the Kubernetes
manifest, and store it in the deployment repository.
This GIT repository stores the state
that we want to deploy into our environments.
The first place where we store that state
is within the staging branch of the deployment repository.
From that staging branch, a continuous delivery tool
manages the deployment to our staging environment,
where developers can test this application.
With Anthos's consistent platform,
the staging environments are more similar to your production
environments.
Think about problems created with different tools, practices
and processes when testing in the cloud
and then pushing to production in a totally
different environment.
When the developers have finished testing,
they can tell the operators that they
want to make a push to production,
or the operators can control the timing.
To push to production, they march from the staging branch
of the deployment repository into the master branch
and propagate those changes into production environment.
For our security teams, let's talk
a minute about how to secure your production environments.
You also have your own GIT repository
that is going to store the expected state of the security
policies, things like role-based access,
control policies, quotas for your applications
and restricting risky behavior, such as the ability
for containers to run as root.
How can you do that?
Well, one mechanism we use is the policy controller,
which is a part of Anthos Config Management.
Because of Anthos consistent platform
across all of your environments, security teams
can customize what policies they want to run in what groups
of clusters.
And this is all done without having to configure it
in each environment.
That was a quick overview of modern CI/CD
on Anthos, showing how you can increase your development
velocity and produce safe, reliable applications
for your customers.
Ready to get started?
Check out the solutions page linked below.
And for more Anthos content, don't
forget to subscribe and follow the Anthos 101 playlist.
[MUSIC PLAYING]