Pulling the Strings

Continuous Delivery and Cloud Native Infrastructure with Nebula Team

Episode Summary

In this episode, Eric Sorenson and Melissa Sussmann will be exploring the challenges that DevOps engineers face in using cloud-native infrastructure and how Puppet can help with your deployments.

Episode Notes

In this podcast, Eric Sorenson and Melissa Sussmann will be exploring the challenges that DevOps engineers face in using cloud-native infrastructure and how Puppet can help with your deployments.

Continuous deployment is essential to the growing cloud-native space, especially in the case of containerization. Everyone we’ve interviewed is looking to adopt cloud-native technologies, but they face significant challenges in adopting containers, microservices, and serverless infrastructure for even simple cloud-native applications.

Project Nebula provides automation that helps customers easily work on provisioning, rollbacks, application deployment, and notifications all through one tool. Nebula also provides teams with a platform for sharing workflows and best practices to build consistent and coherent deployments. It's our latest offering for teams that are adopting various cloud-native and serverless technologies and need to unify this heterogeneous toolset into a single, end-to-end deployment workflow.

Sign up for Project Nebula here: https://puppet.com/project-nebula
We are offering a free bluetooth wireless speaker and welcome kit to the first 100 active users who provide product feedback for Project Nebula. To be an active user, customers must actively use the app for a couple of weeks and create and run custom workflows. To give product feedback, customers must schedule 1:1 time with the Nebula product team.

Learn more

Episode Transcription

Andrew [00:00:17] Hey, everyone, thanks for joining this episode of Pulling the Strings. I'm your host [00:00:22]Andrew Nhem [0.4s] Today, we'll be talking some shop, some Cloud Native Infrastructure Shop. We've got two Puppet folks here with us. Go ahead and introduce yourselves. 

Melissa [00:00:30] Hi, I'm Melissa Sussmann. I am the senior technical marketing manager on Project Nebula. 

Eric [00:00:35] And I'm Eric Sorenson, technical product manager, working on Nebula. 

Andrew [00:00:39] So Google Cloud Native, anything. And you'll see all kinds of results for many tools out there that are helping technologists all over the world. Give the listeners a bit of perspective on what Cloud Native infrastructure means to Puppet. 

Eric [00:00:51] Sure, Cloud Native has become somewhat synonymous with [00:00:55]Kubernetes, [0.0s] but it really is more than just waving your hand in the air and saying Kubernetes is until people start throwing money at you. 

Andrew [00:01:01] I stopped doing that a while ago. 

Eric [00:01:03] Good. Yvonne's point from the Puppetize PDX keynote last week if anybody's watched the YouTube video, if you were there in person, people are really introducing Cloud Native ways of working into their [00:01:12]on prem [0.2s] infrastructure. So it's really more about certain characteristics of the applications and infrastructure that you're building than it is about any particular technology. I tend to go back to Justin Garrison and Chris Nova's book called Cloud Native Infrastructure. It's a really awesome O'Reilly book that you can get for free, but they define a few characteristics of Cloud Native that I think are pretty relevant. It means it has to run on a platform. You can't go in and manually editing files or manually making changes. You have to work around an API and interact with it programmatically. You have to be able to make changes to it easily. The property called agility. You have to be able to observe what's going on inside the app, particularly when we get into these distributed applications that have a lot of micro services. It's much harder to debug what's actually going on because a single request could go through a bunch of services. So the application itself has to be orchestrated so that you can observe it from the outside and it has to be operable. You have to be able to manage the app from inside the app. And this includes things like auto scaling and being responsive to additional load that gets put on the service. That's their definition and I think that's a pretty workable definition of Cloud Native. 

Andrew [00:02:17] So with all of that agility and that ability to be a more reactive to what not, it sounds like continuous deployment is probably a pretty critical factor here. Can you tell us a bit more about that. 

