Is Your Database Holding DevOps Back?
October 16, 2018

Oren Eini
Hibernating Rhinos

In today's world of software development, it's all about DevOps. One of the hottest buzzwords of the decade, DevOps is rapidly gaining popularity among organizations of all sizes. According to Puppet's 2018 State of DevOps Report, more than half of organizations have a dedicated DevOps team to help them better implement agile strategies, accelerate release cycles and ensure continuous development.

However, databases have a habit of holding DevOps back. Known for being archaic and stagnant, they often seem like the antithesis of DevOps, which is everything but. To obtain the type of flexibility developers want in their release cycles, they need to move with as few moving parts as possible.

When buying a database, most assume that they are owning one single piece of software. Most times, however, only after they have authorized the final payment, do they realize two databases were purchased – sometimes even three. Most databases require third party plugins to enable basic features like a GUI, text search, or even aggregations. In some cases, even before you attach a third-party plugin, there are already foreign components inside the database that were integrated. Of the more than 400 databases out there, most will look to third-parties to fill gaps until their product has fully matured.

When utilizing multiple databases, all these moving parts can wreak havoc on the development cycle. More testing will be required, tech support will constantly be on the fritz and there will be a never-ending tennis match of companies pointing the finger at each other when it comes to fixing plugin glitches.

In the face of growing vendors, offerings and solutions, finding a single database that best works with your DevOps strategies can be difficult. While there isn't a one-size-fits-all solution, those looking to upgrade their database for agile production should evaluate the following-characteristics:

Time-to-production

At what rate do you need to release application updates? While it could be only a matter of days, weeks or years, it's important to ensure the database is equipped with the right technology and features to enable users to release their next version consistently. When using several different software providers, it is harder to ensure that consistency; however, when dealing with only one software provider, it takes less time to have your database ready to go live.

Maintenance requirements

Once live, databases should require very little maintenance and "babysitting." A good unattended database is one where you can use it for years, and be able to measure the total amount of downtime in hours. Over those years, you will inevitably use new versions of both your application and your database. These upgrades shouldn't require you to touch the database at all.

Scalability

Thanks to DevOps, development teams are able to push out more updates that can in turn attract new users and ensure current users will come back for more. However, more users, and ultimately data, means you'll need to scale out often. Uniform components can react to such changes in a less disruptive way, letting you expand without slowing down.

Adaptability

New code changes the type of data you are working with as well as how you work with it. As the scale and type of data today's applications are working with continue to evolve at an eye-popping pace, users need a database that won't move in two opposite directions when faced with the task of processing new information.

Oren Eini is CEO and Founder of Hibernating Rhinos

The Latest

November 14, 2018

What to automate? Which parts of the delivery process are good candidates? Which applications will benefit from automation? At first, those sound like silly questions. Automate all your repetitive processes. If you think that you'll do the same thing manually more than once, automate it. Why would you waste your creative potential and knowledge by doing things that are much better done by scripts? Yet, an average company does not adhere to that logic. Why is that? ...

November 13, 2018

I'd love to see more security automation deeply integrated into the development process. Everybody knows since the 1990s that security as an afterthought just doesn't work, yet we keep doing it. The reason, I think, is because it's very hard to automate security ...

November 09, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 5, the final installment, covers deployment and production ...

November 08, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 4 is all about security ...

November 07, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 3 covers the development environment and the infrastructure ...

November 06, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 2 covers the coding process ...

November 05, 2018

Everyone talks about automating the software development lifecycle (SDLC) but the first question should be: What should you automate? With this question in mind, DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 1 starts with by-far the most popular recommendation: Testing ...

October 31, 2018

Halloween is a time for all things spooky, but not when it comes to your mobile app experience. A poor experience can not only scare off your customers but keep them away for good ...

October 30, 2018

As organizations have embraced open source, they have become polyglot — using multiple programming languages and technology stacks to accomplish software and hardware related tasks. Enterprises are caught between the benefits provided by a polyglot environment and the complexities and challenges these environments bring. Ultimately, if the situation remains unchecked, polyglot will kill your enterprise ...

October 29, 2018

Factor 5 of the Twelve-Factor App relates more to processes and advises strictly separating the build and run stages. The emphasis is on identifying and separating each stage of app development, and encouraging automation between each so as to accelerate the process ...

Share this