• Kyrilluk - Monday, March 20, 2017 2:33 AM

    I have tried to find out what is actually DevOps for some times now. Please can someone tell me what is DevOps in the context of a BI Developer or a DBA? I've seen many definition but they are so vague that everyone working in dev can claim to be working as in DevOps context. If you had a SQL DBA or BI dev coming for an interview and wanted to know if this person has worked using DevOps methodoly, which questions would you ask? What answers would you expect?

    DevOps is somewhat amorphous. There are a couple definitions I like:
    Donovan Brown - “DevOpsis the union of people, process, and products to enable continuous delivery ofvalue to our end users.â€
    Gene Kim - The basic principles of DevOps are the three ways: Systems Thinking, Amplify Feedback Loops, and Culture of Continuous Experimentation and Learning.

    What is DevOps for a DBA? Are you ensuring reliability and repeatability? Are there regular processes that depend on your knowledge to complete or can anyone run them? DevOps involves working closely with developers to help them produce consistent, reliable databases that they can use for development, helping them package up code, tracking versions, ensuring (as much as possible) an automated way to deploy code that works in your environment. We maximize value streams by ensuring the flow of code is efficient. This often means releasing code more often, that is of a higher quality than in the past.

    For a BI Developer? You work with operations to ensure your dev/test systems are provisioned and consistent with production configurations. You package code so that changes are easily deployed, meeting the needs of Operations to reduce the risk. You include automated testing that checks your code to ensure it meets the requirements of your customers.

    It's tough. DevOps isn't prescriptive. There aren't specific things you do. It's about ensuring that you are always looking for improvement and building a better system, regardless of whether you use Agile, Scrum, Lean, ITIL, or some other methodology to build and deploy software.