#S02E02

Gitpod with Pauline Narvas

What is Gitpod, how does it work and how do you get started? Mike talks to Pauline to find out

Links

Transcript

Mike: Hello and welcome to episode two of behind the source podcast. I'm Mike Street lead developer and CTO at Brighton based web agency, liquid light. Each episode, we invite someone to come and talk about a topic project tool or process.

We try not to get too techy, trying to cover the topic for people who don't know much about it. And are looking to find out more all the previous interviews and podcasts along with the mailing list. Sign up are on a website at behindthesource.co.uk.

In this episode, we are joined by Pauline who's here to talk about Gitpod, Pauline, how are you?

Pauline: I'm good. Thank you. Thank you so much for having me on your podcast today.

Mike: That's not a problem at all. Before we get started if you could please introduce yourself, tell us where you work, what you do, any side projects or anything like that.

Pauline: Hi everyone. I'm I'm Pauline Navas. I'm currently I'm the head of community at Gitpod and we can talk about community community at Gitpod and what Gitpod is throughout the episode. So I'll leave that light for now. In terms of like any side projects I have, I really like this question by the way, cuz whenever I introduce myself, I never. Like talk about the side projects that I'm working on. I just launch straight into like my my job title and things like that. I actually have been writing online for a very long time. So I've been writing my own blog for a couple of years now and the blog is called the pawlean.com and it's spelled P a w l e a n.com. And it's.

Somewhere. I just I've been documenting my experiences over things. I've been

learning over time. And most of it's related to like self development things. I'm learning in tech because I've not always been in the community slash developer relations space. I've also been. I developer myself. I was a software engineer at one point, and then I transitioned to a DevOps engineer and then briefly a site reliability engineer. And it was an incredible experience because it really shaped who. I've become today. And we can talk about that a bit more, but yeah, pawlean.com is a side project that has been going on for me for a long time.

Mike: Wonderful. And as expected, the link will be in the show notes. I saw on your website slash Twitter, somewhere that you are a digital nomad. Could you explain a little bit about that? What that is?

Pauline: Again, absolutely love this question. I could bla on for like, like hours about this. So a digital nomad is someone who can work from anywhere and is essentially location independence. And I actually started going into my digital Nomad journey. This year because of some big life changes and I decided, Hey, why not throw another big one in there? But yeah, I'm based in the UK from a town called Sheffield. And. I've been living here for a couple of years now. And when I got my job at Gitpod which is a fully remote asynchronous company I decided like, why am I here in Sheffield? Why am I in still in the UK? Especially in the colder months where I often don't feel super energetic and I just don't wanna leave the house.

So I just start, I started this year, like travelling for a couple of months in March. So I went. To Portugal, the Canary islands, Spain, and then Greece. And I was doing that for a couple of couple months. And then I came back here to the UK just to like see some family and catch up with some friends and I'm off again to Croatia and Greece. Again,

in the next few months, I'm also going to the states for a conference, but yeah, that's essentially like my life now.

Mike: Amazing. So moving on then before we get into the main topic about Gitpod I like to ask everyone, what are you excited about learning at the moment? What are you looking forward to? What are you a junior in that you're looking to kind of expand your knowledge about

Pauline: So when I was thinking about this question, I was thinking about like answering it with a technical yeah. You know, something technical that I'm like looking into right now. But the thing that if I'm being like a hundred percent honest, my interest has sort of shifted recently into focusing more on. Looking at how different companies and different startups and even big enterprises build like and build and scale technical communities. So that's what I'm like really into right now. I find the community building I've been doing before this job was mostly Going with the flow and I didn't really have a structure. I kind of just went in and said, I have this great idea. And then I got some people to follow me, and then we just sort of did that. But in this case, in this specific scenario, it's interesting to me how different startups Can scale technical communities from like being super tiny to then being a global thing.

Mike: And just to, we'll talk more about community later, but when you say community, you mean like external people that are using your service as opposed to an internal community that's often referred to as culture and stuff like that.

Pauline: Yes, yes, absolutely. Yes. external. Yes. Yeah. Yeah.

