Ravi is SVP of Engineering and CTO at Couchbase, overseeing development and delivery of Couchbase’s modern database for enterprise apps.
Satya Nadella’s 2015 proclamation that “Every business will be a software business” has been repeated so often that many see it as cliché. But like most clichés, it contains an element of truth. With very few exceptions, every business needs to use software applications to perform even basic functions, let alone thrive in increasingly challenging environments.
However, the other argument is that Nadella didn’t go far enough. Now it’s not enough to be a software business. In these fast-moving times, every business has to be a data business, controlling the essential resource that will power these applications and help the business find the right route to success.
This means that the stack of technology behind those applications—the user interfaces, data storage, databases and other technologies that let developers create new software and services—is critical. The specific technologies and approaches businesses choose can have a huge impact on how successfully developers can do their jobs.
Times Are Hard, But Software Development Shouldn’t Be
The 2020s are showing how important a technology stack can be. Almost every year has brought transformative events that forced businesses to react rapidly. In 2020, the pandemic forced organizations of all sizes to adapt—from offices implementing collaboration tools for remote workers to supermarkets offering curbside pickups and updating home delivery booking systems to prioritize vulnerable customers. Similarly, political upheaval in multiple countries has forced businesses to rapidly develop new supply chains and partnerships, with developers working overtime to ensure the business can manage these new relationships.
Agility is critical. A technology stack must be able to support rapid application development and roll out when necessary. But in a time of economic uncertainty, it must also be cost-effective. If a business can only achieve agility at great expense, its efforts won’t be sustainable.
Building A Better Stack
It can help to look at applications and the technology stack like furniture. Handmade bespoke furniture is wonderful, but it takes time to make, is understandably expensive and demands highly specialized skills. Conversely, someone who visits IKEA will be able to furnish their home or office a lot faster and at a lower cost—and still be able to buy bespoke when it really matters.
Similarly, when looking at their technology stack, organizations should think about skills, speed and costs. Will their user interfaces, databases or storage require developers to learn entirely new skills, adding to costs and the time it takes to use the technology effectively? Or does it work on established principles, meaning developers can almost immediately concentrate on their core task of creation?
This applies to everybody who interacts with the technology stack. For instance, will architecture and infrastructure teams be responsible for being able to seamlessly integrate new technologies into their understanding? Will procurement teams need to begin from scratch in order to get the maximum value out of new technology? And do compliance teams have to re-learn how new technologies could change the way customer data is potentially exposed?
There is also the question of whether the business needs to own its entire stack. For the more complex components that will require significant new skills to use and manage, it can make more sense to employ cloud services. In this case, the business will need to ensure that it retains firm ownership over the most important parts of the stack—or those that might cause compliance issues if taken outside the business, such as customer data.
A Data Sample
To see this in practice, and based on my own experience, here’s how and why a business might decide to implement a cloud-based database-as-a-service as part of their technology stack.
First, the business will need to evaluate the skills it needs. Will the database demand skills that developers have already built up over their careers? This is especially critical as modern databases that allow developers to use data in a more agile fashion can also demand new skill sets or programming languages. Choosing a modern database that allows developers to use their existing skills can greatly accelerate software development.
Second, does the business have all the skills and resources necessary to run the database in-house? This doesn’t just mean on a day-to-day basis, but at times of high demand when services might suddenly need to scale up. For instance, sites offering Paris accommodations will see a huge surge in demand when tickets for the 2024 Olympics go on sale.
If the business doesn’t have those skills or resources, it may decide to opt for a cloud-based database. In this case, it needs to ensure that procurement, finance and compliance support the decision. For example, is the billing for the database completely transparent, and can businesses use their preferred cloud infrastructure? Will the business maintain control over its data, so it can still create applications quickly and easily? And will that data be stored in a way that doesn’t cause any compliance issues—for instance, in a data center in a country that meets regulatory demands or on the business’s own infrastructure?
If the business can answer all these questions, it will find a cloud database that makes the perfect addition to its technology stack.
In The Driving Seat
Ultimately, the applications and services businesses create will help steer them through extremely volatile times. As the engine driving those applications, choosing the right technology stack that helps make full use of data can make a huge difference in that journey—and whether the business can reach its planned destination.
Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Do I qualify?
Read the full article here