Everyone wants to run leaner, meaner software shops. We want to balance the competing priorities of rapid releases and stable systems. We want to incorporate feedback from our customers and our systems. We want to reduce friction between groups, and create more attractive places to work. The approach known as "DevOps" is helping teams achieve these very things. Atlassian's journey is only just beginning. We created the DevOps Dojo as a space to share what we are learning, and learn from others. We invite all who embrace the collaborative spirit to slip off their shoes and step inside.
- Automate Testing - Unlike manual tests, automated tests are executed faithfully and with the same rigor every time. They also yield reports and trend graphs that help identify risky areas.
- Automate Deploys - Automated deploys is a big efficiency win in the long term–especially if the power to trigger deploys is shared. Give developers and QA permissions to send new builds to their own environments. Product owners, designers, and sales staff should have push-button deploy access for UAT and demo environments. Or let machines do all the work by incorporating deploys into your continuous integration pipeline where appropriate.
- Automate feedback - There are two types of monitoring that should be automated: server monitoring, and application performance monitoring. Manually "topping" a box or hitting your API with a test is fine for spot-checking. But to understand trends and the overall health of your application (and environments!), you need software that is constantly listening and recording data.
- Automate Provisioning - When institutional knowledge is, well, codified in code, the need for run books and internal documentation fades. What emerges are repeatable processes, and reliable systems. Less talk, more rock.