Mike: Wonderful. All right. Well I suppose we can, we can get into the main topic and kick off with the big question. What is Gitpod?

Pauline: That's a fantastic question. Yeah, so. So what Gitpod is, is it's basically a developer platform that automates the provisioning of ready to code developer environments. And we're fully open sourced. So you can actually go and GitHub right now and look at our source code. But essentially if you are familiar with the concept of infrastructure as code, so similar to how you. Provision infrastructure into the cloud, for example, like, let me think. Hashi cos Terraform. So you do a, you write a Terraform module, which you use to describe you have that configuration to describe your infrastructure. And you write it once and then you just keep deploying that

so it's repeatable and automated. If we look at developers, workflow and their productivity and things that have changed over over time, one thing that is very consistent is that developers have been automating. Every single step of their workflow. And it's, it's fantastic cuz it makes them more efficient. They don't have to keep doing the same thing again and again, and it just, it just works. But the thing that hasn't like sort of kept up with that trend of automation and making things better has been the developer environment.

So when I talk about a developer environment, I'm talking about what developers use to. Develop software. So what does that look like? So one of the main things that is included in the developer environment is an IDE. So for like, for example, we've got visual studio code, so maybe that's the IDE of choice for this developer, but you also have all the tools that you need to be. Productive is part of your project. So for example, if you have a next JS project , what do you need? You need to do an NPM install to install all, all of your dependencies, but you could also have of the tooling that you install as part of that. So as part of that specific project so you have all of these things that you need to think about.

You have your IDE, you have to customize your IDE. So it is very. Specific to your needs and what you like. But also you have your you have your like tools and dependencies that you install onto your project. So there's like all of these things and essentially that is what makes up a developer environments. And so what Gitpod does, is it automates that whole process and similar to like infrastructure as code you, we have a configuration file where you say, this are the things I want in my developer environments. I want to use visual studio code. I want to customize my visual studio code to have this specific theme, to have these specific extensions. And then I want this project to install. All of these dependencies and all of these extra tooling that I need for my specific project. So you can imagine how powerful that can be when you basically start treating your developer environments as a disposable thing.

We have a word that we. Describe this sort of concept, which is ephemeral. So all of your environments are ephemeral and every time you need to start a new project or you need to build a new feature or your I don't know, like reviewing your colleagues, PR you have a fresh environment every single time, and it should just work every single time cuz you have that config file. But yeah, that is what Gitpod is in a nutshell. I could deep dive into a bit more like about the features and I, I guess it can go into that.

Mike: And so it's all in the cloud, right? All on all online.

Pauline: Yes, absolutely. So it is a remote dev environment. So essentially we are moving your local dev environments to the cloud.

Mike: All right. And going back to the infrastructure as code I'm not actually that familiar with infrastructure as code, but I believe the premise is basically like, give me a a Linux server with Apache and. PHP 7.4 or PHP eight. I'm very much a, a lamp based developer, as you can tell and give me my SQL.

And when you say provision a server, you mean make and start up in the cloud world, right? So that you can sort of just send this code out to many servers and all of your servers in theory are then exactly the same.

Pauline: yeah, essentially. It's exactly. Yeah. It's exactly what I was saying about treating your treating infrastructure as. Cattle, not pets.

So you don't have to like, worry about like a dependency no longer working because it should. Work because it's fresh and new and you already automated it in your configuration file.

Mike: And as you were saying about the PRS I'm, I'm assuming it also means that if someone installs a new NPM package you're and you are reviewing it, it's there it's installed rather than you having to remember to do

Pauline: That's exactly one of the main workflows on the main benefits of Gitpod. If you are reviewing someone's PR with a completely different dependency or , they update something or roll back something, it's fine because it's in their environment. And then after that, when you need to work on your new feature, you just open a new a workspace is what we call them, our developer environment. And. It's fresh and it's new and you can just continue.

Mike: I was gonna say with the the, the Gitpod configuration file, is there global config app options you're able to set or are they always just set on the project itself?

Pauline: You can set global settings. So for example, if you're using visual studio code, which is one of our integrations you can set global settings for. For your themes or for your extensions. But in terms of like the automation part. So for example, you have a front end project and then you have a back end project. Those two things would need their own .gitpod.yml file, their own configuration file. So that when you want to run the automation, for example, installing. Your NPM dependencies, then that's very specific to your front end project.

