The Open Source Cloud Guide Episode
Luke: In this episode of In The Open, we want to tell you about a fantastic resource some of our colleagues have put together. The Open Source Cloud Guide is an agnostic perspective on multiple clouds and their use of open source. To explore the Open Source Cloud Guide, we have invited some of the folks behind it to come chat with us. Distinguished engineer Michael Maximilien, senior technical staff member Steve Martinelli and the IBM developer content manager, Emily Mitchell. Before we welcome our guests, let's say hello to our co- host, Joe Sepi.
Joe Sepi: Hey, Luke. How are you my friend?
Luke: I'm doing well. How are you doing, Joe?
Joe Sepi: I'm all right. I'm all right. I've been busting my butt trying to get all of this yard work done before the weather really changes on me. Man, I'm working my butt off.
Luke: It's good for you though. Its good exercise to do exercise and then also be productive. I think it's a...
Joe Sepi: Yeah. It's perfect. Perfect.
Luke: I'm going to do some of that myself. I have a mulcher that I'm going to try to stuff with leaves.
Joe Sepi: I've been mulching with my mower. That's my plan.
Luke: Excellent. Let's welcome our guests. Let's say hello to Dr. Max, Steven and Emily. So maybe we could just go around and have everybody give a little self introduction.
Emily Mitchell: Sure. I'm Emily Mitchell and I am the content manager at IBM Developer. So I manage a team of technical writers and editors, and I am an open source enthusiast. I've been writing about open source for the last six years, about what IBM is doing in different communities, but this was my first time contributing to a project.
Joe Sepi: Very cool.
Luke: Excellent. Thank you, Emily. Dr. Max, why don't you give us your elevator introduction?
Michael Maximilien: Sure. So as you said, my name is actually really Michael Maximilien, but because there are so many Michaels people started calling me Max, and then I went to research, did postgraduate and graduate studies. Dr. Max was a nice, cool name, so feel free to use whichever one you want. Michael is okay too, but nobody will recognize me as Michael. Anyhow, besides this complication, I am a, as you said, a distinguished engineer at IBM where I am part of the open technology team, which is also part of, I guess we have another mission, which is ecosystem. So we do open source development, we do advocacy, helping colleagues like Emily, and then we also do engage with ISVs or independent software vendors, partners to bring them to the IBM cloud and to using OpenShift and so on. So have all three missions. More recently, I've been part of the key native initiative from the beginning, and recently it was released version 1. 0 so might as well drop that shameless plug here. And yeah, also I'm here to talk about something else, but I've got different things that I've done. Mostly open source for the past 10 years, pretty much.
Luke: Excellent. Steve, please give us your elevator intro.
Steve Martinelli: I'm Steve Martinelli. I'm a senior technical staff member at IBM. Been here long time now, 12 years. Got my claim to fame at IBM working on the OpenStack project, which is an open source project, data infrastructure as a service. After that, I'll start to go into the developer advocacy realm where I've been there ever since. Love open source, love cloud, love Python. As for any other personal tidbits, I live in Toronto and I love Toronto. And here's, I'm going to be drinking out of my coffee mug, although you can't see it because this is an audio only clip.
Luke: We can verify he had a Toronto mug. So maybe we could start off with what is the Open Source Cloud Guide, and who is it for?
Michael Maximilien: I'll give you my opinion on this. One of the things that happens in my view doing development, especially in the past when I was doing a lot more, is the more guide to get started the better. And many times you see engineers just Googling and just going to, for instance, Stack Overflow and verse resources and they'll look for how to get started on something. Usually it's to just get pieces of code, but if you could have a collection of resources that help you get started on a particular topic that would be in a place where it's respected, I feel like it would've saved me a lot of time. So give you an example. If you are just getting started with AI and you want to have an idea of how to get started with AI on the cloud, not just the IBM Cloud, but let's say the Google Cloud or Azure, right now you have to go to a variety of different sources from those different vendors, but also just by Googling and by looking for a snippets of code and information everywhere. The Open Source Cloud Guide, in my view, would just allow all of this information to be in one place and then also stay current and be open so that other people can contribute to it. So that's my view, but I'm sure Steve and Emily have different or additional opinion on this.
Emily Mitchell: Yeah, the thought of it came because we last year conducted a survey, an O'Reilly survey, and they asked all these developers and then developer managers about what were the most important skills, and they were all open source skills related to AI and related to Linux containers. So that just made us think in the world of cloud, instead of just only developing one cloud skill, you need to have open source skills and you can get hired at any cloud company or to work on any cloud. And so that was the impetus of this. It made us say, well, what underlying open source technologies are powering all of these clouds out there? And would that be a helpful thing to help developers understand, hey, if you're trying to develop your skills, these are the important open source skills and these are the important open source projects where if you gain those skills, it helps you advance your career.
Joe Sepi: Cool. And so that survey is the O'Reilly the value of open source in the cloud era survey, and we'll have a link to that in the show notes. I'm curious, there are a number of general categories there. We have artificial intelligence, APIs, big data containers, databases. Can you walk us through a little bit of those? I imagine that they're all kind of high level. What can someone expect to find in each of those sections?
Steve Martinelli: In addition to the general description and some use cases for all of these things and key open source projects that are related to those topics and where they can find more information about those, I like the section that actually has the cloud comparison table, but if you take the idea of software is eating the world, I think public clouds, they're eating the open source software. The two have grown quite nicely over the last decade or so. And I like to view the Open Source Cloud Guide like a mini celebration of open source because it shows you just how much these public clouds are using open source software. And it's great as a developer because now if you're familiar with one open source software you can use multiple different clouds pretty seamlessly. Your skills are transferrable from AWS to IBM cloud to GCP. If you know Kubernetes on IBM cloud, it's the same thing on Google Cloud or Azure. And that's what I really like about it is that the tables in those sections show you how each cloud is using open source software and it relates back to Emily's point here about, yeah, these skills are really key to becoming a great developer in the 21st century.
Joe Sepi: That's interesting. I've done a lot of cloud native work and generally, especially from the Node- js perspective, have a handle on that basic cloud native work there. What would someone expect to see in some of these other sections? Maybe you could share a little bit more about what someone would expect from the content there.
Michael Maximilien: Like APIs for instance. Yeah, I'll give you an example.
Joe Sepi: Yeah.
Michael Maximilien: Yeah. So I think most people that are trying to build application these days are trying to build them as microservices. And as you start doing this you start realizing more and more that in addition to exposing an API, you need to manage these Forest APIs because otherwise it becomes very unruly and then you end up with maybe APIs that you have to version and you have to deal with keeping things current. And then obviously if you're going to expose it externally, then how do you charge for it? How do you meter these API, how do you keep them deprecate portions of it or evolution of those APIs? And if you try to do it yourself, you're pretty much reinventing the wheel because there are things like API gateways that are pretty much designed to help you get started and have a place where you can have all those APIs and you can deal with all the life cycle of it. And also things like, for instance, throttling. If it's an API that gets hit a lot, even if it's an internal API where you have a lot of application trying to use it at the same time, if you don't throttle how much one application is using it, you might end up pretty much starving by your implementation or maybe not be as efficient as you could be. So things like API gateways help you, but then you say API gateway, how do you get started on that? Because every cloud will have their own API gateway that pretty much private and then they lock you in. So one idea with the API section was to not only describe this problem and describe different solution that exists in different clouds, but also what open source projects exist that help you solve these huge fan of the open API specification. There are tons of tools that comes with it to get you started so that even when you're designing your APIs you can start with a tool that will work across the different clouds. So that's one example of what's in the APIs. I envision it to be to add more in terms of how do you actually build an API implementation in different languages, for instance. That could be a good direction to take it. But one of the things we've been trying to do with the guide is certainly keep it all open, keep everything be cross cloud, but also leave space for contributions because we want this to be not by let's say a group of engineers from IBM, but it has to be across the industry and that's when we'll really achieve the value of this. So we invite people to essentially go to this and see if you're building APIs, was this good enough? If it's not open issues to tell us what's missing, add specific portions of it and people started doing that, so we'd invite people to take a look at that aspect broadly.
Luke: That's really interesting that the, it's not only the topic of the guide that's open source, the guide itself is open source.
Michael Maximilien: Yes, yes, definitely. You know what next topic, the topics that exist right now, how to flesh them out, how to expand it, how to keep it current, and also what direction people want to go into because right now we added APIs, I think you mentioned data and AI. There's a few other topics that I'd love Knative for a while, but also because it is a very good direction for if you're building new applications and if you're building them in open source, there's actually a wealth of resources now to get you started and build those application and quote unquote serverless meaning that they'll minimize as much as possible resources when you don't need it. So it forces you to think things a little bit differently. FAAS is a part of this serverless world, so there's a lot of discussion around that. So we want to see for instance, this as a new topic. That would be an example.
Joe Sepi: Cool. That's great. It's interesting, it's not just the technical sort of details, but also the conventions, the way that people have been doing it, and like you said, not reinventing the wheel. I think that that's really super helpful. In terms of more content, how, imagine if people look at it and they see something, they can fill out an area, they will, but are there other ways that people would know about what, like you mentioned serverless, are there issues or a roadmap or anything like that, that you have set up for the guide? Emily.
Emily Mitchell: Yeah, there's a number of open issues that people can grab and we've had a couple people reach out and say, I want to create this graphic or I want to write this part. And then just looking at the parts that are already developed and saying, I can add value here, or just opening a pool request for those sorts of little changes are important as well as taking one of the big chunks and filling it out.
Joe Sepi: Yeah. Cool.
Michael Maximilien: Can you also add that the guide itself, and Steve can talk about this more because he did that part, it's all built in Python, I think, and Steve, tell me the details maybe. But what's cool is that all the code for the guide itself, the website is in that same GitHub rebuild and when you make changes, they basically very quickly become live. So if you added new entries and new sections, you don't have to wait. I mean, once it's merged, it's pretty much going to be live soon. Steve, did you want to mention the tooling that you use for the guide? I really like the outcome, by the way, so that's...
Steve Martinelli: Thank you. Okay, so story time. Yeah. I was told that Max had this wonderful idea for a guide and we wanted to put up on the IBM developer site. For me it was an Open Source Cloud Guide. We should make an open source. There's wonderful platforms out there that host static websites. I'm a big fan of Netlify, so I'm like, why don't we just make this GitHub org, Ava Repo, use Netlify, they have an open source friendly plan, which is what we're using. And to actually build the site, we use something called Carbon, which is an open source project by IBM and I liked Carbon because it actually uses Gatsby under the covers, which is another open source kind of static website hosting kind of framework. And very easily I was able to just find the Carbon Gatsby theme, get to work locally, and at that point it's just editing Markdown. And we were able to pretty much through GitHub, Netlify and Carbon, pretty much built a website in under a week, which is pretty cool. And we just have to pay for the host name, which we were able to do through our cloud account so all good there. But yeah, I really like the idea that it's an Open Source Cloud Guide. It's open sourced. The actual code itself is all open source, built on open source, and I feel like I've said that enough times now.
Joe Sepi: Yeah, I was spoken around at it. Yeah, it's just a Gatsby site and all the pages are the source directory and it's just Markdown files, so anybody can jump in there and quite easily add to it and-
Steve Martinelli: Yeah.
Joe Sepi: Go ahead, Steve.
Steve Martinelli: Yeah, there are a little bit of tweaks that I think Carbon makes to Markdown, so you can actually have some more of a carousel for your images, some little nice add- ons, nice touches like the carousel for images or some notes come out a little bit more prominent when you do a note or a warning. There's a few things like adding a banner, try to keep it pretty minimal so that it's not a barrier to entry for new people inaudible to the Markdown.
Joe Sepi: That's great. The Carbon system's fantastic, but I didn't know that it took Markdown and added all that extra features like carousels and stuff. That's really cool.
Steve Martinelli: Yeah. Yeah, it's pretty cool.
Luke: This is really interesting because one of the things we love to do on this show is peel back the covers and see how things are made and we are always trying to encourage folks to work on open source. And this project is so interesting because if you are in a position where you're like, I want to be more involved in open source, I want to learn about the ecosystem, here's a way that you can get your feet wet, participate in open source, but at the same time be really expanding your knowledge about the entire ecosystem and everything that's out there. So it's a excellent project. Thank you for sharing.
Michael Maximilien: And the other thing I would say is that I hear that people in open source have opinions. So if you have opinions about APIs or you have opinions about data, AI, serverless, go at it. That's the whole point of this is to gather all the different opinions, especially if you have opinions on how to build, let's say APIs on different specific clouds. We welcome that.
Joe Sepi: And it's great that it's cloud agnostic. It's open source. Emily.
Emily Mitchell: Yeah, we didn't put it in IBM repo because we wanted the message to be this isn't ours, it's the communities and it's for everyone. It's just an open source for the community.
Joe Sepi: Yeah, that's great. I'm curious, and we can keep this bit or not, but I'm curious is in terms of the cloud bit, do you get above Kubernetes at all? And I'm thinking about the other sort of managed Kubernetes platforms like OpenShift. Does it really just stay at that level?
Michael Maximilien: We just stay at the parts that are across different clouds. At least that's the goal. So that it is really hybrid and it's completely open.
Steve Martinelli: Yeah, we do talk about container run times, we talk about container registries, but I feel like that might overlap a bit with the CNCF landscape there if we start getting into distributions and things like that. We want to speak to just open search projects. And we also include links to a lot of courses on there, courses and videos where folks can learn more about specific things. And I believe we link back to a few of our courses on the cognitiveclass. ai that we take you from soup to nuts, all about containers and Kubernetes, a really cool tutorials, videos of course, that we think are useful.
Luke: Excellent. And for folks who want to find this, you can find the guide at open- cloud- guide. dev and the GitHub repository is github. com/ open- cloud- guide. Obviously we'll put it all in the show notes, but if someone's just listening and maybe doing the dishes or wash or something, then they can hear it.
Steve Martinelli: Folding laundry.
Joe Sepi: Yeah.
Luke: Is there anything we didn't talk about that we should have? Or is there any other sort of important pressing things that we didn't get to yet?
Joe Sepi: So something that we talked about some in the Node- js community is that contributions to open source isn't always contributing code. There are lots of other ways to get involved in open source. And so I'm curious, Emily, could you share a little bit about how you've been involved in this project as well?
Emily Mitchell: Yeah, I think that kind of a barrier for me to ever really participate in a project is, well, I'm not an engineer and I don't really have a development background, but working on IBM developer, it's all based in GitHub and so we're always writing in Markdown and everything we do is with poll requests and stuff. As I am out in open source projects the documentation is always what I'm looking at and judging. And so this was a nice way to get my hands in a project as someone who's not necessarily a developer or an engineer, but to still add value. And there's organization that can be added, obviously words to a page and coding the page so it shows up with something. But I think there's a lot of places that you don't think that you can contribute if you're not a developer, but there is. And it's mostly in documentation and in the words on page or graphic designers. That is something we need like cooler graphics that show things in an easier to consume way. I can't do that. And probably a lot of engineers, that's not in their skillset, but if you're a graphic designer, that's a great way to add value and be involved in a project.
Steve Martinelli: I will also inaudible and say that we've worked together for a few years now and I very much appreciate the work that you do to all the editing and the content writing and the managing of things, and it's just, its fantastic work and I think it goes underappreciated. So I want to thank you for that here.
Emily Mitchell: Aw, thanks.
Joe Sepi: Yeah I will chime in as well. I worked a lot with Emily and I also appreciate all that you do. Thank you.
Emily Mitchell: Aw, thanks. I tell people, I'm just like the red pin person that you give me something beautiful with 1400 words and I'm like we're going to make it 700.
Michael Maximilien: So that people can actually read it.
Emily Mitchell: Right or that we'll read it. That's the goal.
Joe Sepi: And enjoy reading it.
Luke: Thank you so much for joining us today. We are just about out of time, but this has been an exciting conversation. We love to take apart open source projects and I love that this one had this meta facet to it where it's open source about open source. I found that really interesting and amusing. If any of our listeners wanted to keep up with you or find out about the projects you're working on, where can they catch up with your posts? What social media are you using?
Steve Martinelli: Thanks, Luke, Joe, thanks for having me. I'm Steve Mar everywhere except Twitter where I am, Steve Bot.
Michael Maximilien: That's fun. I'll go next. Obviously like Steve, if you want to keep up with me, feel free to reach out on Twitter. I forgot to mention that I try to do some other things outside of just coding, but if you want to see all of that, you can go to my Instagram, although I'm not keeping it up to date. But anyway, everywhere I am @ Maximilien, my last name, so M- A- X- I- M- I- L- I- E- N. I was early enough to get that. It's not a complicated name. Nobody wanted it anyway. But yeah, @ Maximilien on Twitter and Instagram and also on GitHub, feel free to reach out on both.
Emily Mitchell: Yep. Thanks for having us guys. It's fun to chat. I'm Emily Mitchell on Twitter, also early, and then I never used it, but I'm there now.
Joe Sepi: Great. Well this is a really great conversation and I appreciate all you taking the time to chat with us, but also taking the time to put the Open Source Cloud Guide together. What's that URL again Luke?
Luke: Open- cloud- guide. dev.
Joe Sepi: Thanks everybody. Appreciate it.
DESCRIPTION
In this podcast, Steve Martinelli, Dr. Max, and Emily Mitchell talk about a new Open Source Cloud Guide created to show what open source technology underpins today’s major cloud offerings.They chat about :
⁃ Why the guide was created
⁃ Specific topic areas within the guide
⁃ Ways you can contribute or enhance the guide
An O’Reilly survey that IBM commissioned in late 2020 pointed out that developers who want to build cloud applications should work on honing their open-source skills instead of only focusing on developing skills for a proprietary cloud.The survey highlighted that the most desired of the open-source skills are around Linux (containers), artificial intelligence and machine learning, and data storage.This got us thinking: How do those skills translate exactly to developing for hybrid cloud environments, inclusive of the major cloud providers? What open-source technologies are most used?
The purpose of the Open Source Cloud Guide is to answer those questions.This Open Source Cloud Guide seeks to inform developers about what open source technology is important to contribute to. And, because it’s open sourced itself, you can contribute about the technology that’s included in other clouds. Use and contribute to the Open Source Cloud Guide