Microsoft Azure Red Hat OpenShift explained

Learn about specific use cases, detailed deep dives, and specialized strategies to get the most out of  Microsoft Azure Red Hat® OpenShift® for your business needs through this series of videos. 

Learn about specific use cases, detailed deep dives, and specialized strategies to get the most out of  Microsoft Azure Red Hat® OpenShift® for your business needs through this series of videos. 

DevOps integration with Microsoft Azure Red Hat OpenShift

2 mins

Learn about the possible DevOps integrations that your developer team can utilize with Azure Red Hat OpenShift. Marcel Hild, Red Hat Managed OpenShift Black Belt and Kevin Harris, Microsoft Azure Global Black Belt, will teach you about the DevOps building blocks your team can utilize from Pipelines to GitOps.

 

Meet the speakers

 

Kevin Harris (00:00):
Welcome everyone to the Microsoft Azure Red Hat® OpenShift®, also known as ARO, Video Series. My name is Kevin Harris. I'm part of the Azure Global Black Belt App Innovation Team. I love to help customers and partners build cloud-native solutions on top of Azure. I'll be one of your hosts today.


Marcel Hild (00:14):
My name is Marcel Hild. I'm a Red Hat Managed OpenShift Black Belt, and I love to solve cloud-native problems. And the problem we're looking at today is DevOps.


What is DevOps?

 

Kevin Harris (00:25):
Marcel, let's get started. What is DevOps? Can you define that for the audience?


Marcel Hild (00:29):
Sure. DevOps is the essential merger of two really important cultures in our industry: development and operations. By combining these two, we get better at both developing and operating applications. You do that in order to satisfy the ever-increasing demand for delivering high quality applications at a very high pace, and you achieve that quality by choosing the tools that are best for the job and that are the best fit for your team. By doing so, you reduce human error and human effort by focusing on automation. When it comes to the cloud-native world, you obviously have bias towards using cloud-native tools because we're running in a cloud. So now that we’ve defined DevOps, maybe you can walk us through the process of deploying and building an app.


Three building blocks of DevOps

 

Kevin Harris (01:27):
Yeah, let's talk about the building blocks. Let's go over to the board for that. Okay, Marcel, let's talk about those basic building blocks. So the first one we'll start with here, is essentially a Git. This is our source control, and then we typically have some builds. This is more your traditional sense. So whether these are .NET, whether these are Java, no, it doesn't really compile, but a lot of times you're packaging these things up. Given that we're talking about cloud-native applications, we really should be talking about containers, especially in the context of Red Hat OpenShift. This is what we have here, is our container registry down here. These are our three basic building blocks. A lot of times, you're taking a Git source control, I'm building a container image, and I'm putting that container image inside the registry. Now that we've got these basic building blocks, how do we put all these things together in the context?


How to build cloud-native CI/CD pipelines

 

Marcel Hild (02:26):
This is where your continuous integration and continuous deployment (CI/CD) process comes in. So you would also start a build inside a so-called pipeline.


(02:44)
Pretty much like you're doing the builds outside of the pipeline. But the primary benefit of using a pipeline is the ability to model complex execution graphs with multiple steps and stages involved. We can go back and forth. Now, Red Hat OpenShift comes with OpenShift Pipelines installed, and it's based on the upstream Tekton project, which is a framework for building out cloud-native CI/CD pipelines. The primary benefit here is that every step in that workflow is executed inside a container, and you get all the benefits for free, like security, process isolation. You only can access those services that are only required for executing these steps. And then at the end, you would also store your artifacts that are being produced inside of the registry. So now that we have introduced all these repositories and Gits, I hear a lot about GitOps. How does that fit into the picture?


What is GitOps and how does it work?


Kevin Harris (03:55):
So just like you talked about, DevOps is the merger between development and operations. GitOps is the merger between Git source control and operations, hence the term GitOps. So what it really means is GitOps is your single source of truth, not just essentially for your typical development code, but also for all of your application configuration, as well. So again, it's that single source of truth going through that whole process in the traditional sense, as opposed to a pipeline where you “push”. GitOps is really a “pull” methodology. So you have that central source control repository, and then you can have one or n number of clusters in the context of ARO pull from that to get all their configuration needs. Speaking of GitOps, what does ARO provide out of the box?


