angacom expo

17-19 June

Bella Center, Copenhagen, Denmark

DTW Ignite 2025

Let's meet!
CEO Volodymyr Shynkar
HomeBlogComparing GitOps and DevOps: Best Practices for IT Infrastructure Management
DevOpsKubernetes

Comparing GitOps and DevOps: Best Practices for IT Infrastructure Management

Image
7 mins
11.09.2024
Volodymyr Shynkar CEO and Co-Founder of AppRecode

Volodymyr Shynkar

CEO/CTO

Understanding GitOps

Image

Okay, I’m gonna be straight with you. The amount of hot air around GitOps and DevOps is getting ridiculous. Half the articles out there read like they were written by people who’ve never actually deployed anything to production.

I’ve been knee-deep in this mess for 12 years now. Started when we were still burning CDs to deploy code (yeah, I’m that old). So let me cut through the BS and tell you what actually matters.

GitOps: When Git Becomes Your Boss

GitOps is basically this: your Git repo runs everything. Not just your code – everything. Infrastructure, configs, secrets, the kitchen sink. Sounds crazy? It kind of is, but it works.

Picture this: it’s 3 AM, production is on fire, and Jenkins decided to take a nap. Your ops guy is fumbling around trying to remember which server has what version of what config. We’ve all been there, right?

With GitOps, that nightmare doesn’t happen. Everything’s in Git. Want to see what changed? Git log. Want to roll back? Git revert. Want to deploy? Push to main and watch the magic happen.

I remember when we first tried this at my last job. Our CTO read some blog post and decided we were going “full GitOps” by Friday. What a disaster. We spent two months untangling the mess because nobody bothered to figure out what we were actually trying to solve.

Here’s the thing though – once we got it right, deployments became boring. And boring deployments are the best deployments. No more “let me just SSH in and fix this real quick” at 2 AM. No more “it worked on my machine” arguments. Just push, merge, done.

The catch? Setting it up is like assembling IKEA furniture after a few beers. You think you know what you’re doing, but you’re gonna spend way more time on it than expected, and you’ll probably put something together backwards.

DevOps: The Thing Everyone Claims to Do

DevOps is the most misunderstood word in tech. I’ve seen job postings for “DevOps Engineers” that are basically system administrator roles with Docker thrown in. That’s not DevOps – that’s just admin work with fancier tools.

Real DevOps is about getting developers and operations people to actually talk to each other. Revolutionary concept, I know.

I worked at this one company where the dev team would literally email a zip file to the ops team every release. The ops team would then spend three days figuring out how to deploy it, usually breaking something in the process. Then they’d all sit in a conference room yelling at each other about whose fault it was.

DevOps fixed that by making everyone responsible for the whole pipeline. Developers had to care about how their code actually ran. Ops people got involved in design decisions. Suddenly, everyone had skin in the game.

The tools – Jenkins, Docker, Kubernetes, whatever – they’re just there to make this collaboration easier. You can do DevOps with shell scripts and cron jobs if you have to. It’s not about the tools, it’s about getting people to work together instead of throwing things over the wall.

Where GitOps Goes Wrong (And It Goes Wrong A Lot)

Most teams I’ve seen try GitOps make the same stupid mistakes:

They try to GitOps everything on day one. Your monolith that’s been running on the same three servers for five years? Yeah, that’s not a good GitOps candidate. Start with something small and containerized, for crying out loud.

They don’t understand Infrastructure as Code. You can’t do GitOps if you’re still clicking around in the AWS console. Get your infrastructure into Terraform or whatever first. Yes, it’s more work upfront. No, you can’t skip it.

They ignore monitoring. Automated deployments are great until they’re not. When your GitOps pipeline silently fails and you don’t notice for a week, you’re gonna have a bad time. Ask me how I know.

They underestimate the learning curve. Your team that’s been doing manual deployments for years isn’t gonna adapt overnight. Budget time for training and lots of “I told you so” conversations.

Infrastructure as Code: Do It or Die

Look, I don’t care if you do GitOps, DevOps, or NoOps (whatever that is). If your infrastructure isn’t in code by now, you’re living in the past.

I’ve seen companies lose entire environments because “Bob knows how everything works” and then Bob gets hit by a bus. Okay, Bob didn’t actually get hit by a bus, but he did quit without notice to join a startup that makes AI-powered cat toys or something.

Version control for infrastructure means you can see what changed when production started acting weird. It means you can spin up identical environments for testing. It means you can stop having those “well, it worked in staging” conversations.

And in the cloud? Manual infrastructure management is financial suicide. I’ve seen AWS bills that would make you cry because someone forgot to delete a test environment. Terraform prevents that stuff.

So What Should You Actually Do?

Here’s my advice, based on actually doing this stuff instead of just writing about it:

Figure out what your real problems are. If deployments take forever and break half the time, fix that first. If you can’t tell when things are broken, invest in monitoring. Don’t get distracted by shiny new methodologies.

Start small. Pick one app, one environment, one problem. Solve it completely before moving on. I’ve seen too many “big bang” transformations turn into “big bang” disasters.

Culture eats strategy for breakfast. You can have the best GitOps setup in the world, but if your team doesn’t buy into it, it’s useless. Invest in training, pair programming, whatever it takes to get everyone on board.

Don’t be afraid to mix and match. You don’t have to pick GitOps OR DevOps. Use GitOps for your cloud-native microservices and traditional CI/CD for your legacy monolith. Nobody’s keeping score.

The Reality Check

Here’s what nobody tells you in the conference talks and blog posts: this stuff is hard. Not the technical part – that’s actually pretty straightforward. The hard part is changing how people work.

Your senior developer who’s been deploying code the same way for 10 years isn’t gonna love your new GitOps workflow. Your operations team isn’t gonna be thrilled about developers having more control over infrastructure. Your manager isn’t gonna understand why this “simple” change is taking months.

But here’s the thing – it’s worth it. Once you get past the initial pain, software delivery becomes so much smoother. Deployments stop being scary events. Rollbacks become routine. Your on-call rotations become actually bearable.

I’ve been through this transition multiple times now, and it always follows the same pattern: initial excitement, followed by frustration, followed by “why didn’t we do this sooner?”

Just Pick Something and Stick With It

At the end of the day, GitOps and DevOps are just tools to solve problems. They’re not religions, despite what some people on Twitter would have you believe.

If you’re still doing manual deployments, any improvement is good improvement. If you’re already doing CI/CD but want better auditability, GitOps might be worth exploring. If your dev and ops teams barely talk to each other, focus on that relationship first.

The best architecture is the one your team can actually maintain. The best deployment strategy is the one that actually gets used. The best monitoring setup is the one people actually look at.

Stop overthinking it. Pick an approach, try it for a few months, see what works and what doesn’t. Adjust accordingly. The perfect is the enemy of the good, and good enough is usually perfect enough.

And for the love of all that is holy, please stop writing articles about DevOps if you’ve never actually had to deploy code at 3 AM. Some of us are trying to get actual work done here.

Did you like the article?

0 ratings, average 0 out of 5

Comments

Loading...

Blog

OUR SERVICES

REQUEST A SERVICE

651 N Broad St, STE 205, Middletown, Delaware, 19709
Ukraine, Lviv, Studynskoho 14

Get in touch

Contact us today to find out how DevOps consulting and development services can improve your business tomorrow.