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

January 23, 2020

StackRox announced that the latest version of the StackRox Kubernetes Security Platform includes support for Google Anthos, the open application platform that enables users to modernize, build and run applications across on-premise and multiple public cloud environments.

January 23, 2020

CloudVector launched API Shark, the free API discovery and observability tool.

January 23, 2020

Thundra announced $4 million in Series A funding led by global investment firm Battery Ventures.

January 22, 2020

CollabNet VersionOne and XebiaLabs have merged.

January 22, 2020

Keyfactor announced DevOps integrations with automation and containerization providers Ansible, Docker, HashiCorp, Jenkins and Kubernetes to offer security-first services and solutions designed to seamlessly integrate with existing enterprise tools and applications.

January 22, 2020

Sysdig raised $70 million in Series E funding.

January 21, 2020

Red Hat announced the general availability of Red Hat OpenShift Container Storage 4 to deliver an integrated, multicloud experience to Red Hat OpenShift Container Platform users.

January 21, 2020

Snyk has secured a $150 million investment, led by Stripes, a leading New York-based growth equity firm.

January 21, 2020

vChainannounced the close of a $7M Series A investment round.

January 16, 2020

VAST Data announced the general availability of its new Container Storage Interface (CSI).

January 16, 2020

Fugue has open sourced Regula, a tool that evaluates Terraform infrastructure-as-code for security misconfigurations and compliance violations prior to deployment.

January 16, 2020

WhiteHat Security will offer free application scanning services to federal, state and municipal agencies in North America.

January 15, 2020

Micro Focus announced the release of Micro Focus AD Bridge 2.0, offering IT administrators the ability to extend Active Directory (AD) controls from on-premises resources, including Windows and Linux devices to the cloud - a solution not previously offered in the marketplace.

January 15, 2020

SaltStack announced the availability of three new open-source innovation modules: Heist, Umbra, and Idem.

January 15, 2020

ShiftLeft announced a partnership and deep integration with CircleCI that enables organizations to insert security directly into developer pull requests from code repositories.