By George Florentine, VP of Technology
Today many organizations are dissatisfied with the way they are deploying and maintaining software. They also have heard all the buzz around the term “DevOps.”
What is DevOps?
Put simply, DevOps is a union of development teams (development) and operational teams (ops).
Traditionally, IT leadership has felt that these two functions should be isolated from one another. It was thought that this isolation would improve security and the efficiency and quality of run-time support operations.
In reality, this isolation introduced a set of problems. DevOps emerged as a means of eliminating a class of errors that existed because of this separation of concerns between development and operations.
DevOps Results in Higher Software Quality and Lower Deployment Costs
In “DevOps at Flatirons Digital Innovations,” Tony Apuzzo, our director of engineering, describes the FDI journey from a traditional development to run-time team deployment model to a more DevOps focused approach. He summarizes:
Given our need to integrate solutions for a wide range of customer environments, flexible development practices are critical to our success. We have approached DevOps with a polyglot philosophy. We resist excessive reliance on any one technology or architectural approach even if theoretically that could be the most efficient. By maintaining a wide range of knowledge exposure throughout our team we are better positioned to quickly embed within a customer’s environment. Our experience rapidly learning new architectures is itself a specialization that improves project execution.
Key takeaways in our DevOps journey include:
- We want to be very efficient and flexible in using readily available tools without being locked into a way of doing things.
- We have learned that maintaining a distributed development model that is not completely tied to Internet access suits our team needs best.
- As configuration management tools have matured, we have introduced them into our development best practices to reduce overhead and increase quality.
- Our blend of product and customer bespoke solution development has resulted in our DevOps tooling being, to a large extent, application agnostic.
- Much of our tooling is intentionally agnostic with respect to application. This enables us to support both internal and external customers that have a wide variety of application hosting needs.
Tony also describes the categories of DevOps tooling and approaches we use that contribute to our overall productivity. He concludes that “Our migration to a DevOps style of development led to a measurable improvement in software development quality and a reduction in deployment costs.”
We invite you to read the white paper to learn more.