Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Distributed Data Management, Automation and the Cloud

DZone's Guide to

Distributed Data Management, Automation and the Cloud

DBAs are important for the proper maintenance of the DB, not just by the administors, but by any developers who may need to make changes.

· Cloud Zone ·
Free Resource

Discover a centralized approach to monitor your virtual infrastructure, on-premise IT environment, and cloud infrastructure – all on a single platform.

The number one thing you can do to help your teams adopt the cloud is provide Distributed Data Management to your development, testing, and release teams. Distributed Data Management is a way for team members that are not Database Administrators (DBAs) to perform DBA tasks. In a cloud world, these tasks include database provisioning and database schema and logic updates.

For provisioning, it is imperative that your product teams (the folks that are tasked with building and running the application) have databases that are the same kind as the ones used in production. Just a bit smaller. For example, if you are running Oracle in production, your developers need to be able to run the same version of Oracle in development. This is simple enough to accomplish with machine images. But, it needs to go further than that. You need to make certain you’re running the same character set, have the same permission sets. And, this needs to be provided via self-service; that’s what “Distributed” means in Distributed Data Management.

Furthermore, your product teams need to have the ability to have the correct schema and logic applied to that database. That’s where database release automation can really help. The right kind of automation allows you to treat database code just like application code. In other words, check your database code changes into the same source code repository as your application code. Thus, when a developer is working on a feature branch, they can, with application release automation tools like Jenkins or XebiaLabs, click a button and have the latest database schema and logic changes pushed to their development environment. If the developer makes a change, database release automation can be leveraged to automatically push only the necessary changes. The best part is, this is identical to the workflow developers are used to with their application code.

But, Distributed Data Management in the cloud will fail if you are unable to enforce global standards like naming conventions and database best practices. This is where your existing DBAs provide value in Distributed Data Management. By leveraging automation to enforce those standards, the enterprise is guaranteed that the same practices are happening across all teams.

You can use DevOps for the Database as a force multiplier for your cloud efforts. But, those efforts will incur unnecessary friction and fail without empowering development teams to make any change they need to the database safely. Automation can provide Distributed Data Management to all of your legacy and cloud infrastructure and offer an onramp to the cloud for your databases.

To learn more about the top challenges developers face in cloud application development check out this paper.

Learn how to auto-discover your containers and monitor their performance, capture Docker host and container metrics to allocate host resources, and provision containers.

Topics:
cloud ,application development ,cloud application development ,data management ,data ,database ,database administration ,distributed agile teams

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}