The Stack Overflow Podcast

A collaborative hub for infrastructure as code

Episode Summary

On this sponsored episode of the podcast, we talk with Marcin Wyszynski, founder and CEO at Spacelift. Marcin says Spacelift aims to be for infrastructure-as-code what GitHub is to git. It centralizes everything about your IaC system: it runs code, deploys within CI/CD pipelines, tracks the progress of your infrastructure, and gives you insight into who made what changes and why. Today it works with the IaC tools already out there: Terraform, Cloud Formation, and Pulumi, with plans to add support for services like Ansible and Kubernetes in the future. 

Episode Notes

On this sponsored episode of the podcast, we talk with Marcin Wyszynski, founder and CEO at Spacelift. Marcin says Spacelift aims to be for infrastructure-as-code what GitHub is to git. It centralizes everything about your IaC system: it runs code, deploys within CI/CD pipelines, tracks the progress of your infrastructure, and gives you insight into who made what changes and why. Today it works with the IaC tools already out there: Terraform, Cloud Formation, and Pulumi, with plans to add support for services like Ansible and Kubernetes in the future. 

Like a lot of programmers, Marcin got into coding through games. Once he ran through the limited number of Commodore 64 games at his local shop in Poland, he learned to program his own. But he never thought of programming as a career, so when it came time to pick a college major, he followed a group of his peers into sociology. Sociology, with its heavy focus on statistics, brought him back to programming. 

He landed his first job at Google reviewing copy for Ads, which lasted until he could automate himself out of it. Google gave him increasingly technical roles until he moved into an SRE position handling tape backups, a job that is mostly very boring until it becomes extremely exciting. After that, it was a stint at Facebook spinning up point-of-presence clusters around the world, then CTO at a startup that didn’t catch on as he’d hoped. 

With this wealth of experience under his belt, he went into consulting. As a consultant, he had his bag of best practices, open-source tools, processes, and scripts that he brought with him, but he also built bespoke pieces of technology for every single one of his clients. One need his clients had in common was a way to manage the code that defined their infrastructure. 

During Marcin’s career, there were many times when he built the thing he needed: games, automation, scripts. When his consulting clients would leave for a new organization, they would reach out to ask if he could provide them with the solution he had built for infrastructure as code. Realizing that he had created something which addressed a pain point common to many companies, he decided to turn this solution into a new company: Spacelift. 

Spacelift aims to take the heavy lifting out of infrastructure-as-code, automate it, and make it auditable. When a change gets made, everyone can see it and comment on it. From the product manager to the junior dev, everyone knows what’s going on, even if an infrastructure change doesn’t fit the original architecture docs. Plus, the SRE team no longer need to go on archeological expeditions to find a database secretly running and costing the company five figures a month. 

To learn more about Spacelift, check out their website at https://spacelift.io/, where you can start a free trial and see it in action. 

Episode Transcription

Marcin Wyszynski I think the best analogy is that Spacelift is to infrastructures code is what GitHub is to Git. It's the missing layer of collaboration. That includes CI and CD as well. So it is what runs your infrastructures code. It is what deploys your infrastructures code, being TerraForm, CloudFormation, Pulumie, Ansible, etc. But it's also what tracks the progress, what gives you the insight into what are you working on as a team, who did what, and the ability to understand where things are coming from.

[intro music plays]

Ben Popper Hello everybody, welcome back to the Stack Overflow Podcast. Ryan Donovan, my venerable co-host is with us today. Ryan, how you feeling?

Ryan Donovan Oh, decent enough.

BP So we have a great episode today. It is a sponsored episode from the fine folks at SpaceLift. And we are going to be talking with Marcin, who is the founder and CEO. So Marcin, welcome to the Stack Overflow Podcast.

MW Thank you. Thank you for having me.

BP So tell us a little bit about yourself, we always try to start these guest episodes, just learning about how you got into software and technology, even from a young age. And then a little bit about the journey that took you from you know that to where you are now. 