Eric [00:02:27] Sure. I have a possibly interesting story about this from a few years ago. I was talking with Lindsey Homewood, who's a super smart Australian person. Their company was moving towards containerized infrastructure and he described their CI/CD system, which was Jenkins at the time as being like a conveyor belt that took all of the changes that anybody wanted to make across the infrastructure, the applications out from their workstation out to production automatically. And they put everything in there, including things like configuration changes, one off task runs and even troubleshooting tasks so they get logged and promoted through the pipeline. That might be an extreme example, but I think it's useful because I think it's useful to still be able to run things in an ad hoc fashion, but it sort of points the way of where things are going with containerization in particular, we can't just log in and change something. You have to change it upstream in source control, build, and deploy [00:03:15]and you container [0.0s] that goes the same for application code for infrastructure that you're managing with this code and even configuration that goes out via [00:03:21]GitOps [0.0s] and the faster, more automated, more safely you can do that, the better your velocity is, the better the business outcomes are. Back to the state of DevOps report findings that show that the faster that you can deliver things, the faster you can deliver value. 

Melissa [00:03:32] Speaking of Cloud Native and deployments, we are now coming out with Project Nebula. In general, Puppet is moving from a centralized process to a decentralized, locally manageable deployment infrastructure. So it would be good to talk a little bit more about how the project that we're working on relates to the Cloud Native Infrastructure. Project Nebula currently provides a single place to build provision and deploy Cloud Native applications. It's our latest offering for teams that are adopting various Cloud Native and server list technologies and need to unify heterogeneous tool sets into a single end to end deployment workflow. So we're essentially working on deployments as code, so businesses essentially don't want to use a centralized IT infrastructure anymore. They would like to ship app deployments ad hoc. And the goal is that with Nebula, they can go from it taking maybe even several hours to deploy to it taking minutes to deploy. We've talked to a large number of customers who have one or two app teams doing Cloud Native rewrites or new projects, essentially building their own patterns. We want to allow the opportunity for them to reuse and avoid reinventing the wheels. So not just working within an organization, but also sharing common steps and workflows. 

Andrew [00:04:47] And it's been pretty exciting to see this here at Puppet. It's been pretty thrilling to see the amount of alpha and beta customers come and give their feedback and usage and what not. We'd love to hear more about what kind of impact y'all have had on those customers and users. 

Melissa [00:05:00] So everyone we've interviewed is looking to adopt [00:05:03]cloud civic [0.1s] technologies. But they face significant challenges in adopting containers, micro services and service infrastructure. Nebula essentially provides automation that helps customers easily work on provisioning, rollbacks, application deployment and notifications all in one tool. Nebula also provides those teams with a platform for sharing workflows and best practices to build consistent and coherent deployments. 

Andrew [00:05:23] So given how easy it is to access various parts of a tool chain on the interwebs nowadays, why aren't customers doing this on their own? 

Eric [00:05:31] I think some customers are some. I was at the CDF summit before Jenkins World a few months ago and one of the presentations was from an organization which had built an internal thing that looks very much like Nebula. But I had to ask the question how much of what they had built was based on open source projects or how much were they going to open source? And the presenter looked a little confused and was like "none of it." And to me, that seems like a missed opportunity because there are a lot of common patterns, there's a lot of things that everyone uses that's working in this space. And so to start top to bottom and build all of that stuff yourself seems really, really expensive. And I think unless you're in the business of creating and selling a product that's based on these principles, that's probably not the best use of your time. 

Melissa [00:06:16] I think another differentiator on why customers essentially don't build their own platforms is that it can take a really long time. It can take years and incur large maintenance costs and support costs. Many of our customers also don't have that specialized skill set, but we do at Puppet. At Puppet, we once reinvented configuration management automation. We worked on infrastructure as code and infrastructure developers really appreciated that from us. We want to essentially bring that to the Cloud Native world through Nebula. So we want to essentially work on a declarative model management practice that allows for deployments as code, similar to what Puppet has done previously with infrastructure as code. 

Andrew [00:06:56] You both approach Project Nebula from different seats in the house of Puppet. I'd love to know specifically from both of you what are some big goals that you like to accomplish with the whole project? 

Melissa [00:07:06] As part of Project Nebula we would like to collect more feedback and data from our open beta customers and improve our user experience. Our overall goal is to also build something that people love and solves real problems for them, especially these application services teams that are providing infrastructure services for app developers. The Nebula team will also be attending the Serverless Summit in San Diego on November 18th and presenting a keynote with a demo. 

