Since AWS Lambda’s introduction in 2014, which marked the beginning of the of serverless evolution, the development world has benefited from unprecedented levels of velocity and agility. As a result, developers have been able to focus on development of new features and innovation, without having to maintain or provision complex infrastructure.
Software developers and operations teams are constantly improving the way they move code into production and execute tests to maintain consistent delivery of reliable services. But, how do most organizations track the success of organizational changes? When a company adopts DevOps principles, how do they show the value of these changes to the engineering teams and the overall business?
The appeal of running workloads in containers is intuitive and there are numerous reasons to do so. Shipping a process with its dependencies in a package that’s able to just run reduces the friction of organizational communication and operation. Relative to virtual machines, the size, simplicity, and reduced overhead of containers make a compelling case.
Pull requests are a staple of open source software. Someone finds a bug or inefficiency within a section of code, and they can submit a “pull request” through Git to the repository owner. The owner can compare the new code versus the original, and if they agree it’s better off with the new code, it’s in. Sounds like an open and shut case for high quality, right?
Many development problems arise from miscommunication. For example, a developer may start working on a specification that they don't fully understand or a stakeholder may request a feature without understanding the implications. The result is rework that increases costs, creates delays and, in many cases, leads to failed software projects that go well over budget.