MW Alright, so my name is Marcin Wyszynski, CEO and co-founder of Spacelift. I'm originally from Poland, from Europe. I started my journey with computers at a gentle age of eight, when I got my first C-64.

RD Oh, got one of those too.

MW Right, back then in Poland getting games was challenging. We had those games on cassettes, from God knows where, where people were just recording and copying disk cassettes. But getting new games was was difficult. So once they played all the games I could put my hands on, I started basically getting a bit bored. And since there was no alternative, like PCs were not a thing back in the day in Poland, I just, you know, started learning programming, so I could write my own games or create my own games. They were not very interesting at that point. But you know, it's better than nothing. And that's better than getting bored.

BP Do you remember any of the games you created for yourself? Do they still extant? They exist?

MW Oh, they don't exist. They're mostly like role playing text games. We had those like role playing books that were available in shops. So I basically took that idea and run with it with my nine year old, 10 year old mind, obviously, they're probably very embarrassing. So thankfully, we don't have any. I don't think we even have a tape player that could play the the cassettes, cassettes might be somewhere else. You know, I've been playing with computers throughout my teenage years, but I never thought about it as my career. So when it was time to start thinking about what I want to do in life, when I graduated high school, I had no idea. So I did what most people did and I started studying sociology. That's what a lot of my friends did. I had no idea why, but I did. In the meantime, I was building websites, but I never thought of computing as my career path. So when I started doing statistics, like I started doing sociology, I fell in love with statistics. And statistics is obviously very heavy into into programming. So starting with like dedicated software for statistics, but then going to languages like R--

BP It's spreadsheets all the way down. I mean, spreadsheets is all you need.

MW Spreadsheets, and then the data and formulas. So I basically kind of connected the dots. Okay, that's computers, that's algorithms that's, you know, the data, and it kind of clicked with me. I got my first job at Google, when I graduated, there was not a technical job that was actually reviewing ads for AdWords, like the little things.

BP Get your foot in the door. 

MW Well, I didn't hold that job for very long because I wrote software that automated myself out of the job. So I transferred to a more technical job, basically building tools for people like myself. And from that, I knew that I had a lot of gaps in my education. And I basically took up another course in software engineering, this time in National College of Ireland. So I graduated with that as well. In the meantime, different jobs at Google increasingly technical, until I finally landed at SRE site reliability engineering team. Probably Google was one of the inventors of the DevOps movement and SREs is one of the glorified DevOps jobs so that was my--

BP Careful. I was gonna ask you about that because you have a beautiful I thought sort of Irish tinge to your accent. So now it all makes sense.

MW It's all over the place but there's some Ireland in it for sure. 

BP What did you work on a Google? Any projects that you think listeners would find interesting?

MW Oh, so I'm mostly on an SRE I mostly worked on a project called Gtape. I think it's called differently now, but it's generally backup and restore system. That depends on tapes, LTO tapes.

BP We have a whole sponsored episode coming up about backing up your your GitHub repos. Right, Ryan?

MW It's an age old technology, but very reliable. And the bandwidth or the storage that you get from tapes is unparalleled. My focus, obviously, as an SRE, I end up doing everything in a sense, like you support the system. The thing with with tapes and with backups is that the job is very boring until it's extremely exciting. So it's nothing for long periods of time. But when you're needed, that means that you're the last best hope for the person who calls you to help because that means that everything else fails, you're the last client that they had.

RD Right, sort of a firefighter.

MW Essentially, right. It's like the last bullet that you have. And so it gets stressful. But in the meantime, there's a lot of work going around around processes around humans involved in those processes. Because you can imagine this tape libraries being like giant machines served by multiple humans, you know, those tapes get recorded, then some of them gets shipped to an off site location for storage and for security reasons. And there's a lot of humans and processes involved in my particular focus on the team was making sure that that processes were all well organized, that humans knew what they were doing, and that they're very efficient at it, and building the software that empower them to be efficient that minimized the room for error and made sure that if you're bringing in the crates with tapes from an external location, that is the right crates, and that it has the date on it. That was my main focus on the team. So there's obviously it sounds like, you know, storage, or especially backups, and restores that it's like the backend of the backend of the backend. But there's a lot. Surprisingly, there's a lot of front end and user experience. And I was probably the only person on my team would like JavaScript credibility, because there was a lot of JavaScript and human interaction involved. That was my job at Google.

