The end. Thanks for reading my post. Reading time: 1 minute.
I posted the other day about this topic, and I am intrigued by the possibilities. I’m certainly interested in the ways that you can use it for infrastructure, and the article in that post offers a somewhat-different use case for AI-generated Terraform: cloud migrations and multi-cloud solutions. But I’d by lying if I said I wasn’t very skeptical of the code that it writes.
I’d add mainly that GenAI is currently about as useful as a very junior developer, and that’s probably because they’re both doing the same thing: Google the results and copy-paste without really understanding.
Then again, if you’ll indulge a quickly-emerged cliché: none of us saw any of this coming just five years ago.
It’s long been a promise of Infrastructure as Code tools like Terraform that you could theoretically create platform-independent IaC and deploy freely into any cloud environment. I doubt anyone ever really meant that literally, but the reality is that your cloud infrastructure is inevitably going to be tied quite closely to your provider. If you’re using an aws_vpc resource, it’s pretty unlikely that you could easily turn that into its equivalent in another provider.
And yet, several of the organizations I’ve worked with have been reluctant to tie themselves closely with one cloud provider or another. The business reality is that the vendor lock-in is a huge source of anxiety: if AWS suddenly and drastically raised their prices, or if they for some reason became unavailable, lots and lots of businesses would be in a big pickle!
The amount of work required to manually transfer an existing system from one provider to another would be nearly as much as creating the system in the first place.
Instead of requiring DevOps teams to map out resources manually, the system uses read-only API access to scan existing cloud environments. It automatically identifies resources, maps dependencies, and – perhaps most importantly – maintains security policies during the transition.
StackGen isn’t new to using generative AI for infrastructure problems, but they have an interesting approach here:
Use read-only APIs to identify resources, including those not already in IaC.
Use generative AI to map those resources, including security policies, compliance policies, and resource dependencies.
Convert those mapped resources into deployment-ready IaC for the destination environment.
Using a process like this to migrate from provider to provider is interesting, but the one use case that really gets me thinking is the ability to deploy into a multi-cloud environment.
Cross-functional teams play a vital role in a DevOps culture as they bring together individuals with diverse skills and expertise from different areas of software development and operations.
By embracing cross-functional teams, organizations can foster collaboration, improve communication, streamline processes, and create an environment conducive to innovation and continuous improvement. In a DevOps culture, where speed, agility, and quality are paramount, cross-functional teams play a crucial role in breaking down barriers, improving collaboration, and delivering high-value software efficiently.
DevOps didn’t come from nowhere, and it doesn’t operate in a vacuum. Any time you’re trying to apply DevOps principles, there are already going to be existing ways of doing things either in the workplace or, at the very least, in the minds of the team as they come together. You might build a team of thirty professionals, and they would have thirty different opinions on the “right” way to do things.
Relatedly, it’s hard to define DevOps, because it’s one of those terms that’s used in slightly different ways by different people. There’s a fair amount of debate about what is and isn’t DevOps.
There’s a whole discussion about whether or not it should be “DevOps” or “DevSecOps” and whether or not the two terms refer to the same thing. In a future post, I’ll explain why I prefer the term DevOps, even though I think everyone would agree that the “Sec” (Security) portion of the culture is extremely important.
I’m sure everyone wants to start by diving into pipelines or traces or something. I certainly wanted that as a learner: get me straight to the technical stuff! But DevOps is more than just a set of tools or technologies; it’s a mindset, a way of thinking, a commitment to bridging the gap between development and operations (and security — more on that later) to enable faster and more reliable software delivery.DevOps culture encourages:
Breaking down silos and fostering a sense of shared ownership and accountability.
Open communication, trust, and mutual respect among team members.
Blameless culture, where failures are seen as learning opportunities rather than occasions for blame.