Sian Thompson, DevOps Engineer at Tech Amigos, picks the tools she uses every day and couldn’t do her job without
1 Clear cloud design Fundamentally, upfront cloud design provides me with a clear idea of the cloud resources that I need to provision and automate. This also helps set boundaries for accommodating tasks to fulfil functional requirements, be that for establishing cloud-hosted microservices or approaching cloud migrations. We also like to bring an agile and DevOps mind-set to set up cloud infrastructure and evolve cloud design as functional needs arise. Having a clear cloud design gives me a baseline for all my work, including assessing non-functional considerations in the route-to-live strategy. It also helps me to deliver cloud resources that are fast, cost effective and can scale on-demand.
2 Smarter communication We champion an agile philosophy in the way we work and provide thought leadership for clients in implementing best practices. I practice what we preach. Daily stand-ups with internal and client teams are important for me to keep everyone in the know concerning tasks and broader goals.
With the pandemic, we are working remotely more than ever before and instant messaging has been key for getting quick feedback, as well making swift decisions whilst continually keeping the ball rolling with projects. Communicating via collaborative and comprehensive wiki pages helps me share knowledge with my team, support the onboarding of new members and create a collaborative culture.
3 Right tooling We have a DevOps toolbox that spans several different technologies and supports many cloud architectural challenges. I regularly use an infrastructure as code tool (Terraform) to provision underlying architecture for cloud solutions. The framework that Tech Amigos has created allows me to deploy resources to different environments consistently and at speed. Day-to-day client software projects for microservices continuously evolve and I help establish the right tool for the job.
I also use continuous integration tools such as Jenkins and Gitlab, which help organisations shift left on testing and verification to avoid the wrong end of the dreaded cost-of-change curve, while providing developers quick and relevant feedback to aid productivity.
Alongside this, we have been utilising Harness to quickly get organisations up and running with enterprise-grade continuous deployment, helping me deliver decreased lead times into organisations. Communication tools like Slack, also help me send automated notifications to developers, improving the feedback loop and getting feedback for continuous improvement.
4 Tested reusable patterns Over time, we have been evolving model pipelines and processes to support DevOps and data pipelines. These have become blueprints, where I can easily roll out tried and tested solutions for clients. This helps me create repeatable workflows over bespoke solutions. The process that we have put in place helps me continuously contribute to these patterns, so future projects can benefit from them.
5 Well-defined standards My job involves delivering consistent and standard cloud set up, and adhering to standards is a crucial part of what I do. I always refer to baseline standards that we have built up over a period of time. I also refer to well-established industry standards such as AWS Well-Architected principles, widely accepted coding and testing guidelines. These standards allow me to deliver high-quality solutions, by forcing me to make a lot of design considerations upfront like non-functional aspects and security, which is at the heart of solutions I deliver for clients.