Profound changes to your computing model have arrived to challenge many of your established practices.
- In this video, we wanted to talk about some of the emerging areas that are challenging, even established DevOps practices. - Of course, established DevOps practices have only been getting defined within the last couple of years. Get used to change. - It is changed pretty quick. Cloud computing emerged only in 2006 when Amazon launched its first public cloud. Since then it's grown into a leading option to post all of your computing needs. - Cloud is built on earlier virtualization technology made more profoundly self-service. - A public cloud is a cloud that someone else builds and operates. So a private cloud is one you build out and hosting your own corporate data center. - Hybrid cloud is the common practice of using some mix of these. - According to right scales state of the cloud report, 95% of companies are using the cloud for infrastructure or for platform as a service in some way. 89% are using some kind of public cloud, and 77% are using some kind of private cloud. Cloud users report faster time to market, greater scalability and higher availability as common benefits. Amazon Web Services, Microsoft Azure, and Google are the clear leaders in this space with Amazon being historically well in the lead. - Because the cloud allows you to provision or de provision computing capacity whenever you want, it's a major driver for DevOps techniques and lets you achieve full automation. - Now forklifting your existing architecture into the cloud, it's going to lead to poor results. However, just some modest rearchitecture to take advantage of the cloud can give you a dramatically improved results. - We've seen the rise of a new technology, containers with the iconic container technology being Docker - Container technology is a method of running isolated process spaces on an operating system without overhead of a full virtual machine. - Basically you bundle the app and its dependencies into a container and use that as the deployable artifact. - Monitoring provider data dog reported a five X growth in the use of Docker and all the related technologies has really been dramatic. And it's not just because there's modest performance benefits driving it. - Yeah. Developers love Docker as it shifts left access to infrastructure and system configs and allows them to package up their app with its dependencies. - You can be assured that it will run in exactly the same state on any system that supports Docker. And nowadays every modern OS does from Linux to Windows to macOS. - In cloud new servers show up every day and take five minutes to provision. Now containers show up every couple minutes and take seconds to provision. - Just as cloud as a forcing function to adopt config management, containers are making orchestration and microservice patterns necessary. We also find ourselves moving towards the immutable infrastructure deployment pattern with Docker. - The complexity of many config management systems has become a drag on agility. Docker containers are more composable and allow greater independence. - Here's an example of a Docker file that creates a basic container starting with a standard Ubuntu container from Docker Hub. It layers on some packages and wraps it up with your own application and defining a start script called an entry point. - You just Docker build an image from the file and then Docker run a container using that image. And you have a fully working miniature system within a system within seconds. - Containers have been growing at a crazy pace and the industry is just starting to get our minds around them, but the revolution really hasn't stopped there. The newest computing option out there now is referred to as serverless. - People aren't done fighting about the definition of serverless yet. It's also known as functions as a service or nano-compute, but Martin Fowler explains to them as instead of relying on long running virtual machines, serverless applications are invoked and provisioned as they're called and a deep provisioned afterwards. - AWS Lambda, Firebase and Google cloud function are examples of serverless architecture. - In my current job, we're big Amazon users, and writing several new applications in Python using the Zappa framework that get delivered by Lambda functions instead of either traditional cloud or even our month's old Docker set up. You literally just deploy the code to Lambda, and when something calls it, it spins up the code, processes of the request and kills it off again. - Typical use case is a reporting system. You call it with parameters that you want to report and you want that report returned to you. There's no reason for the app to run when it's not being used. There's no meaningful state to keep. So really there's no reason to even have a system work at all. - Of course, just as with cloud, not all workloads can run in Docker or in serverless architectures, but they are useful across a broad range of use cases. And in fact, larger shops are uptaking Docker at a higher rate than smaller ones. - The rate of change in this field is stunning. I mean, the time between each of these revolutionary changes in how we think about computing keeps getting less and less. Keep your ears open for what comes out next. - Well, that's our look at the bleeding edge. - Come join Ernest and I, as we wrap up our course and answer the burning question, are you a DevOp now?
In this course, well-known DevOps practitioners Ernest Mueller and James Wickett provide an overview of the DevOps movement, focusing on the core value of CAMS (culture, automation, measurement, and sharing). They cover the various methodologies and tools an organization can adopt to transition into DevOps, looking at both agile and lean project management principles and how old-school principles like ITIL, ITSM, and SDLC fit within DevOps.
The course concludes with a discussion of the three main tenants of DevOps—infrastructure automation, continuous delivery, and reliability engineering—as well as some additional resources and a brief look into what the future holds as organizations transition from the cloud to serverless architectures.
- What is DevOps?
- Understanding DevOps core values and principles
- Choosing DevOps tools
- Creating a positive DevOps culture
- Understanding agile and lean
- Building a continuous delivery pipeline
- Building reliable systems
- Looking into the future of DevOps