 Hey, morning everyone. I got to say I thought this place is gonna be a ghost town. So thanks for showing up So we're here to talk about why enterprises won containers now And maybe why you should too And we'll go through a few different things that we've learned kind of along the way here So my name is Spencer Smith. I am a cloud engineer at Selenia. I've been working there for a couple years now I've been focused on doing cloud automation tooling as well as kind of lately the past year or so doing container Container workloads Getting our clients into Kubernetes and that kind of thing And I've got will with me who I'll let introduce myself Hi. Good morning. My name is will I've been working at Selenia a couple years now I help with DevOps continuous integration working with a number of clients helping them streamline their processes and Get software out the door faster Quick quick little blurb here about Selenia here. We've been around since 2013 We've been helping people adopt cloud technologies and more recently We've been doing a lot of container work, especially with Kubernetes Docker and a lot of CICD stuff out there as well So back to Spencer here Cool. So let's talk about kind of where we're going today. I'll do Kind of a history lesson. Maybe that's not the right word But just some of the things that kind of got enterprises interested in containers and the idea of containers We'll talk about our clients what we've seen them doing how they've been getting into container land And then we'll we'll talk to you guys about tooling Kind of where you might want to start And then we'll do some discussion talking about some of the lessons learned in the high-level things that we've seen And we'll do hopefully some Q&A as well. I'd love to hear some feedback. So So kind of a quick survey, you know, it helps to get a sense of where people are on this path So I mean who's already I mean Who's using cloud in some sense or another whether it's open stack whether it's Amazon doesn't matter who's using some cloud Okay, so lots of everybody. Yeah, and which is to be expected. I think but you know, it's always good to ask And who's doing kind of hybrid cloud stuff whether it's public or private and multiple privates or whatever Okay, so it's a little smaller, but not too much And so who's already doing containers or plans to very very soon Okay, so a few okay So so let's kind of helps to kind of gauge where we're going I guess but so we'll start with kind of a history lesson here And these are just kind of general guideposts that Got got people thinking about the things that containers give you right? So in the enterprise the first the first kind of guidepost is the enterprise data center and virtualization So, you know, everyone's heard their boss or some executives a you know, say the words you know data center footprint and cost savings around that and Virtualization was kind of the first effort to solve this problem and having bare metal servers for everything Didn't make a ton of sense. You know, there's lots of underutilization and that kind of thing So it just got us starting to think about packing our applications together Making sure we're managing those resources kind of the right way The second kind of bullet point here is that open source has become, you know, pretty ubiquitous across the enterprise You know, whether it's the Linux foundation or Apache You're seeing people use open source all over the place Especially in data centers, you know, I mean Linux is king And we've seen even you know in the open stack world You know people are going pretty heavy with open stack and in private cloud and that kind of thing And so the next bullet point is is public cloud So that really kind of brought a change in the way that people started thinking about their data centers And thinking about what they're doing with their applications, right? So Amazon comes along 2006 Starting with S3, maybe that's not that interesting right out of the gate for enterprise But EC2 comes out pretty pretty quickly thereafter And then, you know, all of a sudden it's like oh, well, why does it make sense to run my own infrastructure anymore? I can throw my VMs at someone else for pretty cheap cost You know, maybe that's something I need to think about but it required big changes to the way you're deploying your applications The way you're writing your application. So this gets into, you know, the whole pets versus cattle scenario that everybody's heard You know, just thinking about those changes and how you're going to change your applications to make use of that environment, right? But public cloud is hard for enterprise So private cloud kind of comes along and this is of course where open stack rain supreme But opens that coming along and saying, okay, you know all those cool things that I have in AWS I can now have and host myself And that brings a lot of power to to the enterprise, right? Especially when they've got, you know concerns around security around compliance, you know If you've got HIPAA things you have to deal with or whatever You know private cloud makes a lot more sense Kind of next to last bullet point here Hybrid cloud brings an idea. It kind of starts making you think towards containers a little bit in that you're thinking about okay I've got you know, maybe a public cloud and a private cloud and I need to separate those workloads But you know, I need to orchestrate them all in one way, right? So I want something that kind of spans both of those It allows me to say hey deploy application Take care of it for me and you say you start worrying about your application more than you start worrying about your infrastructure underneath which kind of makes you Get pretty close to what the way containers are working, right? But I mean enterprises are slow to adopt. I mean we see it all the time You know, we've still got clients that haven't done cloud yet, right? So of any sort so we've got people that are you know Have valid concerns completely about you know compliance and security and all of those things But a lot of times it's really not having the skills internally to to get there Not having the automation processes as well as far as deploying your applications and that kind of thing But in the last two bullet points are really Most of the time the real reason things that will happen and that's processing culture, right? Enterprises are you know Sometimes tough to get things done And if you're not Willing to upend some of that it can be hard to to get through clouds and you know to get into cloud and then get into So kind of the last bullet point on this, you know horrible history lesson It cloud native kind of comes into being as an idea, right? The cloud native computing foundation was a year or two ago kind of founded It's you know, its whole goal is to shepherd the idea that your applications are much better off to be broken into microservices and package in a container format And they're doing some of that by you know doing a lot of community outreach I mean, they're the ones that host cube con You know and a few other kind of Linux Linux conferences and that kind of thing But you know, it's definitely helped reduce some of the hesitance knowing there's a government but a governing body around these container formats and that So let's talk a little bit about our clients and kind of how we've worked with them to to get to containers You know, and if you work in an enterprise, you know, it's it can be a long road, but this is kind of how it's gone So the first one is that virtualization paves the way and and I don't really mean virtualization as the first bullet point that I talked about in the history part But I mean kind of cloud and cloud automation tends to pave the way for this kind of thing Having some API that you can control your infrastructure with Makes a huge difference in the way you can pull your applications The client that I've been working with pretty extensively for the past couple years We moved from basically they had one guy You submit a ticket he creates a VM. It takes two weeks to get it Then they pass it off to an ops guy who follows it, you know a runbook of installing this the software The runbooks a hundred pages long, right? So it takes him two weeks to get this thing installed Maybe it works. Maybe it doesn't maybe he fat-fingered something So, you know having all of that stuff take that long is just a real pain And so being able to control your infrastructure with some API whether that's open stack or something else Makes a big difference in the way you deploy your applications, right? We helped them build some tooling around, you know creating VMs and baking images of Packer and all of that good stuff That two weeks came down to two hours. So I mean it's still a huge application in two hours takes a long time to deploy But it's way faster than what they were seeing, right? And so that was kind of their first step towards Going full-bore on containers. So Once you kind of see that speed gain, I mean that's a monster speed gain even though it's still slow, right? And so once you see that it doesn't go unnoticed anywhere in the enterprise. We're all of a sudden deploying several times a week We're moving faster. We're releasing more often. It's no longer this like Quarterly process like I will release kind of once a quarter blah blah blah You get rid of a lot of that stuff and so all of a sudden you're moving really quickly and You know once you kind of start moving faster You want to go even faster, right? So it's it's just the speed is addicting and we see our clients looking at their applications a second time and saying, you know This is awesome. We've made a huge speed gain, but You know if we really broke this thing down a little bit It we could deploy this thing even faster and there's no reason for this application to be this complex and I mean we you kind of see your clients discover the idea of microservices before we even really talked about it, right? And so that's you know, that's kind of where where we're going and they they look at microservices They kind of start googling around and you can't see a blog post about microservices without seeing Docker involved with it, right? And it makes sense. I mean especially, you know once you're talking about At a cluster level, you know, it makes sense to to use containers as a packaging format But you know, it's it's it's not required I guess is the point but we see our clients getting really comfortable with the idea of containers just because they want to break their Microsoft make break their applications into microservices And so, you know, that's that's kind of where Containers come in and they're just more of a secondary thing than just the primary focus But I mean here's kind of why they're doing it You know, the scalability is huge You know being able to scale up in seconds versus minutes is Pretty powerful or especially hours, right? If you need another version of that application and you all of a sudden it takes you two Hours to create it. That's way too slow for you And you know another thing kind of the second bullet point that we've seen Our clients all of a sudden really be interested in getting out of any kind of vendor lock-in You know, we've been paying company X a lot of money for a lot of years And they haven't been giving us the speed games that we really wanted And so you see them looking towards open source even more than they were previously And you see them being okay with not going to a single vendor For the entirety of their application deployment pipeline So it's you know, it's some pretty big changes there as well So that's all kind of to say that, you know, a lot of times what we've seen with our clients is just that You've got to start with the initial Kind of some speed gains and not The best you can do out of the gate. You've got to build the bridge before you can go over it, right? You've got to see that initial speed gain and going to cloud You've got to see the initial speed gain and making sure that your cloud automation is top-notch Before containers really start to make sense for a lot of our clients And before they're really interested in them And so we'll turn it back over to you to talk a little bit about container tooling All right, so Here I love this picture. It's it's from the the CNCF Github site, I believe It's completely overwhelming And I'm not even gonna bother getting into it too much But the the main takeaway here is that if you look at all the various categories of tooling You know from all the way from the infrastructure in the bottom to the application stuff on the top is There's a lot of choices It's all open stack or sorry open source. It's there's there's closed source proprietary pay-free pretty much every category of software is available and this is all just like the tooling side of stuff here, so there's Case in point. There's there's just a lot of choices out there right now So we've been talking about this stuff for a long time Over the last year, so I think I guess what about about a year ago when we first started, you know looking at it The the tooling was not there yet. It was it was lacking. It was not not feature-complete. It was unstable It was it was really kind of rough and a lot of the early adapters I think kind of kind of got bit by that a little bit Over over time though, we've we've really seen things Come along quite well Like the definitely the the tooling's improved there's there's definitely more choices there now and it has It's definitely come a long way, I think And and the other point here is it's it's moving like super fast, so it's growing at an alarming rate What we you know the the picture we we saw at the last slide there. It's All those are constantly changing So it's it's something to keep tabs on And just the kind of the stats here is that like like for example like Kubernetes project And in the last 30 days 677 code commits that's like you know 20 a day or so from quite a quite a few contributors Like Docker not as many but I still quite a bit so you can see there's there's a lot of velocity here for sure So when it comes to deciding what exactly it is that you're looking for It's it's sort of a similar situation with mini open source Is that it's it's not a single product? It's not a single vendor where you're gonna find is that in order to have a complete set of tooling You're gonna need to pick and choose from mini sources And this is this is both good and bad of So what we saw with OpenStack is initially a lot of vendors came out with like OpenStack distributions and We're not really seeing that quite as much in the container space If like if you look at the the Coros logo there How many people are familiar with Coros? Anybody okay, so some of you So it is a Container specific distribution I feel inclined to mention Rancher OS too because it's it's similar similar thought but it's a slightly different design but So Coros is specifically for running containers and but that's not to say that you need to run Coros to run containers You can you can choose any operating system that really makes sense to you but Starting from the bottom, you know from your you know from your platform You it's really you know pick and choose every level of the stack here So, you know choose your cloud platform or even bare metal if you know if you want Then pick your pick your OS Registry is also one of those the super critical Components when you're doing containers, there's there's the official Docker solution Quay is by Coros And there's also a number of third-party products out there So some of some of what you may may already own like Artifactory or Nexus So there's there's a number of choices there Docker as is you may or may not have heard is primarily a single single node solution So if you want any sort of scalability your need Absolutely need an orchestration layer like Kubernetes or swarm All the networking stuff is pluggable So whatever your networking needs are I guarantee, you know whether you want overlay BGP Just L2 routing something already exists for you there and if it doesn't you can do your own That's the other nice thing and for and the engine stuff Docker is definitely the the primary player in the market here But coros also has rocket as well So there's actually some competition and and I think that's really beneficial so You can't really talk about containers without talking about open source Just because the the entire container ecosystem is open standards Most of the projects are open source So inevitably if you're dealing with containers you have to deal with open source That's not as big of an issue today as it was maybe five or ten years ago. I think I Mean if you look at you know the open source penetration into the market you're gonna see you know with operating systems databases and definitely tools the majority of tools at least I've Tended to adopt it in the recent time is they're all open source and It's you know, there's some of the best ones out there for sure According to this black duck study, which is kind of interesting 65% of the companies they talked to are actually contributing to open source projects, which is I was actually kind of surprised at that number. It's Definitely a growing number and also one in three companies have dedicated employees to open source projects and That's that's kind of huge when you think about it because I Can entire employee is is you know, not actually doing anything for the company other than giving away free software But if you look at the benefits that's it's actually quite huge for any company Having your company's name associated with an open source project. It gives you legitimacy in the industry it attracts other employees as well and it also um Yeah, it just gives you exposure where you might otherwise not have any so that's that's kind of invaluable if you feel get it from that angle and It's just along with that survey 76% said they're looking at integrating containers and About a third of them were already looking using them for testing or development Where which are actually two of the probably the easiest adoption places So getting started Since since the majority of you have already adopted cloud or Considering it getting on cloud. You've already sort of taken that first step At least away from the the the battled world of manual steps and virtualization Hopefully nobody's doing the meat cloud approach. That's that's never beneficial um so One of the first questions is what what's what's your business? How do you make money? And some people they do their own apps some people consume other people's apps And and how does this all tied to your your line of business? So obviously if you're building your own applications, you should seriously be considering containers And even if you're just consuming other people's applications It might be time to start considering containers as well so recently a Project we're working on Actually made a purchase from oracle Sorry, it's this Cisco and the actual software was delivered as a as a container specified to run on Kubernetes, so What we have here is an example of a major vendor actually starting to distribute its software as a container and I think we're definitely going to see that this trend to continue as You know Containers gain gain popularity here And the take-home is that you know containers are not a future technology the containers as a concept have been around probably since the God 90s very long time it's been in Linux for a long time and So it's it's definitely a vetted technology. It's you know something that works and It's it's here today people are using containers today and And they're they're benefiting from them today as well And so a lot of times in the next question people ask is okay our VMs useless Short-term the answer is absolutely You still need VMs and long-term. I definitely think VMs are not going to go away I think they're going to become less important than they are for sure but Long-term I think there's there's a firm place for for bare metal for virtual machines and for containers in the entire stack and Part part of the challenge with all this adoption is going to be dealing with the various types of virtualization If you look at the numbers Converting a virtual machine application to a container has a cost and and it really just comes down to is it worth The the conversion process is it worth the development time? Is it worth or is it better just to leave something standing there and just don't touch it? So you really just kind of have to take you know everything on a case-by-case consideration So a lot of people go like awesome. How do we do this? and Well, one of the things we always say is you know take a small problem and solve it so our example here is Hardware so what we've seen in a lot of companies is hardware is always not there or People need hardware or they need resources and they're unavailable Especially with developers developers need to test things. They need extra resources And and it's a challenge to get them and when they do get them they they tend to hoard them because it's You know if they give them back it might take you know weeks or months to get them again So in this situation Actually One of our clients we talked to they had close to 80 percent idle time on most of their infrastructure Simply for this reason so this is a fairly common problem we've seen a number of places and It's a great great easy fix for containers. So once once Developers can start running containers on their desktops What they can find is that they can actually do a lot more with the resources they already have And if they start actually returning some of the the spare hardware and start creating like Kubernetes clusters You can actually start running your your infrastructure a lot more dense. You can you can pile stuff up a lot deeper and You can actually do a lot more with what you already have and This is um This is just like one one example There's obviously a number of ways you can do this, but it also gets people Sort of working with the technology and what we've actually seen is that developers are really excited to start using containers There's there's a lot of benefits there So when people are excited to use stuff, it's it's definitely a lot easier so what one of the thing we're gonna get into here a little bit is um Dev Ops because it's kind of all related. We talk about it a lot here And that that people people tend to jump into technology and and make make a lot of mistakes They they pick the biggest project that that's you know something high level gets a lot of visibility They throw a lot of bodies at it and things just get really messy really quick I've I'm always of the firm opinion. You start small and you iterate that that definitely holds true here So you you want to start with something that that's actually Like like Not mission critical external facing maybe an internal tool that you know people won't be too upset if it's down for an hour or so But yeah experiment with something small build your skills Actually running containers involves a lot of new skills that you probably don't have yet if you're just you know coming from a virtualization world And and you want to give people time to actually like grow these skills before you start pushing forward too deep Otherwise you're gonna move a bunch of applications stuff's gonna start breaking and You're not gonna be able to fix it and it's just gonna be a gigantic mess So it's a kind of kind of keeping with the DevOps theme here Most organizations don't communicate from business to ops in any sort of coherent manner What you have is silos that are primarily communicating via ticketing systems or other other you know very software systems, but they don't actually directly interact with each other much and So actually communicating messages From from one end the other can be very challenging And this kind of goes back to the the technology is easy People are harder So so getting people lined up Sorry Yeah, so so adopting dev Ops is a real little change for the way people actually work You know getting getting stuff going there And it requires actually a pretty big change for most people and the way they work One of the way Common ways to view this is the four pillars Is Sort of the four primary ways this all interacts with each other So you have the the culture the way all your all your various employees interact with each other Then there's the processes that you have implemented either manual automated or whatever Then your people's their skills and then obviously the the technologies that you use And this is kind of demonstrates the the importance of all having all four of those at the same time So obviously once the the top top line here is the Ideal situation if you remove culture People people get opposed to having changes If you don't have any process People just kind of run around with their heads cut off They it's a it's never a really clear direction as to what you're supposed to be doing at any given time So for the people there If you don't have the right skills If you don't have time to develop or nurture those skills Yeah, it's it's really gonna be hard to actually make a lot of progress well and and like lies with technology If if you're if you're not actually using technology people want to or actually solves your problem Well, you know, there's there's just gonna be frustration there and So I guess sort of the bottom line here like the the primary point here is You are if you're not ready for containers, you you really should be at this point A lot of people say you know this this this isn't relevant to me today and and that might be true But it probably will be in the near future here So to thank you very much. I just opened this up for questions There's mics as well if anybody wants wants to ask a question Cool easy enough Yeah The case for using virtualization and containers So you mean like At the same time layered or or what So, I mean if you're talking about running Kubernetes on top of open stack a lot of times It's really just because it's easier to get started that way It's easier to scratch it, you know to scratch pad all these, you know Kubernetes cluster running in VMs then it is to try to get allocated bare metal and all that stuff You know and our clients. I mean, you know the client I'm working with they're doing Kubernetes in Amazon For a similar reason right but the end goal will probably be bare metal Kubernetes Once that once it's proven and realized that you know, it makes sense to run things this way It will will probably start including more bare metal nodes in our clusters and that kind of thing Yeah, I mean certainly like to me if you're using Google Google container engine I mean it's VMs as well under the hood, but you know like I said It's just easier to kind of get started that way and iterate that way Cool. Thanks everyone. Thanks