Pages

Technology Radar — October 2020 review — Part 2

Technology Radar — October 2020 review — Part 2

Technology Radar — October 2020 review — Part 2

A review of the recent Technology Radar October 2020 update — I review at least three items from Platforms and Languages & Frameworks this…

A review of the recent Technology Radar October 2020 update — I review at least three items from Platforms and Languages & Frameworks this part

Yes! Vol. 23 is out now and this is my review. The Tech radar provides the Software Engineering community, a very good glimpse of what technologies, techniques, patterns, tools, languages, frameworks are recommended for Adopt, Trial, Assess and Hold in four quadrants.

If you haven’t read part 1 of this review, you may want to read here

You can also create your own radar, here

These are, however, only guidelines as they stand, based on the research performed by ThoughtWorks. Needless to say, these recommendations doesn’t suit every organisation depending upon your needs. What tyou are encouraged to do though, is to create your own Technology Radar; see thoughtworks.com for more details.
Photo by Sangga Rima Roman Selia on Unsplash

This article gives you my perspective of the techniques that I identify as ready to be adopted and fit into the current architectural/system design needs of many organisations; no matter the size/team, how disruptive or what you are building. You can also subscribe to the radar so that you won’t miss the radar as it is published.

Check out the interesting themes for this edition; new normal REST APIs with GraphQL, IaaC and low-code, if you are into that type of thing.

The Radar is a document that sets out the changes that we think are currently interesting in software development — things in motion that we think you should pay attention to and consider using in your projects. It reflects the idiosyncratic opinion of a bunch of senior technologists and is based on our day-to-day work and experiences. While we think this is interesting, it shouldn’t be taken as a deep market analysis.

Birth of Technology Radar

As a supplement, if you want to know about the history of Technology Radar, this will help.

Photo by Josh Withers on Unsplash

Platforms

Interactive radar: https://www.thoughtworks.com/radar/platforms

TRIAL: Azure DevOps

Azure DevOps provides developer services for support teams to plan work, collaborate on code development, and build and deploy applications. Developers can work in the cloud using Azure DevOps Services or on-premises using Azure DevOps Server.

Azure DevOps provides integrated features that you can access through your web browser or IDE client. You can use one or more of the following services based on your business needs:

  • Azure Repos provides Git repositories or Team Foundation Version Control (TFVC) for source control of your code
  • Azure Pipelines provides build and release services to support continuous integration and delivery of your apps
  • Azure Boards delivers a suite of Agile tools to support planning and tracking work, code defects, and issues using Kanban and Scrum methods
  • Azure Test Plans provides several tools to test your apps, including manual/exploratory testing and continuous testing
  • Azure Artifacts allows teams to share packages such as Maven, npm, NuGet and more from public and private sources and integrate package sharing into your CI/CD pipelines

Take a look at Azure Pipelines and see how it can help you:

In today’s FASTER go to the market era in a feature-driven market, it is important to continuously deliver value and receive feedback on features quickly and continuously.

If you have the questions similar to the following, then explore the following documentation:

  • How can you toggle features to hide, disable, or enable features at run-time?
  • How can you revert a change deployed to production without rolling back your release?
  • How can you present users with variants of a feature, to determine which one performs better?
Photo by Jéan Béller on Unsplash
TRIAL: JupyterLab (promoted from Assess)

Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Its uses include data cleaning and transformation, numerical simulation, statistical modelling, machine learning and much more.

The lab is an evolution of Jupyter Notebook, which makes it a next-generation web-based user interface for Project Jupyter.

JupyterLab enables you to work with documents and activities such as Jupyter notebooks, text editors, terminals, and custom components in a flexible, integrated, and extensible manner.

Here is less than 7 minutes video on How to use Jupyter Lab, give a try:

How to use JupyterLab

JupyterLab will eventually replace the classic Jupyter Notebook. Throughout this transition, the same notebook document format will be supported by both the classic Notebook and JupyterLab.

