Tuesday, July 29, 2014

Reinventing Yourself as a Next Generation DBA [feedly]



----
Reinventing Yourself as a Next Generation DBA
// Build AWS-compatible Private Clouds with CumuLogic

Being a DBA in today's world can be hard. Really hard. Not only are the daily challenges growing as businesses rely more and more on applications to engage with their customers, there are several technical and cultural shifts that are putting enormous pressure on "traditional" DBAs to change how they approach their role. Those DBAs that embrace these challenges head on are going to become the DBA Heroes. Those that don't are going to rapidly find themselves in a tight spot.

It's important to understand that DBAs aren't the first IT role to go through an industry transformation like this. The process of reinvention of IT roles has been going on since the creation of IT itself. Consider what's happening in the networking space today, as software defined networking (SDN) begins to take hold in the industry. Network administrators are finding that their day-to-day work is no longer about manually configuring individual network devices by hand. As organizations embrace SDN, infrastructure orchestration and self service, less and less time needs to be spent doing "busy work", and more time needs to be spent on architecture, planning and deep problem solving. This is the shift that has to happen in the DBA community as well.

Today's DBAs tend to support the business in two interrelated ways: database infrastructure operations and data modeling/management for applications. Database infrastructure operations involves the provisioning, change management and operational support for database systems. Data modeling / management for applications includes schema creation, query optimization, data quality management, etc… Both of these functional areas are critical to an organization, but who (or what) is doing them is changing.

The Challenges

DevOps and Agile Practices

If you haven't noticed, the DevOps movement is growing, and, just like the Agile movement before it, the industry is adopting these philosophies and practices at an ever faster pace. These trends are allowing organizations to redefine their expectations for how quickly and how accurately applications can be pushed to production.

As a DBA, do you feel like you're always saying "no" to developers? Or better yet, do you suspect that's the impression that your coworkers have of you? Do you feel surprised by requests from the application development teams or feel disconnected from what they are doing? If any of these are true statements, this is a major warning sign that you or your team are a bottleneck in the process. Organizations are resetting expectations now, meaning that an individual's participation in the delivery of an application requires fitting into the world of rapid deployments, highly automated processes and shortened time to delivery.

Consider the core values in the Agile manifesto. Do those values align with your values as a DBA?

Individuals and interactions over Processes and tools

Working software over Comprehensive documentation

Customer collaboration over Contract negotiation

Responding to change over Following a plan

Manifesto for Agile Software Development

http://agilemanifesto.org/

While the DevOps movement might not have such a clear "manifesto" to describe itself, James Turnbull shared his opinion about what DevOps means in his post "What DevOps Means to Me", where he organized the thinking into four categories:

  1. Simplicity
  2. Relationships
  3. Process & Automation
  4. Continuous Improvement

Again, does your approach to being a DBA fit with the ideas that James expressed? The challenge that these movements present to the DBA, is that there is a tendency to want to "protect the database" from the developers. Formal "change control" processes is one technique that's commonly used, and DBAs tend to work in their own silo of the organization today. Neither of these approaches will remain tolerable to forward thinking businesses for much longer.

So how can a DBA both protect the data and avoid being a bottleneck to the organization?

"Developer Friendly" Technologies

In addition to changing IT management philosophies, developer-friendly technologies like ORMs (frameworks for working with relational databases) and NoSQL (database engines often considered to be "schema-less") are leading some organizations to consider adopting the concept of NoDBA. This is quite literally the elimination of the DBA role as a function, but we have to ask ourselves why this is.

For some organizations, this may be a deliberate decision. For others, this is an artifact of the organization constraints placed on the application teams. They are simply acting in a way that aligns with their goal of "delivering the application to the business faster". Developers (and development management) see these new technologies as a way to skip past their organization's DBA team either entirely or significantly.

ORMs, as an example, shift the data modeling, schema management and query writing into a framework of objects and methods within the application itself. This leads developers to believe that they no longer require a DBA to be part of the application development process, because hey, it's application code now, right? DBAs can just give the developer an empty database server and get out of the way, right?

NoSQL Usage and Adoption Survey, 2013

NoSQL Usage and Adoption Survey, 2013

Similarly, the adoption of document-centric NoSQL databases like MongoDB and Couchbase lead developers to believe that the lack of formal schema (think table and view definitions) means that they no longer have a need to engage with a DBA to discuss the data model. Even more concerning is that most DBAs aren't even adopting or learning about these NoSQL systems. According to a 2013 NoSQL Usage and Adoption Survey from Gartner, only 5.5% of respondents claiming to be adopting NoSQL technologies are DBAs.

Nick Heudecker, the Research Director at Gartner who conducted the survey, points out one of the biggest problems with the lack of DBA involvement in NoSQL deployments:

Application developers may be getting what they want from NoSQL now, but cutting out the primary
data stewards will result in long-term data quality and information governance challenges for
the larger enterprise.

Nick Heudecker, Research Director, Gartner

http://blogs.gartner.com/nick-heudecker/nosql-shouldnt-mean-nodba/

While these new technologies may appear to be providing significant benefits to the application development teams that adopt them, there's a serious problem brewing here. Organizations need data champions, people focused both on enabling the business through their understanding of the data and on ensuring that the data is protected and available. Are DBAs able to step up and embrace these new technologies, while bringing their past experiences into the discussion as a way to add value?

Database-as-a-Service (DBaaS) Usage is Growing

Now some DBAs might argue that even with the adoption of developer friendly technologies, you still need a DBA to ensure that the database engine itself is provisioned, managed, backed up and operated. This is where things can get even more difficult for the DBA role, since Database-as-a-Service (DBaaS) is exploding in the marketplace now.

