Q&A on DevOps and Role of DBmaestro TeamWork

DevOps, short for Development and Operations, is a software development method that identifies the need for better communication, collaboration, and integration among software developers and Information Technology (IT) professionals. According to Wikipedia, companies with very frequent releases may require a DevOps awareness or orientation program.
 
DevOps is the growing buzzword among developers. In an interaction with C# Corner, Yaniv Yehuda, CTO of DBmaestro shared more information about DevOps and the role of DBmaestro TeamWork in managing DevOps.
 

1. C# Corner: Can you elaborate on the real meaning of DevOps?

 
Note: Answers should be in Blockquotes:
 
DevOps for me has two distinct parts:
  1. It's the collaboration among all the stakeholders (Developers, DBA, QA, Products, Analysts, IT Admin, Storage Admin, Network Admin, and Management) that are involved in developing a software application, operating it, or any other configuration being used by the application.
  2. An automation process that allows quick, safe, and high-quality software development and releases while keeping all the stakeholders (as above) in the loop.

2. C# Corner: Can you share with us how developers worked before the evolution of DevOps?

 
Before DevOps, we spent a lot of time on testing, packaging, and crossing our fingers that the deployment process would work. I remember one time as a project manager when we completed the development and testing of a new product and put the release launch on hold for two months until the sales and marketing divisions were ready to accept the new product.
 

3. C# Corner: What objective does a developer accomplish using DevOps?

 
If DevOps is implemented correctly, a developer gains more insight into the entire picture; both business requirements as well as development requirements, faster feedback of usage, and bugs in the product.
 

4. C# Corner: Can you share with us the benefits of DBmaestro TeamWork?

 
The benefits of DBmaestro TeamWork can be divided into the following two categories:
  1. Development Collaboration Enablement
     
    • Provides enforced database change management
    • Eliminates out-of-process changes
    • Supports sandbox, shared, mixed, and branch methodologies
    • Enforces development of best practices methodologies such as check-in and out and assists in capturing labels
    • Enable Agile and database continuous integration methodologies  
  2. Reduced Operational Risk
     
    • Provide safe deployment automation, and alerting in case of automation conflicts
    • Leverage baseline-based impact analysis, verifying each change with both source of change, target environment, and a baseline (previous label, a golden copy of production, and so on.), to provide a safe deployment, and prevent unintentional code overrides.
    • Enable database continuous delivery
    • Integrate with any build and deploy automation solution via an open API and command-line scripting
    • Enhance and reinforce security
    • Foster regulatory compliance

5. C# Corner: Does DBmaestro TeamWork increase developer productivity?

 
Yes, definitely! DBmaestro TeamWork improves the developer's productivity in several ways:
  1. Reduces code overrides
  2. Eliminates the need to manually maintain the delta script
  3. Improves team collaboration and communication by synchronizing changes, tracking and sharing who is doing what, and keeping an easily accessible object history
     
    accessible object
     
  4. Simplifies and combines the development and version control process into a single process
  5. Allows DBA to rely on automation based on 3-way deploy
Yehuda also told us that DBmaestro reduces the time required to generate and test the database delta script thereby improving the quality of overall deployment packages, by dealing with object dependencies, inter-schema dependencies, and automatically embedding use-scripts to enable dealing with application-specific logic that cannot be automatically created.
 
DBmaestro
 

6. How does DBmaestro TeamWork reduce deployment costs by 95% compared with manual processes?

 
By reducing the man-hours required to generate, test, and update the database delta scripts. DBmaestro TeamWork generates the database scripts by a click of a button without any syntax errors and database dependencies errors. DBmaestro TeamWork automatically includes customized user-scripts within the delta script to handle any specific business logic, for example: when changing a NULL column to NOT NULL or when creating a new unique index. It creates roll-back scripts, and most importantly, it knows and alerts us when something unexpected occurs, like a conflicting change in the target environment (so as not to override a hotfix to production, issued by another team), and so on.
 

7. Can DevOps be implemented in the .NET Framework-based applications?

 
Sure, there are many solutions to build .NET application, manage automated tests and deploy .NET binaries. Microsoft .NET is a stable environment and we see many organizations that develop in the .NET framework while the database is not necessarily Microsoft SQL Server.
 

8. What are the job opportunities available for developers who mastered DevOps?

 
DevOps in my belief is knowledge, concepts, and best practices. It gives an edge to every developer who practices DevOps over those who don't. It might not be something to do as a full-time job, but any developer with DevOps experience will find himself at the focal point in any organization striving to improve its processes and hence may position himself to "climb the ladder" quicker.
 

9. How do you see the potential of DevOps in 2014?

 
Talking to customers and analysts, we also learn that the majority of customers don't want to put all of their eggs in one basket; they want a key player and solution providers to work together and create solutions that can talk to each other.
 
I see DevOps in 2014 becoming much more popular and will spread into many additional tiers and technologies. Tools for DevOps will become more mature and we will see more integration among those tools, ranging from Chef for infrastructure automation, Perforce for source code version control, DBmaestro for the database, Bamboo / Jenkins / uDeploy / and so on for continuous integration, solutions for automated testing, and others for continuous delivery.