You want, you don't want it in your back end project. So you need to set something else for your back end projects. But if you do want like more global settings in terms of like themes and extensions, that is something you can configure directly in like the visual studio code integration we have.

Mike: Yeah. That's, that's more what I was thinking for more like personal choices. Your Gitpod configuration, isn't specifying the theme and the, the sort of the tab size and stuff like that. It's that's down to your, your editor. So is Gitpod free or is it a paid product?

Pauline: If you wanna give it a go we have a free tier, which is 50 hours for private and public repositories, and we have integrations with GitHub, GitLab and bit bucket. ,

Mike: the GitLab integration, is that just gitlab.com or do you integrate with self-hosted versions?

Pauline: We also do self-hosted versions of GitLab. Yeah.

Mike: Great

Pauline: So we have free tier personal tier professional and unleashed, and each of them have different Number of hours. So for example, with the personal tier, you, you get a hundred hours for professional. You have unlimited hours and then for unleashed you have again unlimited hours and you also have 16 parallel workspaces That you can open up at the same time. So this is like a power of Gitpod as well. So you can imagine if you really, really want to multitask, you can have, like, I don't know, four workspaces open. All of these workspaces are working on four different features. So yeah. You our unleashed plan, you get 16 parallel workspaces. And also we do have a self-hosted version of Gitpod as well.

Mike: And is the pricing similar on a self hosted or is it different on that?

Pauline: We have a community version, which is completely free and that's like your under 10 users. But you, we also have a professional version of our self hosted and you get the full feature set.

It's an air gap environment and you get professional support and for you'll have to get in touch with us directly. Cuz I think it, it does depend on how many Users you intend to have for, for your self-hosted instance, if that makes sense.

Mike: , and when you talk about hours, is that a workspace that's sort of spun up and active? Cause I know that workspaces can be, is it idle? I think the, the terminology is is the, is an idle workspace using up your hours or is it active workspaces?

Pauline: It's active. So it's when it's when it's open and running you can actually so from our Gitpod dashboard, you can see like, we have like different colors. So green is when it's running and that's when, you know, it's using up your hours, you also have like orange and Amber, which is basically when it's like shutting down and then red if something has gone wrong and then gray, when it's completely stopped.

Mike: Talking about kind of like a, a typical process in terms of what it does to say. I've we are working on the same project. I've made a, a pool request and it's up to you to kind of review it. You've not worked on this project at all. So it's brand new to your Gitpod environment, I suppose. So looking at a. GitHub merge request page. What would be the kind of life cycle of that workspace and workflow?

Pauline: Yes. So just like going back, so it, for you to get started with Gitpod, there's like several different ways you can install like a Gitpod extension on your browser. And that is using you can, you can have the browser extension on Chrome, Firefox and safari. And so once you've downloaded that extension, you can then like you, you then get on your. GitHub or GitLab or BitBucket context, whatever context it is. So it can just be from your main repo, or it can be an issue or it can be a PR or a merge request, whatever you call them. You will get a Gitpod button in that context and all you would need to do as a person reviewing that PR is to click that Gitpod button and it will open a new workspace completely fresh

and, and yeah, so that's the life cycle. So then someone, a developer pushes that button. New workspace opens and then they can review it. They can review the actual PR in Gitpod itself, or if they just want to preview it and then have a difference tab open for the actual PR, then they can, they can do that. And then once they're done with it, they can just simply close the tab or go on the dashboard and stop the workspace directly. You can also, actually, if you don't want to install the extension, you can also just prefix any URL, any git URL with https://gitpod.io/# . And then that should start a new workspace. If you don't wanna install a extension.

Mike: and so closing the tab stops the workspace does it. So that sort of it's, it's not that I know with some services you'd have to go in and actually physically stop it. Otherwise it'd sit and eat up your hours in the background. So I suppose that's a, that's a good way of keeping your, your hours down.

