Thoughtworks Technology Radar 19 — Cloud, Chaos, and Cross-Platform
Zone Leader Chris Ward discusses Thoughtworks technology trends and predictions.
Join the DZone community and get the full member experience.Join For Free
I always look forward to the latest installment of Thoughtworks' Technology Radar. Every quarter I wait to see if the trends I've been following match their predictions or suggestions on what I should look into over the coming months. Typically there's a launch meetup in Berlin where attendees discuss the contents over drinks, which is another excellent way to feel the pulse of a fast-moving industry.
Here are my highlights and thoughts, split into the four sections that Thoughtworks splits each radar.
Mixed in with techniques that would be familiar to all DZone readers were a couple unfamiliar to me. First was Event Storming, which fits with the domain-driven design techniques that Thoughtworks is a proponent of. You can think of it like traditional "brainstorming," except that the focus in on building domain events to represent business processes.
Taking the "X as code" concept further is "Observability as code." The techniques encourage prioritizing monitoring tools that support keeping configuration in version control. Although it's worth noting that after some searching, opinion is split on "observability" as a technique.
The radar introduced a new term to what, in my opinion, was a well-established technique. "Secrets as a service" incorporates tools such as HashiCorp Vault, git-secrets to store essential, but sensitive application information separately from your code base. I'm uncertain where the "service" part comes into things, but with GitHub announcing auto-scanning repositories for sensitive information, the technique is now a firm practice.
"Chaos Engineering" had a couple of mentions in the radar, but more surprising to me was how the technique has already developed sub-techniques including "Security Chaos Engineering" and "Chaos Katas."
In a continued effort to get Docker images as small as possible, Google took Alpine Linux further to create "Distroless Docker." Distroless strips out the operating system level entirely, creating an image that contains just an application and dependencies, encouraging you to use external containers (such as busybox) to fulfill any other needs your application might need.
Interestingly The Radar downgraded using AWS, not because it has decreased its offering, but because other major cloud platforms have improved. This includes Azure DevOps, which replaced Visual Studio Team Services to start offering well-integrated CI and CD pipelines to the Azure cloud platform.
I first heard of CockroachDB nearly 4 years ago, and it's amazing how long it can take for a project to be recommended for production usage.
Another storage option to consider is IPFS. Built on top of Blockchain, think of it like a kind of BitTorrent for your applications. With many applications using it, it's one Blockchain-based project already in production applications.
Depending on your ethical stance, private enterprise-ready Blockchains are either necessary or entirely pointless. Joining a growing collection on private Ethereum-based ledgers is Quorom from JP Morgan. It adds permissions, alternate consensus algorithms, and enhanced security.
One of my main issues with cloud applications is that you can't interact much with them when you are offline. Enter LocalStack from AWS that lets you develop and test (most) AWS services in local Docker containers.
I love writing just about everything in Markdown, and now Mermaid lets me draw diagrams in Markdown, too.
I previously tried Teletype for Atom that allows for real-time collaboration in your editor. VS Live Share does the same for Visual Studio Code. So next time you need to work on a quick change with someone, open up your editor, share your window, and off you go.
I recently wrote a post on tracing libraries, and since attended The OpenStack Summit (more to follow on that) where I heard a lot about Jaeger Tracing for troubleshooting distributed architectures. With an 'assess' listing in the radar, maybe it's time you took a look too.
Again not new, but Flutter (and Dart) is another example of a cross-platform language and framework that people are talking about more, and you are likely using applications built in it without realizing.
If you're a Kotlin fan, then the radar has a lot of recommendations for libraries and frameworks for you to make your programming experience even better.
Finally, for a glimpse of the potential future is Q# a language for programming quantum computers. Unless you have one hiding in your basement, you'll need to lease a machine via a cloud service, or use an emulator, but still, it's worth it for a try of something different.
Opinions expressed by DZone contributors are their own.