BP Yeah, I know, we want to get to what you're doing now. But as we're doing this 10,000 foot flyover from there, you went on to Facebook, can you tell us a little about what you're working on there?

MW At Facebook, I joined a team called ClusterOps. And the ClusterOps team was the one that was building software for clusters and for ops, very low level software, making sure that we can spin up a new cluster very efficiently or spin up a pop.

BP For folks who don't know, can you just, what is a pop?

MW Pop of Presence is like a little ambassador of a Facebook in a location where we don't have a nearby data center. So right, you would connect to your to your nearest instance of Facebook, maybe.

BP Like to keep latency? 

MW Exactly, those around a time where the smartphones became very popular. So they used to be popular in America than they used to be popular in Europe. But around the time that I joined Facebook, they started being popular around the world. And obviously, the first thing that you do when you have a smartphone is you log into Facebook, right? That's the very first thing--

BP Especially if you buy one of those Facebook phones, yeah. That they put out around the globe.

MW They're not a thing back then, as far as I can remember.

BP What year did you join?

MW 2014.

BP Got it. 

MW So that was interesting. In the meantime, a kid was born. And so we move back to my my home country of Poland because it takes a village to raise a kid. And for two years, I've been trying startup, I joined as a CTO of a software house. And we were also building an internal product called code base. So that was like, it is still static code analysis for multiple languages was interesting time. But the product didn't take off in a way that I hoped for. So after two years of not seeing it take off, I moved back to the cloud. But this time from building the clouds to building on the cloud. So for a couple of years later, I was a consultant helping people in the cloud.

BP And that work as a consultant, I mean, obviously the work at Google and Facebook, but the work as a consultant, you kind of saw some pain points repeated that led you to create your current company, right? Can you walk us through that?

MW That is correct. Yes. So as a consultant, you have like a toolbox full of, you know, best practices, open source tools, processes, but also little scripts and little tooling that you bring to to the company that needs it. And so you know, I had that obviously, I was also building bespoke pieces of technology for every one of my clients. But one thing that was very common was the need to manage infrastructures code. So infrastructures code is basically this new practice that allows people to write their infrastructure in like a declarative way, almost like you would write a website. So instead of like having either clicking on the GUI, or creating like a bash script to setup like your infrastructure for a project, you declare it. And so you'd feed it to some software that would work as a browser does for HTML, right? And that was like a breakthrough in my thinking about infrastructure, especially that at Facebook, we had a similar product to TerraForm, TerraForm, an open source product. And I understood how much thoughts and how much work it took to build such a thing. So seeing products like TerraForm, or even CloudFormation, from AWS was an eye opener for me. It's like the first time I use get, it was like, Oh, my God.

BP My life will never be the same. 

MW Exactly. It's such an eye opener, how could I not use it? That was my reaction with with infrastructures code as well. But I also noticed the same problem that I saw with the Git, like, Git is amazing is an amazing piece of technology. But collaborating in Git not that easy. The beauty of in being decentralized and sending each one another a patch. But essentially, what git evolved into is that centralized model where you'd have GitHub. So imagine not having GitHub, and working with Git as a team. Yes, it was designed this way. But it would be very difficult to work out in practice. And that's the thing that I've seen with, especially with TerraForm, that having this layer of collaboration missing, was very painful for the client teams that I worked with.

RD So it sounds like there's been a bunch of times from, you know, when you started, where you basically built the thing that you needed.