Eric [00:07:29] Yeah, that [00:07:29]Kubecon [0.5s] Cloud Native Con is gonna be a really fun time. We're working really closely with the Continuous Delivery Foundation. We were one of the founding members of it and are still involved pretty heavily in both the oversight and governance as well as with the day to day working with some of the projects there. You may have seen from the Puppetize keynotes that Nebula is built on one of the CDF projects called [00:07:53]Teched On, [0.6s] and we're working on contributing the parts of Nebula that are open sourceable and that should be part of the platform to benefit everybody into those upstream project, and separately from that, I've been doing a lot of investigation of what people are doing for configuration management and [00:08:10]Kubernetes [0.0s] is in and in Cloud Native environments. Just because you're running a Kubernetes doesn't mean your complexity just magically goes away. And in some ways it's worse. So I'm really interested in investigating that space and finding out what tools people are building and using out there in the world. I'll also be speaking on a panel in San Diego at the CDF summit. So it's gonna be a exciting fall. 

Andrew [00:08:28] Cool. We'll definitely include a link to how you can catch up on City of Summit and perhaps register and go see Eric speak. There's also some other links and notes that we've dropped throughout the episode here. I'd love to know more about from y'alls perspective how working on a Cloud Native, you know, tool that's going to improve people's workflows with application delivery and whatnot. How has that changed how Puppet work gets done? Because for so many years we've been focused on config management infrastructure as code, and now we're trying to push more toward a [00:08:56]coordinated [0.0s] focus. What kind of awesome changes have you observed so far? 

Melissa [00:09:00] Gartner predicts that by 2022 to more than 75 percent of global organizations will be running containerized applications in production. That number is more like 30 percent today. And what this means is that the Cloud Native market is actually growing and very quickly and the customer needs are changing. Fundamentally, Puppet has excelled at infrastructure as code as their bread and butter for many years. With Project Nebula, we're leveraging our expertise and DevOps abstraction to target a new market in the Cloud Native space. Cloud Native infrastructure is more distributed and complex, which brings up a need for DevOps engineers to model these new complexities. And that is where Project Nebula comes into play. We provide deployments as code. That means that, you know, traditionally customers are managing operating systems and virtual machines. However, there is a growing need to better manage lambda functions, micro services and containers in general. And that's where all of the cool new changes are happening at Puppet. 

Eric [00:09:55] Yeah, I think there's a lot of interesting reuse tha we're looking at. We mentioned putting workflows on the Forge earlier in the podcast, I think that's going to be huge. We're expanding what the Forge can do and what people the way they ought to think about Forge, not just for a place to go and download a module, but a place that can help solve a problem that they have. Whether that be provisioning is most mentioned or different kinds of application to plan it, working with different infrastructure, like the Forge has so much potential and there's so much awesome stuff there already. It's just can be hard to find and it's not as easy as it could be to pull all the pieces together that you need in order to solve a particular problem. And so that's a big area of focus for us in the next few months, too. 

Andrew [00:10:36] That's awesome. You have all of Puppet jazzed, Puppetize, you have all of our customers community super hyped. I'm sure folks listening to this are gonna be super curious to see where this project goes next. If folks have any kind of questions or want to hit y'all up on the social media's to Q and A, talk shop, how can you reach out to both of you? 

Melissa [00:10:54] They can reach out to me on Twitter at Melissa Sussmann. M E L I S S A S U S S M A N  N on Twitter. 

Eric [00:11:04] And I'm now spelling is a weird word. H P O O K on Twitter is my name. It's also my SoundCloud, if you're interested in that. 

Melissa [00:11:11] We're also available on the community slack. 

Eric [00:11:13] This is on the Puppet community Slack. Which you can, if you're not logged in already, you can sign up at slack.puppet.com. And we have a special channel for Project Nebula. Is called #Project-Nebula. Feel free to jump on there and chat with not just us, but the other developers that are working on the project and other users that are getting started with it too. 

Andrew [00:11:29] Awesome. 

Melissa [00:11:30] If you're interested also in signing up for Project Nebula, you can find that on Puppet.com/project-nebula. 

Andrew [00:11:38] So that was a great sneak peek at Project Nebula, a little bit on Puppet's perspective on Cloud Native infrastructure and how to improve workflows there. Thank you so much to the both of you for your time today and for all of you listening. Please do hit us up with any questions. We'd love to answer any of them. With that, take care, everyone.