Photo by Ousa Chea on Unsplash
ASSESS: K3s

K3s is a lightweight Kubernetes distribution built for IoT and edge computing. It’s packaged as a single binary and has minimal to no OS dependencies, making it really easy to operate and use. It uses sqlite3 as the default storage backend instead of etcd. It has a reduced memory footprint because it runs all relevant components in a single process. It also achieves a smaller binary by stripping out third-party storage drivers and cloud providers that are not relevant for the K3s use cases. For environments with constrained resources, K3s is a pretty good choice and worth considering.

Photo by Daan Stevens on Unsplash

Languages & Frameworks

Interactive radar: https://www.thoughtworks.com/radar/languages-and-frameworks

TRIAL: Rust

The Rust programming language continues to grow in popularity and has been voted Stack Overflow’s “most loved” language by developers five years in a row. It’s a fast, safe and expressive language that is increasing in utility as its ecosystem grows. For example, Rust is starting to be used for data science and machine learning and can give a significant performance boost. Also, Materialize is a streaming-oriented, low-latency database written in Rust.

Once you’ve learned Rust, you can try out in the… well, playground:

Rust continues to make inroads as a language used for production with roughly 40% of respondents that work in software noting that they use Rust at their day job. Additionally, the future of Rust on the job is bright with nearly half of those who knew saying that their employer planned to hire Rust developers in the next year.

Photo by Anne Nygård on Unsplash
ASSESS: Blazor

Although JavaScript and its ecosystem are dominant in the web UI development space, new opportunities are opening up with the emergence of WebAssembly. We see Blazor as an interesting option for building interactive web UIs using C#. I especially like this open-source framework because it allows running C# code in the browser on top of WebAssembly, leveraging the .NET Standard runtime and ecosystem as well as custom libraries developed in this programming language. Additionally, it can interoperate bidirectionally with JavaScript code in the browser if needed.

Check out the docs here:

Blazor is becoming a single UI framework for any .NET application; with so many choices new developers to the platform have to face, Blazor could offer clarity when it comes to UI, a single programming model, learnt once and applied anywhere
Photo by Dark Rider on Unsplash
ASSESS: Recoil

A state management library for React. Thoughtworks moved Redux back to Trial as they no longer consider it the default approach for state management in React apps. See more here: https://www.thoughtworks.com/radar/languages-and-frameworks?blipid=95

More and more teams using React are reevaluating their options for state management, something Thoughtworks also mention in their reassessment of Redux. Now, Facebook — the creators of React — have published Recoil, a new framework for managing state, which came out of an internal application that had to deal with large amounts of data. Even though currently do not have much practical experience with Recoil, one can see its potential and promise. The API is simple and easy to learn; it feels like idiomatic React. Unlike other approaches, Recoil provides an efficient and flexible way to have state shared across an application: it supports dynamically created state by derived data and queries as well as app-wide state observation without impairing code splitting.

Recoil lets you create a data-flow graph that flows from atoms (shared state) through selectors (pure functions) and down into your React components. Atoms are units of state that components can subscribe to. Selectors transform this state either synchronously or asynchronously.

Photo by Ra Dragon on Unsplash

Create Your Radar

You can create your own technology radar and see where the blips are compared to the ones published by Thoughtworks. You need to understand the differentiator and what makes sense for you and why. There is also constant review needed in order adjust your radar when there is a need for a new framework or techniques that your team want to adopt and they have a credible reason/business case for it. Also, be mindful that you’d also need to create some artefacts including a lightweight Proof of concept to ensure that you are not leaving it too far to figure out any major constraints with the items from our Radar and perform a durable Market scan(s).

Have you created and used your own Technology Radar for your project/organisation? It’d be great to hear your feedback and experience (comments welcome)!

Help us to maintain the MyLifeInDev running:

 
---------------------------------------------------------------

Advertising


NordVPN 1-Month Subscription





Kaspersky? Antivirus 1 Year 1 Device

Karthick

No comments:

Post a Comment