MW Correct. And I've built a lot of things that I needed. But with Spacelift, always with the idea behind Spacelift, there is that consistent feedback, where for every client that I worked for, they needed to solve this problem in one way or another, or they've tried to solve this problem in one way or another. And that thing that they built, maybe was not working, maybe wasn't scaling, or maybe they were, they're okay with that, but they didn't see the potential that what they could have if they solve this problem in a more generic or elegant fashion. And the other thing that I've noticed is that people who work for companies where I implement as my tooling, were changing jobs. And in their new job, one of the first things that they did was reach out to me and asked me, Hey, can I have the same? The question was almost always about this particular tool.

BP So tell us, yeah, I guess a little bit like if you had to step back and explain to someone, how does this work? And you know, why do you want it? What would you say?

MW I think the best analogy is that Spacelift is to infrastructures code is what GitHub is to Git. It's the missing layer of collaboration. That includes CI and CD as well. So it is what runs your infrastructures code. It is what deploys your infrastructures code being TerraForm, CloudFormation, Pulumi, Ansible, etc. But it's also what tracks the progress, what gives you the insight into what are you working on as a team, who did what, and the ability to understand where things are coming from.

BP Have you ever heard the extremely business phrase value stream management? You know, it's basically like, the big boss has an idea, then it gets handed to the manager, then it gets handed to the IC, everybody's working different teams back end front end DevOps? And then how can you see where you're stuck? Or how can you see how fast things are moving? Or how can you see when it's done, you know, what kind of value is created. So that kind of transparency being so valuable, especially inside of an organization that might have hundreds or 1000s of engineers.

MW But also working backwards, once you see like, a piece of infrastructure deployed, and you wondering, What was the rationale behind that being deployed, you can go back to the original decision by the CTO, for example.

RD Otherwise, that deployment is kind of invisible, right? It just changed somewhere. 

MW Yeah, it's code archaeology very frequently, you'll find--

BP That's what the comments are for. Come on, now. 

MW It's a science, right? Yes. But you can easily comment on every piece of infrastructure that you spin up, especially that that infrastructure might be in different clouds, you know, governed by different principles, and, you know, putting comments and everything, first of all, not many people think about it. Sometimes it's not very easy. Sometimes those comments don't map to architectural decisions or or the code that was written? So it's not always that simple. Of course, you should be tagging everything, right? But it's not always easy or possible.

RD So does this work with that sort of lower level stuff like Docker or Kubernetes?

MW So it's glorified Kubs, based on Docker, so the executions would happen in Docker. And that gives people a lot of flexibility in how they want to operate. We allow them to bring their Docker image, and we'd be working in a container that we spin from from that image, meaning that they can bring their entire development environment with that image with Kubernetes. So there are two ways of looking at what are trying some Kubernetes, or what it supports. Companies are not running it on Kubernetes. Yes, you can run it on Kubernetes. Does it support Kubernetes? Almost. We're working towards it. So we will be having Kubernetes as one of the one of infrastructure as codes, we call them back ends.

RD But you don't need it? 

MW Well, if you don't need it. Depending on what you do.

BP So walk us through like a use case or a test case, or I guess if you can, yeah, you know, talk to us about a customer who shared their story publicly. Like can you give us an example of the value of somebody who's derived from this? 

MW Spacelift is generally, like I should, I call it a force multiplier for teams who are building their infrastructure as a scout. And these days, most of sophisticated customers would would use infrastructures code principles, if not exclusively, then for the most of the work. There are different modes of using Spacelift. But one of the most common patterns that we've seen is for the centralized or for one DevOps team, to basically use Spacelift as an enabler for other teams. So they use space left to build safe spaces for less sophisticated teams, to basically automatically provision their infrastructure. The idea would be for the dedicated DevOps team to set up rules of engagement, set of policies that basically control words can be deployed under what circumstances. And maybe building modules like this reusable building blocks for their teams to work with some companies would call archetypes, archetype would be, oh, I need an app or a microservice with a load balancer and a database, right? Or maybe someone else would need like a consumer of a Kafka topic, or an SQSQ in AWS and so that they would have those like building blocks that they could give to to the teams. And they would just say, okay, you don't need us, at least not on a daily basis, we build you this wonderful system, using this wonderful tool. Please use it.

