A review of the recent Technology Radar May 2020 update.
Technology Radar — May 2020 review — Part 2
A review of the recent Technology Radar May 2020 update — I review three to four items from Platforms and Languages & Frameworks this part
Yes! Vol. 22 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.
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 and you guessed it right, it is starting with the “remote” aspect — Zoom!
The Technology Radar is an opinionated guide to technology frontiers. Read the latest here.www.thoughtworks.com
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.
Platforms
Interactive radar: https://www.thoughtworks.com/radar/platforms
ADOPT: .NET Core
To put simply, .Net Core — an open-source, general-purpose development framework for building cross-platform apps — is the future of .Net; read it from Scott Hunter.
We introduced .NET Core 1.0 on November 2014. The goal with .NET Core was to take the learning from our experience…devblogs.microsoft.com
.NET Core’s characteristics include Cross-platform, Open Source, Modern, Performance, Consistent across environments and Flexible deployment.
Also, read about Microsoft done a lot of work to make .Net Core container friendly.
DockerCon 2019 is being held this week, in San Francisco. We posted a DockerCon 2018 update last year, and it is time…devblogs.microsoft.com
You can choose .NET Core when you have the following requirements for your apps:
Cross-platform
Microservices architecture
Containers
High-performance and scalable systems
Side by side .NET versions per application level
TRIAL: Firebase
Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.
With Firebase, you can build more powerful, secure and scalable apps, using the world-class infrastructure.
Now for the products that I most liked in Firebase: Realtime Database and Cloud Firestore.
Realtime Database is Firebase’s original database. It’s an efficient, low-latency solution for mobile apps that require synced states across clients in realtime. We recommend Cloud Firestore instead of Realtime Database for most developers starting a new project.
The Firebase Realtime Database is a cloud-hosted NoSQL database that lets you store and sync data between your users in…firebase.google.com
The Firebase Realtime Database lets you build rich, collaborative applications by allowing secure access to the database directly from client-side code. Data is persisted locally, and even while offline, realtime events continue to fire, giving the end-user a responsive experience. When the device regains connection, the Realtime Database synchronizes the local data changes with the remote updates that occurred while the client was offline, merging any conflicts automatically.
Store and sync data between users and devices — at a global scale — using a cloud-hosted, NoSQL database. Cloud Firestore gives you live synchronization and offline support along with efficient data queries. Its integration with other Firebase products enables you to build truly serverless apps.
Cloud Firestore is a NoSQL document database that lets you easily store, sync, and query data for your mobile and web…firebase.google.com
Cloud Firestore is a cloud-hosted, NoSQL database that your iOS, Android, and web apps can access directly via native SDKs. Cloud Firestore is also available in native Node.js, Java, Python, Unity, C++ and Go SDKs, in addition to REST and RPC APIs.
Thoughtworks highlight the Firebase App Distribution, which makes it easy to publish test versions of app via a CD pipeline, and Firebase Remote Config, which allows config changes to be dynamically pushed to apps without needing to republish them.
TRIAL: Snowflake
A Modern data platform offering big data storage, warehouse solution built for Cloud. Snowflake is an analytic data warehouse provided as Software-as-a-Service (SaaS). Snowflake provides a data warehouse that is faster, easier to use, and far more flexible than traditional data warehouse offerings.
Snowflake’s data warehouse is not built on an existing database or “big data” software platform such as Hadoop. The Snowflake data warehouse uses a new SQL database engine with a unique architecture designed for the cloud. To the user, Snowflake has many similarities to other enterprise data warehouses but also has additional functionality and unique capabilities.
Snowflake enables:
Modern Data warehouse
Augmented Data Lakes
Secure Data Exchange
App Development
Advanced Data Science
Integrated Data Engineering
Supported cloud platform includes AWS, Azure and GCP.
Snowflake has addressed all of the key limitations of traditional cloud and on-premises data warehouses and more recent…resources.snowflake.com
In the growing world of visual analytics, Tableau tops the list and here is a good of Tableau technology solution overview with Snowflake and followed by best practices.
Overall, it has pretty good documentation and while it has been engaged for medium-sized workloads, it is yet to be tried in large ecosystems where data need to be owned across segments of the organization; hence it is in TRIAL.
Businesses need to store and analyze data efficiently. Using Snowflake, organizations have the ability to scale their…www.tableau.com
ASSESS: JupyterLab
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.
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:
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.
Languages & Frameworks
Interactive radar: https://www.thoughtworks.com/radar/languages-and-frameworks
ADOPT: Vue.js
The Progressive JavaScript Framework for building user interfaces. Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries or existing projects. On the other hand, Vue is also perfectly capable of powering sophisticated Single-Page Applications when used in combination with modern tooling and supporting libraries. There are some awesome use cases and an entire website showcasing the projects built with Vue.js, so try it out.
Learn more here:
A curated list of the most important JavaScript frameworks for modern JavaScript developmenttowardsdatascience.com
Made with Vue.js
A collection of projects made with Vue.js — Websites, UI Components, Frameworks, Apps and more!madewithvuejs.com
TRIAL: PyTorch
An open-source machine learning framework that accelerates the path from research prototyping to production deployment. An alternative to Tensorflow and would be appropriate to perform any head to head comparison.
Other alternatives include Keras, MXNet, scikit-learn to name a few.
Learn about PyTorch's features and capabilitiespytorch.org
PyTorch is the Python successor of Torch library written in Lua and a big competitor for TensorFlow. It was developed by Facebook and is used by Twitter, Salesforce, the University of Oxford, and many others. PyTorch is mainly used to train deep learning models quickly and effectively,
It has some significant advantages:
- The modelling process is simple and transparent thanks to the framework’s architectural style;
- The default define-by-run mode is more like traditional programming, and you can use common debugging tools as pdb, ipdb or PyCharm debugger;
- It has declarative data parallelism;
- It features a lot of pre-trained models and modular parts that are ready and easy to combine;
- It supports distributed training.
- It is production-ready since version 1.0.
The first stable version, 1.0, transforms PyTorch into a mature and production-ready tool.
New features and improvements
It now supports model serving with three strategies:
- Direct embedding,
- Model microservices,
- Model servers,
- Official support for Tensorboard,
- Portable development improvements — JIT compiler tools and a C++ frontend.
Discussion on the topic of PyTorch v Tensorflow v MxNet in Kaggle
Questions, answers, and requests related to Kaggle Learn courses | Learnwww.kaggle.com
ASSESS: MediaPipe
Continuing our journey on ML framework … which you can use combined with Tensorflow.
Open-sourced by Google over a year go, MediaPipe is a graph-based framework and simplest way for researchers and developers to build world-class ML solutions and applications for mobile, edge, cloud and the web.
Better put, it is a framework for Perceiving and Processing Reality. Here is the research abstract:
March 09, 2020 - Posted by Ann Yuan and Andrey Vakunov, Software Engineers at Google Today we're excited to release two…blog.tensorflow.org
Demos to try in your browser
https://storage.googleapis.com/tfjs-models/demos/facemesh/index.html
https://storage.googleapis.com/tfjs-models/demos/handpose/index.html
Object detection is an extensively studied computer vision problem, but most of the research has focused on 2D object…ai.googleblog.com
Create Your Radar
You can create your own technology radar and see where the blips are compared to the ones published by Thoughtworks. It is important for you 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)!
No comments:
Post a Comment