Cloud, DevOps, Data Solutions, and FrontEnd – 2021 in review at Future Processing
Year’s end is a perfect moment for wrapping up the past months, so here’s our Tech Summary 2021. This year’s technology review at Future Processing is based on the insightful discussions of our community of experts on the in-company Yammer. After nearly four weeks of debate concerning four key areas – Cloud, DevOps, Data Solutions, and Front-End – it’s time to take a closer look at the data and draw conclusions.
Without doubt, cloud solutions are becoming increasingly popular. The cloud is growing strong and this trend isn’t likely to retreat. Future Processing engineers have been expanding their cloud computing experience for years now. In fact, nowadays, this is the default way of implementing new projects. This is caused by a number of factors, including the access to state-of-the-art, advanced tools, as well as clients’ preferences, as they are often open to using cloud providers’ services. Speaking of cloud providers, the leading brands are definitely AWS and Azure:
Chosen cloud providers
There are countless subjects related to cloud solutions and it’s simply impossible to present them all thoroughly in one go. That’s why we’re focusing on selected aspects of cloud computing here.
The cloud’s cost
This seems to be the hottest topic in the cloud world. Cloud solutions are not the cheapest option available. Actually, if inappropriately configured, they may turn out to be more expensive than traditional on-prem solutions. Make sure you remember the following if you want to achieve the best results at the lowest cost:
- Budget and alert configuration is a must-have.
- Long-term processes can be frozen forever, generating additional expenses, so they’d better be monitored.
- Scaling and disabling development environments – if development or test environments generate considerable costs, it’s a good idea to disable them outside working hours.
- Rates based on actual consumption (i.e. consumption plans) give room for huge savings for growing businesses.
This model of cloud services is consistently growing in popularity. However, it isn’t common knowledge that the opportunities it offers are connected with certain limitations. What are the conclusions made by our engineers?
- This model makes it possible to limit the costs significantly in the case of low consumption.
- Low entry threshold.
- A very good tool for building reactive systems.
- Typical problems: cold start and loopbacks.
This issue is often marginalised in the context of cloud services. It must be kept in mind, though, that a system that cannot handle user traffic isn’t really functional and as a result, it doesn’t make money. As far as High Availability is concerned, remember about the following:
- Blue-Green deployment in the crucial components – possible issues are related to database and message schema migrations.
- Retry Policy in components is a good and cost-effective practice.
- Chaos Engineering / Design for Failure are techniques that are worth applying in large systems.
Front-end has been in the centre of interest during Future Processing tech summaries for a long time. This has been the case this year as well. In our organisation, we understand the growing importance of community, support, and ecosystem when it comes to framework selection. This is in line with the latest industry trends, in which products supported by the biggest players take over most of the market. These frameworks dominate projects:
Used front-end frameworks
What conclusions concerning front-end can be made based on the Yammer discussion?
- Personal experience and preferences are key factors when choosing a framework.
- From the business perspective, React and Angular guarantee access to the largest group of developers and long-term support.
- TypeScript is the first-choice language.
- Even if JS/TS are used, patterns derived from functional programming should be used.
- The use of WebAssembly is an alternative to JS and its derivatives – Blazor offers a relatively low entry threshold for C# programmers.
At Future Processing, there is a Data Solutions line of business, which works with data in the areas of Business Solutions, Big Data, and Data Science. In our review of this field, we decided to concentrate on the technologies that are known to a larger group of Future Processing’s developers, not only Data Solutions specialists.
The choice of a database for a given problem
- If developers are free to choose, they usually employ these criteria:
– the tool and problem match,
– the monthly cost,
– their knowledge of the tool (pragmatic approach).
- Relational databases are the best-known type for programmers: to choose other types, they need to make sure the other option meets certain requirements (which actually makes sense).
- In real-life projects, database engines are seldom exchanged for others.
- Data amount and distribution are key factors in terms of analysing and making business decisions:
– if a dataset is too small, the analysis results may be distorted,
– machine learning doesn’t work well with small datasets.
- Data is more important than algorithms. Even the best models are unable to bring value if they are not powered by data.
- Cloud solutions are getting more and more popular in terms of data collection and analysis.
One of the strategic objectives at Future Processing is responsibility for both coding as such and the entire process of software development. That’s why we decided to discuss DevOps technologies to have a closer look at the solutions that are mostly used in the projects.
The use of CI/CD
Pipelines have been with us for some time now and their complexity is constantly growing. At Future Processing, it is a basic standard to use process automation at least at the level of Continuous Integration. This is what it looks like according to Future Processing specialists:
CI/CD tools (%)
Implementation automation level
The use of Infrastructure as Code in our projects
A full use of IaC is a situation where cloud solutions, operational systems, and implementation procedures are all configured with code.
The use of IaC
- The most popular tools are native cloud solutions: Cloud Formation, Azure Resource Manager (Bicep is particularly worth exploring).
TO SUM UP
Thanks to the modified formula of Future Processing Tech Radar, were able to focus on the areas which our organisation finds most important and to provide insights based directly on the software design experience of Future Processing employees. By narrowing the scope of analysis this way, we came at interesting conclusions. We will surely continue the tech review next year.
Great thanks to everyone involved for joining us and helping in the event promotion!