The Crucial Role of Process Mapping with a Customer-Centric Lens
Looking to add new technologies to bolster your CX initiatives? Make sure you're process mapping before making any investments.
Read MoreIn the past, there was a clear distinction between building custom software and implementing something “off the shelf.” Modern software architecture is changing how we decide whether to build or buy.
Previously, we spent some time going into the history of the “build vs. buy” debate and discussed some of the factors going into that decision. These include cost, time-to-market, ongoing maintenance, competitive differentiation, and security and compliance concerns. Today, we will delve into how modern architectures have transformed this into “build AND buy” rather than “build OR buy.”
Traditionally, when we think about application development, we think about writing many thousands of lines of code to do everything from logging in users to logging errors.
This changed with the advent of many open-source frameworks in the 1990’s and 2000’s. For example, in the early 2000’s Log4J was released as a logging utility framework for Java and was soon ported to other platforms. It allowed developers to quickly log errors and events as well as configure logging levels and outputs across their application.
While it saved countless thousands of hours of development time, it meant that developers began to spend their time managing frameworks: installing the latest version, addressing any incompatibilities, and recompiling and redistributing their product. Log4J is an especially interesting example given that the Log4Shell exploit was one of the biggest security vulnerabilities in the past decade, forcing many large software vendors to update their products to address these issues. This highlights the benefits and risks of using these types of frameworks.
Two prevalent architectures came together in the early 2010’s to open a whole new way of incorporating pre-built functions into custom software: service-oriented architectures and the cloud. As AWS, Azure, and GCP matured, these vendors began offering more and more sophisticated services through an “as-a-service” model. Other vendors quickly followed. Suddenly, developers had easy access to a wide range of services, including:
These services, typically available on a consumption basis, gave developers easy access to functionality that would have taken months or years to write from scratch. Additionally, unlike the Log4J example, developers do not have to compile assemblies into their applications; they call the services, but usually do not have to recompile or redeploy their application if the vendor fixes a bug or vulnerability.
This type of modern architecture has several advantages over incorporating frameworks or “rolling your own.” Some of these benefits include:
As with any technology or architecture, there are some drawbacks to calling these services. These include:
We find ourselves back here again. Cloud services can change the “buy vs. build” calculation, so let’s look at each of the factors we considered earlier:
Modern solution architectures rely on commercially available, consumption-based, cloud services to easily add sophisticated functionality to custom applications. Incorporating these services reduces development costs, reduces time-to-market, and minimizes concerns like ongoing maintenance, compliance, and scalability. However, we sacrifice some control, may end up paying more in the long run, and still need to be very aware that the way that we use these services can have implications on security, compliance, and data ownership.
These architectures certainly do not make building solutions a foregone conclusion, but a “build AND buy” approach does make building custom solutions, tailored to the demands of our businesses, easier and cheaper.
At RevGen, we love helping our clients navigate complex business and technical challenges, and can help you pin down where you land in the build vs. buy debate. Please let us know how we can help you or visit our Digital Enablement site to learn more.
Noah Benedict leads RevGen’s Digital Enablement practice. He is passionate about using technology to advance business and empower his clients to embrace new opportunities.
Get the latest updates and Insights from RevGen delivered straight to your inbox.