Why Choosing the Right Data Path Can Make or Break DevOps Projects - Part 2
October 22, 2019

Jonathan Parnell
Insight Enterprises

Organizations need to make a concerted effort to "shift left" with their overall data architecture discussions. This shift allows more of the right questions about data to be asked, answered and incorporated early on in the design of the overall application.

Start with Why Choosing the Right Data Path Can Make or Break DevOps Projects - Part 1

Asking the Right Questions About Data

Part of this early collaborative work may involve asking key questions about data. These include the best ways for an application and its users to interact with the underlying data, such as:

■ How will data be ingested and from where?

■ How will we access the data?

■ How and where will we store it?

■ How do we update and/or maintain legacy databases as we build for new use cases?

■ What types of data will we have? How will the types change or be increased over time?

■ How will we query from it (and what are the most common queries users will want to run?)

■ How will we manage and scale the data in use?

■ How will we protect the data from data loss, disaster or corruption?

■ How will we secure the data?

If these questions sound a lot like features in a data lifecycle, you're right. But, such basic questions about data are often overlooked in the rush to deliver, integrate, test and deploy application code. So often, what happens instead is an application team creates a design, then hands it off saying, "Okay, now create a data architecture to support the application."

This fundamental miss with data and collaboration at the start often leads to poor database architecture decisions later. It can also cause DevOps teams to resort to workarounds to accommodate such wrong architecture choices made at the start. This may cause some development teams to choose to circumvent DBA involvement altogether. In this case, they might even find themselves opting to use public cloud services instead (or some other types of data management) to support their application.

Instead, application teams should choose the path of early collaboration between developers and all functions of IT (including DBAs). This approach can offer better DevOps outcomes. It also helps move organizations toward a future where data architects provide an effective "bridge" between all parties critical to the application's success: From the needs of developers to the platforms provided by DBAs and the underlying infrastructures needed to enable them.

Changing Skillsets, Changing Minds

As with most things DevOps-related, success at the data layer has as much to do with changing the education, mindset and culture toward database architectures and database deployment methods as it does with the specific steps in the DevOps pipeline.

For example, if most DBAs in your organization are narrowly focused in one area (such as an Oracle DBA or SQL Server admins), your organization may benefit from investing in education to close skill gaps. Such investment can help expand the knowledge and exposure of that workforce to DevOps practices or emerging database approaches to cloud-native application patterns.

It can also help some organizations to first identify those individuals in the organization who want to transform, innovate, and learn about new tools, methods and practices.

Hiring those with that expertise already in place is another option. When you hire new skillsets, however, the answer may not be just to hire several noSQL administrators. This tactic will not necessarily solve your data problem, either. It may be just as beneficial (or more so) to hire someone with little specific noSQL skills but who is good at thinking about data in a different way.

Business First, Technology Second

In our practice, we are often asked to weigh in on technology choices to support DevOps efforts in emerging areas like IoT, Big Data and advanced analytics. Organizations ask us about using traditional relational databases (SQL Server, Oracle, etc.) vs. NoSQL databases (MongoDB, Cassandra, etc.). They ask about the merits of one NoSQL iteration over another. They ask about how to manage persistent data in container environments. They even ask about workarounds when the data choices they've made cause other, unexpected problems.

We do our best to answer these questions. But, whenever possible, we also tell organizations to back up a few steps and start, instead, from their business objectives:

■ What are you trying to accomplish?

■ What are your business drivers?

■ How do you hope data will be used in these contexts?

Answers to these questions can help you make better choices about the best data architecture to support your growing applications.

Ultimately, new tools and technologies can enable a lot of impressive data architectures. But, just throwing tools at the data problem is not enough. Early effort and investment in people, process and cross-departmental communication is just as important to a successful data outcome for any project.

Many of the discussions we have now are trying to take everyone back to the steps they skipped. This harks back to the fundamentals of software engineering: Addressing things early so you don't have problems later.

Unfortunately, data is the one component in the technology stack that you can't easily undo once you've chosen a specific path with your application's data architecture. When it comes to planning for data, it really is a "Pay Now" or "Pay Later" equation.

Isn't it best to take the time and choose your data path wisely rather than paying later for slowdowns or other issues with deployment and performance?

Jonathan Parnell is Senior Digital Transformation Architect at Insight, Cloud & Data Center Transformation
Share this

Industry News

April 08, 2020

JFrog is launching the FrogCare program for companies and organizations who are actively researching and fighting COVID-19.

April 08, 2020

Split Software announced a pre-built integration with mParticle, a customer data platform for enterprise B2C brands.

April 08, 2020

SmartBear announced the acquisition of Test Management for Jira (TM4J), an user-rated QA and test management app in Jira for enterprise teams, from London-based Adaptavist.

April 07, 2020

Docker has open sourced the Compose Specification into a standalone organization on GitHub with open governance.

April 07, 2020

AppGyver, a Finnish software company, is unveiling its new Composer Pro product to the public after four years of quiet development.

April 07, 2020

Red Hat named Paul Cormier as President and CEO of Red Hat.

April 06, 2020

Alcide announced that the Alcide Kubernetes Security Platform now supports HIPAA compliance scans.

April 06, 2020

Copado announced the immediate availability of free access to its platform for anyone working on applications to fight COVID-19.

April 06, 2020

JourneyApps will open its low-code app development platform at no charge to state governments, healthcare agencies and NGOs fighting the rapidly-spreading COVID-19 pandemic.

April 02, 2020

VMware announced the general availability of VMware vSphere 7, the biggest evolution of vSphere in over a decade.

April 02, 2020

Grafana Labs announced that Cortex v1.0 is generally available for production use.

April 02, 2020

IT Revolution announced new dates, extended pricing and its first round of confirmed speakers for DevOps Enterprise Summit Las Vegas 2020. Hosted at The Cosmopolitan of Las Vegas, DevOps Enterprise Summit will now take place November 9-11, 2020.

April 01, 2020

Compuware Corporation announced new capabilities that enable application development teams to automate performance tests early in the development lifecycle, helping large enterprises speed time to market and improve application performance—while decreasing the significant and unnecessary cost of wasted time.

April 01, 2020

PlanetScale released the newest version of PlanetScaleDB, a multi-cloud database.

April 01, 2020

Datawire announced the newest release of Ambassador Edge Stack that is designed to speed up the inner development loop.