And when you've opened up the pull request in Gitpod, I'm assuming you've got the. Code editor in the browser, but then you can also sort of launch the project either in a little preview pan or a new tab. Is that right

Pauline: Yes. Yes. Yeah. And you can actually automate that process. So in your Gitpod YAML file, you can actually specify, you can be like the the preview of my app or web app or whatever. I wanted to open in a new tab within vs code, or I can open it in a new browser. So there's like two different things there.

You can automate, automate that. So everyone has the same experience. Every single time.

Mike: Yeah. Wonderful. Before we carry on, we should mention what the actual URL is for Gitpod. If you wanna go and check it out.

Pauline: Oh, yes, absolutely. So it's just gitpod.io and yeah, just head over there. And we have so many like resources docs screencasts and yeah

Mike: And that kind of leads on to the, to the next question in terms of getting started. So we'll put some links to the Chrome extension. Is it Firefox as well? Or is it just Chrome?

Pauline: Chrome fire and safari.

Mike: All of them. Great. And some documentation and we'll link to some videos about it as well.

So as mentioned, I work in a LAMP environment. So the CMS I use is one called typo three, which is very similar to WordPress and its specs in terms of its PHP. It's my SQL. It's all of that. Can I develop with that and Gitpod?

pod?

Pauline: Absolutely. So Gitpod has, you can essentially use Gitpod on anything and everything. So honestly, like, so we can talk about a bit more about this. But in our community, we have all, we have so many people from all walks of life who come in with all sorts of projects, where there is Java Python. I don't know, react spelt anything. PHP. We actually have quite a few people who use several different types of PHP. I haven't like gone into the PHP world in a long time, so yeah, like we have so many people who come from all different walks of life and they all use different things.

And most of the time we are able to Gitpodify the environment, which is essentially what we say. When, you know, you have a gitpod.yaml file. Configuration in your project and you can just get started by clicking that Gitpod button. But also in our, I just want to like say we in our docs, we have a quick start section and we have so many different templates for different languages on there. And if you just head over there and you look you type. Whatever you're working on, we may have an existing template and you can see how that how that project has already been set up before. So you can then integrate it in your own project. But yeah. To answer your question. Yes. Yes, we can.

Mike: And you mentioned that it integrates with vs code. So I'm a, I'm assuming that you've got the workspace set up in Gitpod online, but you are actually using your local vs code to edit

Pauline: That's a very good question. So you can actually use Gitpod in the browser, or you can bring your own IDE, if you decide to just use Gitpod on the browser, all it would do is bring up a vs code instance in a tab. So you would essentially be coding from your browser from Chrome, from Firefox, from safari. So that's one, but we know that a lot of developers don't want to move their whole like workflow from you know, a native application to. The browser, some people just don't wanna do that. And that's fine. So that's why we aren't opinionated. We integrate, and we essentially have this concept of bring your own IDE. So you can also run vs code locally and connect. To Gitpod. We also have recently partnered up with JetBrains and you can use several JetBrains ides with Gitpod, and still use all the Gitpod features of automation, of, you know, the ephemeral environments and things like that. And remote dev environments all from your local JetBrains IDE.

Mike: So currently it's vs code and jet brains, but there's, there's more coming.

Pauline: Yes.

Mike: Wonderful. So with the actual, I mean, the clues in the name that Git is integrated and everything like that I'm assuming you commit and everything and you can add files and stuff all in the, in the browser and Gitpod if I. Commit, does it push straight away or do I then have a push option? If I use something like, I know it's not comparable, but if I use the web IDE and GitLab or GitHub, the moment I commit it pushes and stuff. So with Gitpod, does it do an immediate push or do you have that option to rebase resort?

Pauline: it doesn't have an immediate push. It's not like the ones that you have on Github or Gitlab way, you just save changes and it automatically pushes everything. Yeah. You have the op opportunity to, to push when you want ones.

Mike: And the big thing with stuff that happens in the cloud what happens if I don't have the internet? Does it still work?

Pauline: That's such a good question. And I, I like that question. And you know, my my go to answer for this question is I tend to ask another question, which is when are you without internet? Just, I just genuinely want to know genuinely, genuinely.

