The world of servers has been changing, so, how do you choose which of these solutions to use?
- [Man] In this section, we want to give some advice for navigating the changing world of infrastructure. - [Instructor] Right. Everything has changed fundamentally over the last decade. - [Man] Back in the mid-2000's, our industry began making the move off of hardware in favor of virtualization. - [Instructor] And in 2006, Amazon launched Amazon Web Services. This was the start of the cloud era, and to say that that changed everything would be an understatement. - [Man] Just a few years later, in 2009, the term DevOps was coined. Then, in 2013, containers started to gain popularity.
- [Instructor] And now we're seeing another shift in the form of serverless. - [Man] Now, when I want to test an idea or build a new service, I can do it in minutes, not days and weeks like before. - [Instructor] Yeah, that's right. The time it takes to recognize value has dramatically shrunk with each new development. - [Man] It's tempting to start by following the path of history, moving from hardware to private cloud, and then maybe public cloud, and then containers or serverless. - [Instructor] However, we would encourage you to start at the very tip of the spear as much as possible.
- [Man] Right. You should try to recognize the newest benefits first. Later developments provide more value, and offload more non-value added work from you. - [Instructor] If someone's willing to sell you the functionality you need as a SaaS, then unless the economics of it are wildly out of balance, you should skip both the infrastructure provisioning and the code writing steps, and just use the SaaS instead. You get maximum value for your effort. - [Man] Only proceed down this list if you simply can't use the more advanced option, or you're truly working at the kind of scale where it's more efficient to do it yourself.
That's rarer than you'd think though. - [Instructor] But it's not impossible. Facebook not only runs their own data centers, but began to custom design hardware due to their raw size and scale. Their unique business needs caused them to work their way backwards all the way to hardware, and found the Open Compute initiative. - [Man] The key here is to not waste time and resources on non-value creating steps. Many shops are still defaulting to hardware, or trying to implement public cloud out of inertia, not because it's really the best thing for their business.
Of course, every environment is different. - [Instructor] And not everything is a green field project. Most times you inherit an infrastructure stack. - [Man] In these cases, I often recommend people evaluate what the desired end state is, and take small pieces of your stack and move to that. Definitely evaluate new projects, and determine whether putting it on your existing stack produces the optimal value or not. - [Instructor] Now, that can be easier said than done. But finding discrete, value-centric pieces to convert is key.
- [Man] You want to have a clear win out of the gate, and create a playbook for future transformations. - [Instructor] I have seen a lot of success in moving to newer platforms when aligning the transformation around delivery times for your stack. Reducing time to deliver new systems and time to deploy changes to applications are critical to modern business. - [Man] Speed produces value to all your stakeholders, and drives revenue, which is a powerful justification for moving to a newer technology, even if it's not cheaper per compute unit on the price sheet.
- [Instructor] The world of infrastructure continues to change, and the technology changes have enabled completely new models of infrastructure. - [Man] As you navigate these choices, remember to evaluate how each participates in the over all concept to cash value stream that drives your company's business. - [Instructor] We have a movie at the end of this course where we discuss this more. But for now, let's explore difference approaches for deployment, provisioning, and orchestration.
- Testing your infrastructure
- Going from infrastructure code to artifacts
- Unit testing your infrastructure code
- Creating systems from your artifacts
- Instantiating your infrastructure from a defined model
- Provisioning with CloudFormation
- Immutable deployment with Docker
- Container orchestration with Kubernetes