We're in a pretty weird time for tech where things are constantly changing. Things have always been in a constant state of flux, but it's way more-so now. Now, as a Developer, the role is shifting drastically.
Where-as before you were worried about what code you were writing, Cloud Developers are seeing a merge between cloud services (infrastructure) and the code they're writing.
For example, let's say you want to test out a containerized app in Kubernetes. Chances are you may have to spin up that dev environment, but how do you do it?
A few options are:
Infrastructure-as-code with Terraform
Configuration Management with Ansible
Some other solution using JSON or YAML
The problem is, you may not want to do that. You want an automated way to create a cloud service with a language YOU'RE comfortable with. That's where Infrastructure-as-software comes into play.
Infrastructure-as-software is like Infrastructure-as-code, but instead, you get to write it in a language you're comfortable with and still have a state (metadata) that's stored and can be shared throughout the team.
In the video below, I go into how to work with Infrastructure-as-software with Kubernetes, Go, and Pulumi. Let me know your thoughts :)