Because relying a designated database administrator for monitoring, troubleshooting and query analysis is becoming a luxury agencies with aggressive code release schedules simply cannot afford, software developers are stepping up.
Modern application development has delivered new levels of flexibility and responsiveness to government agencies. The ability to churn out better code more quickly spanning multiple platforms across hybrid cloud environments means greater return for the end user, However, it requires more work to ensure the development path and the data it produces are fully in sync, secure, optimized and error-free.
This responsibility has increasingly fallen upon application developers. They’re being asked to double as database administrators to maintain fluidity in the process and support an agency’s rapid release cycle. Recognizing this responsibility, understanding its associated pain points and arming the “accidental database administrator” with the necessary tools in this expanding role is critical to success.
CI/CD conflating roles
The adoption of CI/CD (continuous integration/continuous delivery), now the fundamental cornerstone of DevOps pipelines, means organizations are shifting code releases from batch events to continuous or daily occurrences. Consequently, the lines that have traditionally defined “development” and “database” have blurred.
Relying a designated database administrator for monitoring, troubleshooting and query analysis is becoming a luxury agencies with aggressive code release schedules simply cannot afford. Therefore, software developers are taking on multiple responsibilities, some of which were once handled by belabored storage and database administrators. For instance, they’re allocating storage for their applications in real time and managing database optimization as a component of the development cycle.
In assuming these responsibilities, developers must monitor the performance of their applications and databases to ensure optimal performance. It’s a tricky balancing act: It requires an eye on the entire database ecosystem -- including security -- and having the right supporting tools.
Database administrator tasks for the modern developer
Software-as-a-service-based APM (application performance management) involves continuously identifying performance and availability issues for proactive detection and diagnosis. It requires developers to understand and care about the full database ecosystem. They must be prepared to find issues with the database, identify and locate problematic queries and know how to address them.
As cloud-native and hybrid application deployment becomes the norm, database optimization and application performance monitoring will become even more of a challenge. For the developer specialists now thrust into the world of being administrator generalists, part of the challenge is determining which problems can they can handle themselves and which should be delegated to other infrastructure owners. As powerful as database optimization behind a single pane of glass can be, it’s not going to suffice when the real issue lies with the underlying server, or some other aspect of the infrastructure abstracted and managed by a cloud service provider.
Better security across the hybrid cloud
Security is also a major concern, particularly since government sites tend to be more restricted about cloud deployments. According to a recent report by the National Security Agency, database misconfiguration is a major cause of security vulnerabilities in government networks. Indeed, misconfiguration and lackadaisical practices involving non-secure copying of data for development or testing across the cloud can expose critical personally identifiable information (PII) data to unnecessary, perhaps even unlawful, risks. Agencies can’t assume database security settings and configurations are set by default.
Therefore, it is imperative agencies proactively monitor their databases not just for performance issues, but for potential red flags and anomalous behavioral patterns. Odd behavior would include an employee’s credentials being used to access a server from China when they normally access their information from Washington, D.C., for example.
Having a database monitoring tool capable of detecting performance issues and searching for these behavioral anomalies is important. Simultaneously, developers should employ security and event management solutions to ensure their log files adhere to their agencies’ content security policies.
Empowering and protecting the ones we need most
While not all these tasks are the sole responsibility of the developer, increasingly more of them are. Quickly troubleshooting application performance problems regardless of location, creating meaningful metrics for improved application and database performance and monitoring and securing databases and PII data in the cloud are integral to a successful CI/CD pipeline.
The “accidental DBAs” need the power to take the lead here in a way that minimally impacts their primary job around quality and quick code development. Easy-to-use tools that appreciate this context, shield the user from complexities of traditional administrative work and offer high degrees of transparency with ongoing development tasks can make the difference between successful modern application development reaching new heights in efficiency and a strained, disjointed process that may ultimately break the most critical cog in the machine.