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:
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:
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.
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.