Mike: well, I mean, working from home has given this more space than it needs, but yeah, home internet can be sometimes flaky. My mine went down for six hours the other day and I was sort of stuck at home. Fortunately, I was able to do some local development, but there's that, or the classic thing is people are to train or buses or. those opportune moments where you wanna sit and do some development, but you don't necessarily have internet or high speed internet available.

Pauline: that's a really good point. Yeah. So that's a, that's a really good answer. I'm a kind of speechless now. I'm kidding. I'm kidding. no, no. So we actually are our engineers are looking into more of like an offline mode for Gitpod to allow developers to continue developing if for example, you're on a flaky train with flaky internet or. You have an internet outage. And this is I think there's several discussions happening. And as we, as I said earlier, we are an open source company. So you can see the conversations in real time if you go on on GitHub. But essentially there are a few Like things that we are thinking about and looking into we're also asking the community for their thoughts and seeing if this is something we should prioritize in, in the future. But yeah, currently you would need internet to run Gitpod, but not super high speed internet. I've. Been, I actually used Gitpod once on my phone.

Mike: So you need internet, but hopefully soon you won't is kind of the, the wrap up answer. Excellent. I appreciate your work for Gitpod. So you might not want to answer this next question, but who are the competitors? What are the alternatives.

Pauline: I, I just want to say like it's really, for us, it's super important that loads of people are like, you know, hear about Gitpod, but also understand the market that we're trying to To bring awareness to which is, you know, remote developer environments. And I think that's super exciting.

It's exciting that there are competitors and other people like jumping ship onto on, onto remote dev environments. It just shows that you know, where we're headed is, is the right direction. And personally, I'm super excited to see. Sort of the ecosystem grow in this space as we continue to educate developers on the future of you know, developing. And so the ones that I would recommend that's not the right word. the ones I would that like, Pop up in my head is GitHub code spaces and also Coder and I won't go into too much detail about both of these you know, products, but we do have a a page on our Gitpod website, which I can send to you after this podcast episode which essentially compares what the difference is between Gitpod and code spaces and Coder and GI pod.

So there's there are, we have competitors but it's also. Like I said, super exciting to work on it all together as an ecosystem, as a, as a community to see, to see where, how far we can go in this space.

Mike: Yeah. And it's, it's always important to have competitors cuz otherwise you'll just get to a point where you'll go. Yeah, that's it. We don't need to add anymore. Whereas if there's other people adding other features that might encourage you to, to keep on up So we mentioned it at the start that you are sort of leading a community and you're building a community.

Tell me a bit more about that, about how you are getting people involved, how you're reaching out to people and yeah. How you are, how you are making the community, the place to be.

Pauline: Yeah, so as I said, I head up our community efforts at Gitpod and so our community serves like two purposes. The first purpose is to help developers be as successful as they can be on Gitpod.

And so we have a lot of. Users come in and ask questions about how Gitpod works about pro projects that they have to see. If they can, you know, Really utilize our feature sets, for example, Prebuilds and how, how can, how can they optimize their Gitpod setups and things like that. , that's, that's a, that's a huge part of what the community is about that. Helping people be as successful as they can be on Gitpod. The second part of our community is to honestly just bring people together who also see the future in remote dev environments and why it improves developer experience. So developer experience is a big topic and it's something that we are get pod. Really love to stress and love to emphasize because it's such a important part of why Gitpod exists in the first place, I've been in jobs before where I've literally spent like two weeks getting my local dev environment set up so I can actually do meaningful work. And by that time, I'm just like genuinely, honestly just fed up with like trying to set everything up. And so can you imagine like that fatigue and the amount of time you You wasted in those two weeks. And can you imagine just switching that to seconds and that's what Gitpod does because all you

need is a Gitpod button or to prefix your URL, your, the URL of your Git context. And you can pretty much start contributing and adding meaning to, you know, the first few days of your your job immediately.

And. That is a better developer experience in that context. One is worse. One is better. And so that is that is like the whole developer experience. Topic is something that we are super excited about and it's, it's an important part of why Gitpod exists. But it's also why I enjoy the second part of what I was saying about our community, because we honestly have brought together. The best minds across the world of people who understand what we're trying to build. And because they're equally as passionate as us, we genuinely build the product with the community. We host like several community office hours where we sit down, we sh showcase what we are building. We give the stage to community members for them to share what they're building.