What is Red Hat OpenShift GitOps and how does it work?


Marcel Hild (04:40):
Like every OpenShift deployment, ARO also comes with Red Hat OpenShift GitOps, which is based on the upstream Argo CD project. So with a single install of a controller, you can deploy multiple Argo CD instances into your environment, into your clusters, and yet get a fully supported and proven GitOps engine that helps you to set up your arbitrarily complex GitOps environments. You can have a single instance, you can have a hub and spoke installation. It's all possible. Does Azure also provide something for doing GitOps?


How to use Azure Arc and Azure Policy with GitOps


Kevin Harris (05:23):
Yeah, Azure provides something essentially very similar. So we don't necessarily call it Azure GitOps, but it's really two key things. So we have Azure Arc, which is really the deployment mechanism, and we have what's called Azure Policy. So I can take my GitOps configuration, I can define that in Azure Policy, and then I can use Azure Arc to deploy that policy out to my Azure Red Hat OpenShift clusters. So in that kind of context, imagine once you've got the policy set up, every cluster that gets created, that policy can be automatically applied. So it's not something that I need to do. So for each cluster that's created, whether that's one, whether that's 10, the 11th one, the 12th one, they're gonna automatically get the policy applied. That GitOps configuration is going to get pulled down, and that will be applied to the clusters. Again, nothing you need to do. You just set that up. Thinking from that process, we talked a lot about applications in the context of GitOps. Is it just for applications?


Cluster management in Azure Red Hat OpenShift with GitOps methodology

 

Marcel Hild (06:17):
No, actually you can reuse the same principles, the same building blocks here again for managing your clusters. I'd like to extend our board image a little bit to show that there.


Kevin Harris (06:30):
Yeah, I think that'd be a great idea.


Marcel Hild (06:33):
So you can reuse your pipelines to bootstrap clusters. In order to do that, you would run the Azure AZ command line utility inside one of these containers, make it talk to the Azure API, and deploy one or two clusters in no time. The GitOps methodology can be also used to implement cluster configuration management. Since we're talking about the same YAML manifests that are used to deploy and build applications, you're reusing these same formats for configuring your clusters. This way you avoid context switches because you're working with the same tooling anyway, which makes for a more streamlined approach when it comes to cluster configuration management, cluster deployment, and application development. It's all cloud-native supported by GitOps and Tekton pipelines.


Push or pull model in Azure Red Hat OpenShift using GitOps

 

Kevin Harris (07:50):
Great additions on the board there, Marcel. Love those. So in summary, when we think about this, we’ve talked about DevOps. We talked a little bit about pipelines, we talked about GitOps. One of the key messages here I'd like to leave you guys with is: it's not about a “one size fits all”. There's no right or wrong. There's no golden rule. You can continue to use pipelines for doing more of a push model. You can leverage GitOps for more of a pull model. You can mix and match the two. At the end of the day, it's like you talked about at the beginning…we talked about DevOps. Look inside your organization. Look at the culture you've got. Look at the people you've got. Look at the tools and skill sets you’ve got and leverage those. Make sure you're using the right tool for the right job.


Marcel Hild (08:30):
Thanks for watching the video. I hope you enjoyed it.


Kevin Harris (08:34):
If you'd like to learn more about Azure Red Hat OpenShift and how it can help you meet your business needs, please check out the other videos in the series. Thanks.
 

Previous resource
Support, updates, and accessibility
Next resource
Landing Zone Accelerator

This learning path is for operations teams or system administrators
Developers may want to check out Foundations of OpenShift on developers.redhat.com. 

Get started on developers.redhat.com
 

Hybrid Cloud Logo LinkedIn YouTube Facebook Twitter

Products

Tools

Try, buy, sell

Communicate

About Red Hat

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.