DEV Community

Cover image for Why are people developing inside containers?

Why are people developing inside containers?

Rizèl Scarlett on September 09, 2022

Nine years ago, in March 2013, Solomon Hykes and his cofounders revolutionized how we do software development with an open source platform called D...
Collapse
 
sadeedpv profile image
Sadeedpv🥇 • Edited

I was struggling with the whole containerization concept and this article really helped me 🔥

Collapse
 
blackgirlbytes profile image
Rizèl Scarlett

I’m glad it helped. This comment made my day!

Collapse
 
lockykeaney profile image
Locky Keaney

I've recently been using Docker for developing my API in a little project because mongodb doesn't work on M1 yet.

And from that necessary use case I am now hooked on them. Not having my machine bogged down with different versions of things and programs is great. And a single command from a single terminal to get my BE going means I'm more likely to jump in a tinker around when I've got nothing to do.

I have been interested in codespaces since I saw the reveal video, but I only have experience with GitPod which was super handy.

Collapse
 
okbrown profile image
Orlando Brown • Edited

And what successful alternatives are they that do the same thing but do not have a vendor lock-in to Github?

Collapse
 
blackgirlbytes profile image
Rizèl Scarlett • Edited

Hmm, maybe GitPod, CodeSandbox, and Repl.it. Transparently, I work at GitHub, and I'm most familiar with using GitHub Codespaces..so I don't know what the set up looks like for these tools or if you can pre-install things like extensions in those IDEs. I think you can with GitPod..that may be the closest alternative.

Any reason why you're looking for something outside of GitHub?

Collapse
 
igoro00 profile image
Igor Ordecha • Edited

Because it's vendor lock in. GitHub's pricing may be competitive now but how can I know it will still be few years from now? In the worst case scenario I can't selfhost codespaces.
GitPod on the other hand can be selfhosted and you're not vendor locked-in to GitHub with your repo(GitHub is currently the best Git service but who knows if that's gonna be the case in the future)

The same with databases. You shouldn't use Firestore(or Firebase as a whole) for that reason. You should use something standard (SQL) so when your provider of choice goes under, you dump everything, create a DB with another provider or you selfhost one, restore the dump on the new database, change environment variables and you're good to go.

Thread Thread
 
blackgirlbytes profile image
Rizèl Scarlett

Fair points!!

Collapse
 
devangtomar profile image
Devang Tomar

Thanks for sharing this. I like the way it starts from very scratch. 🙌🎈

Collapse
 
blackgirlbytes profile image
Rizèl Scarlett

Thank you! I wrote it in the way that I learn best. Appreciate your comment.

Collapse
 
almostawake profile image
Andrew Walker

Rizèl, thank you for this post and a couple of others like codespaces for training. It's so great to see someone who is actually deep in code espousing this stuff. I fell in love with cloud-based development when I first came across cloud shell in 2016-ish. That was always a bit proprietary though, so the whole devcontainer thing is so much more to my taste! It surprises me that this approach isn't way more popular amongst my senior devs, maybe it's just a matter of time now. Anyway, you've saved me a BUNCH of time setting up my own new company website on github pages, using devcontainer as my IDE, with your config. Bravo :)

Collapse
 
zabronm profile image
zabronm

Thank you for this article. I have been struggling too to answer the exact question: What's the noise about containers really? This article is simple but very straight to the point.
Now, I use Visual Studio 2022 to develop software against a Sql Server database, can I use the GitHub Codespaces??

Collapse
 
netch80 profile image
Valentin Nechayev

The caption is misleading and a bit clickbait. Let's avoid this.

GitHub is a specific environment not suitable to all development.

Containers on their own can't help facing tons of other issues, as e.g. different runtime placement and timeouts in interaction to a public service. Well, they definitely have huge advantage of exact stable environment, but it is not absolute.

Collapse
 
blackgirlbytes profile image
Rizèl Scarlett • Edited

Hi Valentin,
The blog banner I used says "Why are people developing in containers: GitHub Codespaces." I work at GitHub, so my goal is to continue informing people about Codespaces as an option for development. I also thought it would be cool to give beginners more context about containers. I was able to accomplish my goal of introducing people to both GitHub Codespaces and containers. People have messaged me that this post clarified a bit for them. I am also in the process of learning, so I'm sharing as I learn.

If you have more to share about containers, I encourage you to write about it and share it. Thank you!

Collapse
 
incrementis profile image
Akin C.

Hello Rizèl Scarlett,

thank you for your article.
Now I understand Docker a bit better.
I love the structure in your article and it was easy to read.
I am also glad of the links your article provides because I think it adds more credibility.

As the next article, I would very much like to know in detail how Copilot helped you to write this article.

Collapse
 
dels07 profile image
Deli Soetiawan

Is it possible to use 2 repo for 1 project?

My company use 1 repo for development container and other for actual code

Some comments have been hidden by the post's author - find out more