Google’s tips on strengthening your organization’s DevOps
Code lies at the heart of every digital platform; we rely on it to execute everything from simple commands to complex, multi-step functions. One critical thing to maintain clean, well-organized development projects and processes is development operations, known as DevOps. Good DevOps governance ensures updates, corrections, and innovations can be released without disrupting the user experience. But achieving that state can be a lot more challenging than it sounds.
At Dreamforce, the NuAge Experts team attended a session on DevOps governance delivered by Google software engineers. We’ll define some of the typical DevOps challenges organizations face and then share some of Google’s strategies for success.
Top DevOps Challenges
- Source representation is incomplete. When you have multiple sandboxes (or even just one active sandbox), it’s hard to ensure they stay completely in sync with the production environment. Refreshing a sandbox is typically a tedious and disruptive task, leading to low refresh rates. Inconsistent refreshes mean sandboxes stay stale longer than they should and make it difficult for teams to have consistent, predictable rollouts and deployments.
- No rollback mechanisms. If there’s an error during a rollout, it’s critical to be able to roll back the changes to the previous good state, but many organizations lack any standard rollback mechanisms. Disaster recovery can be expensive and challenging (from large-scale integration and implementation issues to small-scale code or layout overrides) so designing adequate version controls and support is essential.
Google’s DevOps Strategies for Success
- Establish one source of truth. The QA environment should align with production as closely as possible. This alignment helps catch errors during QA testing rather than after a rollout. Organizations should designate a sandbox specifically for Quality Assurance and staging and another sandbox for development.
- Use feature flags. Feature flags are custom permissions that allow users to truncate and roll out releases without impacting other work streams or users. These tiered permissions help keep your development agile and flexible.
- Employ peer review. Using peer review checks will standardize code review, help catch errors, and improve documentation to streamline your overall development, from coding to production. It’s also a good idea to keep all comments and issues in one place for historical checks.
- Use dynamic deployment. By using a dynamic deployment tool, the code can pull custom-labeled values from a build XML file which speeds up production by eliminating the need for hard code.
These strategies can help organizations of any size establish a solid DevOps governance foundation that can scale as they grow. With these simple improvements and checks, businesses can support their cloud platform’s long-term health and integrity.
If you’re looking for guidance and support in strengthening your DevOps, get in touch with our team of experts.