Platforms Thoughtworks Technology Radar 23. Azure DevOps Trial As the Azure DevOps ecosystem keeps growing, our teams are using it more with success. These services contain a set of managed services, including hosted Git repos, build and deployment pipelines, automated testing tooling, backlog management tooling and artifact repository. We’ve seen our teams gaining experience in using this platform with good results, which means Azure DevOps is maturing. We particularly like its flexibility; it allows you to use the services you want even if they’re from different providers. For instance, you could use an external Git repository while still using the Azure DevOps pipeline services. Our teams are especially excited about Azure DevOps Pipelines. As the ecosystem matures, we’re seeing an uptick in onboarding teams that are already on the Azure stack as it easily integrates with the rest of the Microsoft world. 24. Azure Pipeline templates Trial Azure Pipeline templates allow you to remove duplication in your Azure Pipeline definition through two mechanisms. With “includes” templates, you can reference a template such that it will expand inline like a parameterized C++ macro, allowing a simple way of factoring out common configuration across stages, jobs and steps. With “extends” templates, you can define an outer shell with common pipeline configuration, and with the required template approval, you can fail the build if the pipeline doesn’t extend certain templates, preventing malicious attacks against the pipeline configuration itself. Along with CircleCI Orbs and the newer GitHub Actions Reusable Workflows, Azure Pipeline templates are part of the trend of creating modularity in pipeline design across multiple platforms, and several of our teams have been happy using them. 25. CircleCI Trial Many of our teams choose CircleCI for their continuous integration needs, and they appreciate its ability to run complex pipelines efficiently. The CircleCI developers continue to add new features with CircleCI, now in version 3.0. Orbs and executors were called out by our teams as being particularly useful. Orbs are reusable snippets of code that automate repeated processes, speed up project setup and make it easy to integrate with third-party tools. The wide variety of executor types provides flexibility to set up jobs in Docker, Linux, macOS or Windows VMs. 26. Couchbase Trial When we originally blipped Couchbase in 2013, it was seen primarily as a persistent cache that evolved from a merger of Membase and CouchDB. Since then, it has undergone steady improvement and an ecosystem of related tools and commercial offerings has grown up around it. Among the additions to the product suite are Couchbase Mobile and the Couchbase Sync Gateway. These features work together to keep persistent data on edge devices up-to-date even when the device is offline for periods of time due to intermittent connectivity. As these devices proliferate, we see increasing need for embedded persistence that continues to work whether or not the device happens to be connected. Recently, one of our teams evaluated Couchbase for its offline sync capability and found that this off-the-shelf capability saved them considerable effort that they otherwise would have had to invest themselves. © Thoughtworks, Inc. All Rights Reserved. 20
Vol 26 | Technology Radar Page 19 Page 21