June 20, 2018
In today’s digital world, there is no shortage of programs and products that can be used to develop excellent online solutions. The question is rather which tools to choose, and keeping track of current trends can be very time-consuming. NoA Ignite’ technology radar is a shortcut through the technology product jungle. It is a visual overview of products, platforms and frameworks that we recommend to our customers. The technology radar is kept up to date thanks to the curious minds in our technology team, who are constantly exploring and evaluating new products on the market.
What happens to the various products, frameworks and tools we research or try out in our projects? Some technologies become part of our core stack, others vanish.
See another post about why we publish our Technology Radar.
Following questions from and discussions with both clients and our own staff, we have been thinking about the best way to communicate the broad spectrum of our utilized technologies and methods.
The result is what we call the Technology Radar.
The Technology Radar is a list of technologies on our radar – currently used, tested or under research. The list has four major categories:
This category includes all third party licensed software products and components that constitute major building blocks in our projects’ architecture. For example: content or document management systems, databases and message brokers
Platform is the pre-existing environment that a piece of software is designed to run on while obeying its constraints, such as Windows, Android, or Azure
This section groups reusable software programs or libraries that provide particular functionality as part of a larger software platform such as ASP MVC or AngularJS
The last group is meant for various tools that help improve productivity or software development quality and constitute best practices of software craftsmanship.
All technologies that we look at are categorised in one of the following stages:
In addition, technologies we consider particularly interesting at the moment are marked as Hot topics for potential future use and hence are labeled as red dots.
This category has been fairly stable last years with Episerver CMS keeping it’s dominant position. However, we have observed that new contenders in CMS, eCommerce and enterprise search are gaining momentum.
Enterprise grade content management system that supports automation, personalization, and A/B testing. It is integrated with Episerver Commerce, and can be hosted in public cloud, on premise, or with Episerver DXC (Digital Experience Cloud). It is often the best choice for enterprises with high CMS requirements. Fits well in scenarios with medium sized, cost-effective websites.
This is an open source content management system, that has commercial support plans available. It is well integrated with uCommerce, and also enables building customizable forms with Umbraco Forms. It can be hosted on premise, in public cloud or in Umbraco cloud.
The concept behind this technology has changed how we view content. In the content-as-a-service (CaaS) approach, users can manage content in one place, and have it shared across different applications, often utilizing the cloud. Contentful is a good alternative to traditional CMS-centric solutions.
Elasticsearch/Logstash/Kibana (ELK) is an open source technology stack for search, data processing and data insight. It provides a robust and scalable set of technologies that can act as an architectural cache component and a search engine, as well as a tool for business insight. Elasticsearch is used to create personalized enterprise and site search experiences. It is the core search engine for EPiServer Find and EPiServer Commerce.
With more data being produced and collected in our applications we see increasing demand for online analytics and reporting. Microsoft Power BI provides a powerful suite of business analytics tools for data visualization, which can be used by business users, analysts and IT professionals. Hosted in Azure Cloud, Power BI is integrated with Microsoft toolsets like Excel and SQL. Additionally, visualizations can be embedded in tailor-made applications. Good alternatives for Microsoft Power BI are also Tableau and Qlik.
Big data challenges requires dedicated tools for processing. Hadoop is an open-source software for storing and analyzing massive amounts of structured and unstructured data. It is often used in scenarios with machine learning. Microsoft Azure cloud offers it as part of the HDInsight suite.
In the Platform category we observe dynamic growth in areas of the cloud, artificial intelligence solutions and mobile development. This is not surprising and it is not a new trend in the digital world. However we see a shift from simply using them as buzzwords to concrete business problems that platforms can solve. The question of whether a solution should be mobile-friendly is no longer relevant; the question is rather how to do it efficiently and which platforms to support – Android, IOS, Windows, others? Similarly, it is no longer a question of whether the cloud is the right approach, but rather how to approach it in a smart, manageable, and scalable way. And finally, no one is asking whether what artificial intelligence is but what to do and how to monetize it.
It is a public cloud computing service created by Microsoft. Azure, alongside Amazon Web Services and Google Cloud Computing, covers the majority of the public cloud market and provides software as a service (SaaS), platform as a service, and infrastructure as a service, in flexible pay-as-you go model. Recently launched Azure Germany meets strict European Union (EU) requirements by storing all data in Germany and controlling systems by a German data trustee.
Provided ephemeral computing power that comes into existence on request and disappears immediately after use. It’s an alternative to long-running virtual machines and removes the nontrivial effort that traditionally goes into server and OS configuration and orchestration. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. Serverless architecture is supported by major cloud providers like Azure Functions, AWS Lambda and Google Cloud Function
Cognitive Services which provides artificial intelligence (AI) as a service (SaaS model), is a set of tools for developers who can insert AI functions directly into custom applications. It supports image processing, face and object recognition, emotion detection, and natural language processing, with sentiment analysis and speech recognition. This toolset creates a lot of possibilities like building application that can recognize your face, guess your mood and play your favorite music when you tell it to do so – with voice commands obviously.
Azure Bot Service implements concepts of Conversational AI making human and computer interactions more natural. It enables developers to create conversational interfaces on multiple channels. Out of the box it supports integration with custom and existing applications, including Skype, Slack or Facebook Messenger
Angular is a complete web application platform used to build well-structured Single Page Applications (SPA). It enables users to build fast interfaces via Web Workers and server-side rendering. Development of Angular I led by the Angular Team at Google and by a community of individuals and corporations. Angular (also known as Angular 2+) is a major upgrade to AngularJS 1.x. Because this upgrade was so major from the previous version, it has required extra effort and knowledge to update applications, in order to support the new platform.
We have observed that increasing usage of mobile devices results in even more focus put on proper presentation of content on websites. Having the same content with different layout (i.e. Responsive Web Design) is not enough – instead Adaptive Content approach is taken. Multitude of devices means also many cases to tests. Cross-platform testing is the area where tools like Browser Stack help by helping front-end developers understand how a page is rendered on specific devices. From an infrastructure perspective, Docker in conjunction with Kubernetes is supported by major cloud providers, which made has this combination the de-facto standard for containerization of application.
This concept is based on the principle of providing meaningful and personalized interactions across all channels. In the Adaptive approach, design adapts not only by responding automatically to screen size and orientation of device, but also by displaying relevant content
Cross platform testing is performed to determine the behavior of an application or a website in different environments. It helps in identifying issues that may vary with platforms or configurations such as consistency, user interface, usability, and performance issues. In Making Waves we also use Open Device Lab that facilitates testing on physical devices. For other scenarios where automation is possible we leverage tools like Browser Stack, Litmus or Xamarin Test Cloud.
Docker and Kubernetes used together make it easier to achieve parity between development and production, which makes for reliable deployments and is a natural fit in a microservices-style application as a packaging mechanism for self-contained services. Recently Docker has become the container orchestration platform of choice for major public cloud platforms, including Microsoft’s Azure Container Service and Google Cloud.