GitOps = IaC + MRs + CI/CD

The biggest benefit in using Git and infrastructure-as-code (IaC) is that you can now use continuous integration and deployment. With tools like GitHub actions, you can automatically deploy and/or update infrastructure code and automatically apply it to your cloud environment. Resources that have been added to the infrastructure code are created automatically and made ready for use.

The resources that were changed are updated in your cloud environment and resources that are removed from the infrastructure code are automatically spun down and deleted. This allows you to write code, commit it to your Git repository, and take full advantage of all the benefits of the DevOps process.

GitOps

GitOps uses a Git repository as the single source of truth for infrastructure definitions. Simply put, a Git repository is a “.git” folder in a project that tracks all changes made to files in a project. Infrastructure as code (IaC) is the practice of keeping all infrastructure configuration tracked and saved as code files. The actual desired state may or may not be stored as code, depending your approach and organizational policies.

MRs

GitOps uses merge requests as the change process for all infrastructure updates. The merge request (MR) is where teams can collaborate via reviews and comments. The MR could also have a formal approval for changes to take place. A merge commits to your “main” branch is a potential changelog for a later audit and/or troubleshooting when needed.

CI/CD

GitOps automates infrastructure updates using a Git workflow with continuous integration and continuous delivery (CI/CD). When new code is merged, the CI/CD pipeline enacts the change in the environment. Any configuration drift, such as manual changes or errors, is overwritten by GitOps automation so the environment converges on the desired state defined in the Git.
GitHub actions uses CI/CD pipelines to manage and implement GitOps automation.

GitOps isn’t a black box anymore. It just takes IaC tools you already know and wraps them in a DevOps-style workflow. This approach provides a better revision tracking, fewer costly errors, and quick, automated infrastructure deployments that can be repeated for on any environment.

By adopting GitOps in your organization, you could improve the developer experience because often-dreaded releases become fully automated. This will allow developers to focus on their code. Teams eliminate or minimize manual steps and make deployments repeatable and reliable.

You could also improve security and standardization by utilizing GitOps.
By practicing GitOps, developers have no need to manually access cloud resources and additional security checks can be put in place at the code level in CI/CD pipelines.

I hope you like the GitOps approach and please let me know, what are you working on. Or how you could relate your work to GitOps?

What is “Cloud native”, how you could define it?


So what is “Cloud Native”? πŸ€”πŸ‘€/

My approach is to hit on Re-FRESH β™» before thinking about Cloud Native; as it is an evolving space that at minimum includes following components:


βœ”οΈ Modern Design
βœ”οΈ Microservices
βœ”οΈ Containers
βœ”οΈ Backbone Services
βœ”οΈ Automation

By the way, check out the official CNCF definition (Cloud Native Computing Foundation) definition for clarity.

Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.

CNCF

More on this topic πŸ‘‰ https://lnkd.in/eUkgs9P#SharingIsCaring❀️

Fᴏʟʟᴏᴑ ᴍᴇ 🎯 α΄€Ι΄α΄… κœ±α΄›α΄€Κ€α΄› Κα΄α΄œΚ€ α΄„ΚŸα΄α΄œα΄… ☁ α΄Šα΄α΄œΚ€Ι΄α΄‡Κ – 𝐋𝐄𝐓’𝐒 π‚πŽπππ„π‚π“ πŸ‘

Journey to Azure DevOps Expert with a 3P mindset – People… Processes… Products

Hello my friends!

If you are looking to get some study tips on an Azure DevOps Engineer Expert certification then you landed in a right post πŸ™‚

So why Azure DevOps as a platform for your organization’s digital transformation? Well it is build for any language, and any platform. Yes, that is 100% true statement! Run the OSS (#opensourcesoftware) tools and frameworks on it, anything you want, in addition to Microsoft stack.

This weekend, I got loaded with fresh coffee and sit to wright-down experiences and resources I have used, along the journey to become an Azure DevOps Expert.Β 
This journey brings along a new credential inΒ Microsoft Certified: DevOps Engineer Expert. However, most importantly, it refreshes your understanding of latest developments in the DevOps ecosystem on Microsoft Azure platform.

Side note: I have been actively using Microsoft DevOps pipelines for the last 2.5 years. Having this experience provided a lot of help in understanding exam objectives and focusing on areas that I never touched.

Overall, Microsoft Expert exams are harder than Azure fundamentals and associate exams. They come with test scenarios, labs and tricky questions where you have to know the order of processes – in one way testing your real-world understanding of the processes and technologies and its interconnected components.

Earning the DevOps Engineer Expert certification demonstrates the ability to combine people, process, and technologies to continuously deliver valuable products and services that meet end user needs and business objectives. DevOps professionals streamline delivery by optimizing practices, improving communications and collaboration, and creating automation.

Microsoft Learn

Now, as you may expect, there are tons of material out there on how to get prepared for required two exams that qualifies you to Expert certification. I took a bit stiff hill to climb πŸ™‚ First, I went head-on with AZ-400 “Designing and Implementing Microsoft DevOps Solutions” exam and later focused on Azure Administrator Associate exam.

As an alternative, you could choose a developer path. It applies very well for the case, where you might already have an Azure Developer Associate certification and just need to pass AZ-400 to qualify for the DevOps Expert certification.

Study Materials and references

I primarily used Microsoft Learn – an online and free starting point to cover gaps in my knowledge and skills. by complementing it with Pluralsight videos. I have combined the following list of resources that you might find handy πŸ™‚

In summary, the important once are listed on top. They are all very important, as you would like to keep your knowledge up to date with developments on DevOps world.

In a nutshell, I tried my best to walk you through the process, options and resources that will help you along the way. Hopefully, this brief guide will help you on your journey to prepare and become an Expert DevOps Engineer!

Meanwhile, feel free to answer the following questions:

  • Comment on your exam preparation approach?
  • What challenges are you facing or already overcame?
  • What helped and what did not – in setting up for a DevOps journey?

Thank you and May The 4TH Be With You!