DBaaS offers its users with near instant access to new database instances, self service control for operating and changing the engine's deployment, and fully automated operational functions (like backup and DR services). Application teams can also rely on DBaaS to quickly adopt new database engines without having to learn many of the operational aspects of the technology. Instead, they are free to focus on the application development experience, and weigh the benefits of one database solution over another purely based on its applicability to their software's needs.

451 Research, DBaaS Market Revenue and Forcast

451 Research, DBaaS Market Revenue and Forcast

The benefits of DBaaS are significant, leading Matt Aslett from 451 Research predict in August 2013 that the industry will see 100% year over year growth in DBaaS revenue until at least 2016. He also predicted that the percentage of enterprises adopting DBaaS will grow from over 30% in 2013 to 70% in 2016. This is a clear indication that application teams are rapidly embracing DBaaS.

What the 451 Research report doesn't account for is the growth of on-premises DBaaS technologies. While they focus on the adoption of public cloud DBaaS, there is even more potential for database infrastructure to become fully self service and automated when you add in private cloud DBaaS implementations. With private DBaaS, organizations can extend the features of their private IaaS environment to include DBaaS, giving application teams even more choice about where and how a database will be deployed for their application.

For the "infrastructure focused" DBAs, this can be seen as a direct threat to their jobs. On the other hand, the DBaaS market is complex, and filled with choice. Perhaps what organizations need are for DBAs to help guide the decisions around which DBaaS solution is right for each application, and to become experts in the usage, management and integration of DBaaS into the enterprise architecture?

The Solutions

Focus on the Users and the Business

The shifts happening in the industry are, at their core, all about how technology moves from a cost center to a strategic enabler for business. This might seem like a "fluffy" statement, but today's leading companies understand the power of using technology to engage better with their customers, enable new products and services, and to operate more efficiently then the competition. DBAs need to embrace these themes, and find ways to align themselves with the business goals and the technology user needs.

DBAs have an opportunity to use their existing knowledge to become the foremost experts in their organization's data landscape, especially focusing on how the data impacts your users and the business. They need to ensure that they are the individuals relied on to be experts in the data models, quality of collected / generated data and to know how the data can impact applications and users.

With the explosion in the number and pace of change in our systems of engagement, there has never been a more important time for organizations to have experts in how these systems interact with the organization's data. Users expect consistency in their interactions with companies, irregardless of the specific touchpoint. Application development teams are operating as autonomic units, typically being focused on one specific system of engagement. DBAs have the opportunity to be a bridge between teams, sharing valuable information and insights about how an organization's data can be leveraged.

Become Enabler for Application Teams

Agile and DevOps are here to stay, and that means that the application teams are organizing around the most optimal organizational structures, processes and tools that can help them deliver faster and better. DBAs should embrace this trend, and embed themselves in the application development teams so that everyone wins.

The DevOps movement should not be about lack of responsibility but rather about engagement and
communication between the various software development parties. DBAs should take a step towards
NoSQL while developers, DevOps and Ops must in turn recognize that the database expert is
crucial to the entire process.

Paul Campaniello, VP Global Marketing, Scalebase

http://www.scalebase.com/gartner-dbas-arent-part-of-the-nosql-conversation/

DBAs need to get involved deeply in the application delivery process, from requirements to operations. If a DBA has already become an expert in data's impact on users and the business, then they are bringing critical knowledge to the team. Just as importantly, consider how data, databases and other tools of the DBA can help with the processes and automation needs of the application teams.

DBAs need to be come experts in best practices like evolutionary database design, schema migrations and other approaches to database management that can help eliminate friction in the application delivery process. They should also find ways to help automate the data-centric parts of your organization's continuous integration/delivery processes, such as adoption of DBaaS as part of the application delivery pipeline.

Embrace New Technologies

The database technology market is exploding with new products and projects, from new database engines and types (NoSQL, NewSQL, etc…) to automation and orchestration technologies that make accessing and using a database trivially easy. DBAs need to not only keep up with the changes in their particular area of technical expertise, but embrace a process of continual learning about newer products and platforms.

DBAs need to consistently dedicate time to learn about the newer database technologies that are rapidly becoming more and more popular with application developers, with a focus on usage and optimization. As an example, NoSQL-style engines offers significant benefits for some applications. Similar technical innovation is happening in the traditionally relational database engines, blending relational attributes with document-centric usage models. One size no longer fits all applications. The DBA needs to be aware of the choices, so that they can guide each application team's database engine selection process.

Last, but not least, DBAs need to deeply understand how automation and abstraction of data services can benefit their organization. DBAs need to learn to embrace DBaaS as a way to manage the boring parts of database provisioning and operating. They need to become experts on navigating the DBaaS market, understanding when it makes sense to use a public DBaaS service vs. when a private DBaaS product might be a better fit. DBAs should learn the DBaaS features, and find novel ways to support their team with the power presented by the higher-level abstraction of treating database operations as the result of an API call.

Become a DBA Hero

For some DBAs, the challenges presented above may seem like they are insurmountable, but the solutions offered are a great way to thrive in this time of change. Again, it's important to remember that the IT industry is constantly reinventing itself and the organizational roles that enable technology to drive the business. The key to navigating these challenges is to embrace these changes in culture, process and technologies.

DBAs need to see these challenges as opportunities, and become the experts in employing the practices and technologies that are driving this reinvention. By doing this, a DBA can elevate themselves above the daily grind and begin to affect the business even more meaningfully than before.

This is how you reinvent yourself to become a "Hero DBA".

If you would like to learn more about how you can embrace next-gen database technologies, and lead the charge in transforming how your organization manages it's database environment, take a look at the CumuLogic on-premises Database-as-a-Service Platform. To learn more, get in touch with us or download the software!


----

Shared via my feedly reader


Sent from my iPhone

No comments:

Post a Comment