And it's just like a really inspiring space because you can see how people are pushing Git pods to. To like, to the almost extent to see how far it can go with their workflows. And it's honestly just like sometimes I sit down and I just like, look at the things people have built and the questions they're asking and the requests that they have.

And I'm like, wow, we're building something magical here. This is incredible, you know? And so that's another special part of the community. So those are the two main purposes. But also we have, like I said, we have those super fans who Understand our vision with Gitpod to try and make you know, to try and make remote dev environments like the norm.

And so we created a a initiative called the community heroes program where we have essentially like ambassadors of Gitpod who Sort of advocate for us and we give them the platform to be to, to use GI pods, sort of like audience to then, you know, help them out with their own projects. And also they get exclusive swag and they're closer to our product engineering team, so they can have more of a closer feedback loop. And I just feel like they're an extension. Of like Gitpod from a community perspective. And it's just, it's super again, super magical. In a nutshell, I would recommend if anyone is listening to us and they're like excited to get involved, please do we welcome everyone. We, you can find us on like gitpod.io/chat

and yeah, it's essentially on discord. We, most of the Gitpodders, so people who work at Gitpod hang out. All the time, all day. Not, yeah, not all day, but most, you know, Monday to Friday. And we are, we are there to help out with any questions you may have or any just conversations you want to have about developer experience or or Gitpod and the future of remote dev environment. So it's just super exciting. It's the place to be.

Mike: Great. So I think that is it. Have you got any other comments or anything we haven't covered that you wanna talk about? Obviously all the links that you've mentioned or put in the, put in the show notes, but yeah. Have you got anything else you wanna add?

Pauline: Yes. I just wanted to say the Gitpod team is going to be at KubeCon in north America. So if you happen to be in Detroit for KubeCon we have a booth there, common finders you might win some swag. I'd definitely love to meet anyone. Honestly, I would have a conversation about anything and everything at this point.

So honestly come by and we'd love to, I'll show you a demo of how you can use GI pod. We can also show you a self hosted version of GI pod from our booth. So yeah, come stop by. And then one last thing as well. We I'm also the. Cohost of a podcast called DevX pod, which is the developer experience podcast that I host with my CTO, Chris.

And so I'll also share a link here, but if anyone is interested generally on the topic of developer experience, we'd love to like share that resource with you, cuz it's still a growing topic that I feel like we still need to have more conversations about. But yeah, I think that's me. I'm gonna stop plugging myself, but honestly this has been a wonderful conversation.

Mike: . And what, what are the dates of Kubecon just in case someone's listening to this in the future? No, in the past, in the Fu I dunno whenever I

Pauline: Oh yeah. Sorry. It's it's October, October 24th. 2022. Yeah.

Mike: And if people want to agree with you, disagree with you, give you any feedback or comments or criticisms, where can they find you? Maybe not criticisms, , pats on the back where can they find you on the internet?

Pauline: Okay. Yeah. So I'm mostly on Twitter. I am paulienuh on Twitter. So it's @paulienuh. I'll again, send the link for this, but yeah, I'm very, I'm very online and very active on Twitter. So if you wanna tag me and wanna have a conversation at all about about Gitpod, about remote dev environments, about DevX pod, please like let me know.

And I'd love to, I'd love to have a.

Mike: I'm at @mikestreety on everything. That's social or you can find the podcast @behindsource or at the website behindthesource.co.uk. As this is a fairly new podcast, any feedback or comments or criticisms or anything you wanna say about it? You can email me [email protected]

or if you'd like to be a guest, or if you'd like to suggest someone to be a guest, then I could go and hunt them down and encourage them to come and talk to me. So Pauline, thank you very much for your time. It was great to talk to you and it's great to hear about Gitpod. I think I am a convert and I might have to go and try it and sort of hooking my personal projects and, and get that up and running. And I will probably chat to you on the discord if I've got. Problems or feedback.

Pauline: Absolutely. I'll see you there.