Reflections on CfgMgmtCamp 2024: A Fusion of AI, Infrastructure, and DevOps Innovation

There were a crazy number of folks at CfgMgmgCamp this year, and even more crazy was the number of first-timers. This was the tenth edition (if you count the Portland and Berlin editions). For the team, it's probably about the fifth or sixth.

General themes were (what did you expect) AI and Infrastructure as Development (read: general programming languages to interface with the cloud).

I only added talks where I had notes that I found interesting myself.

Collaborative Intelligence

We started with a talk from Patrick Dubois, the Godfather of DevOps.

The premise was that whether AI is being overhyped or is the end of the world doesn't matter. That's for you to decide. But he gave us a whirlwind tour of where it's at and what we can do now.

Gen AI is not rocket science.

All lessons learned and demoed can be replayed or investigated through jedi4ever/learning-llms-and-genai-for-dev-sec-ops. (The extended/full version of this talk can be found here)

The most significant chunk was about LangChain 🦜🔗 and how you can feed all sorts of data sources for a personalized AI.

To improve reliability of AI, we need more data, tools, and more ... AI.

The whirlwind tour went from https://rewind.ai to using https://openinterpreter.com to have AI set up a server and install ffmpeg through... ansible? 😅 cfgmgmtcamp went full circle.

This was very inspiring, and it inspired the team to set up LangChain, feed it our Quip, feed it our issues and code, run LangServe, and have our issues webhooks try and reply to incoming questions from other teams. 💡 Maybe more on that in a later blog post.

Taming Spaghetti Infrastructure

Kief Morris on:

“Public cloud leads to decreased software and operational
performance unless teams make use of flexible infrastructure.”
Accelerate State of DevOps 2023

He talked about infrastructure patterns and anti-patterns. We have a monolithic application running in multiple stacks, and the anti-patterns presented were "relatable".

What's new and cool

Adam Jacob (former CTO of Chef and now Systems Initiative) discussed what is new and cool in the devops space and how the delta between tech and art might be smaller than we think.

This mostly covered the "Infrastructure as Software development" trend and what I'd (admittedly unfairly) call "WYSIWYG infra editing."

Write infrastructure in code, run wing --compile terraform, and what you get is full–fledged terraform files, setting up IAM, and everything.

The cons are that it's still too expensive, requires an expert in serverless and IaC, and results in complex deployment pipelines.

Some more players in this field: https://deno.com/deployhttps://vercel.com.

Another cool new thing, of course, is chatGPT. There is no need to go into much detail except maybe share https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/.

Now, one year in, our learning so far about GPT... It is fantastic to augment what you already know. But it's horrible to expand what you don't. Blind faith leads to awful results.

There is also Bard, but the talk said little about it except that it's worse, so don't try it.

And then, of course, Adam's new tool, Systems initiative — think of it as multiplayer infra development.

I can't shake the feeling that if it's not in a TUI, it will be disliked by part of the crowd. It feel too clickops-y. But I also have to admit it looks super intuitive, so we owe it to ourselves to try it with an open mind.

OpenTofu

According to Sebastian Stadil, we could switch from Legacy Terraform 1.5.7 to OpenTofu 1.6. It's been "Generally Available" (GA) since January 10.

This is very much up for debate in the team, whether or not to do the switch.

Moreover, OpenTofu started developing issues that Legacy Terraform won't support (because of conflict of interests), such as State encryption. That's very interesting... Because it means that divergence between OpenTofu and Legacy Terraform is already a given.

The crowd had fascinating questions (this is cfgmgmtcamp, after all), such as provider compatibility, now and in the future. Much is uncertain, but the OpenTofu Supporters seem determined.

We Fear Change

"Changing how ten people work is challenging; changing how 100 work is difficult. And, barring Planck's principle, changing how 5,000 or more people work is typically impossible. When it comes to improving how large organizations build, release, and run software, scaling to thousands of people is the real challenge. If you're trying to move beyond your initial success at transforming how your organization builds and runs software, you've experienced this scaling challenge. Thankfully, most of the problems in this challenge are common challenges. Though you may feel cursed and alone, most issues are the same in our experience talking with hundreds of organizations."

"This talk will examine several of these common challenges and discuss tactics for addressing them. Part of successfully applying a tactic is understanding why the challenge exists in the first place, which the talk starts with."

This talk was very entertaining. It went over Bullshit Lingo in larger corporations.

I urge you to watch the playlist; most videos are under a minute.

Long story short, regarding change, Michael Coté says that management behavior drives what is possible.

There are more crowd-pleasing golden nuggets, but I'm unsure if a company blog post is the right place to put these. 😄

IMG_5234.jpeg

If you're interested, you should look up his talk.

Pkl is a programming language for configuration.

Hot on the heels of this being just released and announced, cfgmgmtcamp organizers got James Nugent (Apple), who was in Belgium for FOSDEM, to talk about it. We got a quick (world first?) tour/demo on Pkl (pronounced: pickle 🥒) and how it can be used to, for example, manage complex yaml configs.

So, Pkl is a programming language for configuration.

Think of it like this:

Static dataGeneral-purpose programming languages
JSONruby
yamlkotlin
hcljavascript
plain textscheme

Static ones don't scale, and programming languages are often too complex.

Pkl is intended to be a middle ground.

Pkl aims to catch errors in configuration as early as possible, ideally in your IDE already. ¯\_(ツ)_/¯ 

I suggest that if this interests you, you take a look at https://pkl-lang.org.

For our team, we've been wanting to use something like Cuelang. Pkl might be a good contender.

Conclusion

It was another great year for cfgmgmtcamp. It's a privilege to have this sponsored conference so close by for a big chunk of the team. 🙇‍♂️

The main takeaways are: let's set up LangServe and service our colleagues even better; let's make a serious effort (or at least have a good debate) for OpenTofu; consider Cuelang/Pkl; and heck, maybe even give the systems initiative an open-minded try.

Last but not least, it was announced that DevOpsDays Ghent will be back to celebrate 15 years of DevOps. DevOps originated in Ghent and will be held in Ghent East (Antwerp) on September 4-5. See you there!