RD Yeah, no, I was just gonna say it kind of takes the heavy lifting of the infrastructures, code and automates it.

MW And also makes it auditable, makes it easy as a team, so you're not stepping on each other's toes. So you get regular feedback on your changes. So when you make a pull request, and GitHub will comment with feedback that, okay, well, if you implement this change, we're going to add, you know, five new resources, we're going to destroy two resources. And maybe your change is going to cost the company, I don't know, $1,000 a month. And so like, your team understands what's going on, your project manager understands what's going on. Everyone understands the impact of your changes through proposed changes on the infrastructure on on the company, bottom line. 

RD Yeah, I think that's super important. With a lot of these big microservice architectures, it's really easy to have your cloud space kind of spin out of control, and just find that you're running services that are charging you money, and you're like, why is it still running?

MW Yeah, occasionally find like a database that's costing you $10,000 a month, and nobody can answer a very important question, why do we have it? And you should probably turn it off or maybe something will break. You know, you're kind of done that. There's like, yes, of course, there are ways of figuring it out. But it's archaeology. It's expensive in terms of manpower, and doing it for every single resource that you have. It's just crazy.

BP So Marcin, we're just starting a new year, were there features or things you added last year that you're especially proud of, or things that you have on the roadmap that you want to hype up?

MW Yeah, so we've added support for CloudFormation, one of the older systems from AWS, but one that is still widely used, and we believe that having Spacelift as a management layer on top of CloudFormation would give a lot of people a lot of value, especially though we've seen people migrating things between CloudFormation, TerraForm, Pulumi, etc. So being able to run CloudFormation is extremely valuable to them. We're currently working on support for Ansible and Kubernetes. Ansible support was specially very much in demand from companies with a lot of existing cloud resources, but Maybe cloud resources from from a slightly older days where you'd spin up like virtual machines. And you'd provision those virtual machines with, you know, SSH--

BP The olden days. [Ben laughs]

MW Not that long time ago. But before immutable infrastructure was a thing. And so we're definitely going in that direction. On the other side, we have Kubernetes, where what we're seeing is a lot of traditional infrastructure is moving to Kubernetes. Like three years ago, you wouldn't think about running a database on Kubernetes, because it was mostly designed for stateless architectures. But there's been massive improvements in the stability and the availability of the API's to handle stateful things. And so we're seeing a lot of traditional infrastructure moving to Kubernetes. And we want people to be able to take Spacelift with them on that journey.

[music plays]

BP Alright, everybody, it is that time of the show. We have a ton of lifeboats in the queue. So thank you to demata, 'How can I call a Go function from Java using the Java Native Interface?' Awarded December 23rd, working over the holidays. Thank you demata. I am Ben Popper. I am the host of the podcast and also the Director of Content Marketing here at Stack Overflow. You can always find me on Twitter @BenPopper. If you got questions, comments, concerns, things you want to share with us, hit us up podcast@stackoverflow.com. And if you liked the show, leave a rating and review. It really helps.

RD I'm Ryan Donovan, I edit the blog here at Stack Overflow. I'm on Twitter @RThorDonovan. And if you have a great idea for a blog post, please email us at pitches@stackoverflow.com.

MW And my name is Marcin Wyszynski. I'm the CEO and co-founder of Spacelift, you can find us at spacelift.io. And it's very easy to get started. You just install a GitHub app on your GitHub account or organization account or a personal account. And so we automatically provision the Spacelift account for you and we open that accounts in front of your eyes. That is very simple. If you open a Spacelift account, if you provision a Spacelift account, you get 30 days, all you can eat for free.

BP Alright, everybody. Thanks for listening. We'll talk to you soon.

[outro music plays]