Hello, Front-End as a Service

Kirill Klimenko
4 min readJan 30, 2021

How did we meet?

About a year ago I started thinking about my next career step. At that moment I was a Senior Software Dev with the most focus on FE(primarily — JavaScript, React.js). I get a lot of experience working in various teams, get experience mentoring and teaching others, so I decided it is a nice time to search for something Tech/Team Leading-related.

That time I found an interesting vacancy at a Front-End-as-a-Service vendor company. I never heard about such a term before that, and my first thoughts were like “Ok, guys either developing Front-Ends specifically for customers, either they provide some ‘framework’ to do that simpler/faster/whatever else might be interesting.”

I scheduled a call with the Solution Architect from that company (my current colleague, actually) to discuss this opportunity. And I was really impressed during that interview.

The Pain (for FE engineers)

Are you a Front-End engineer? If no — imagine you are. Any Front-End engineer, who’s working on Enterprise-level projects and started a bunch of projects from scratch will face such challenges:

  • Setup the bundling (Webpack/Gulp/Grunt)
  • Configure “framework-box” (like typescript + react + redux + saga + react-router + “make them to be friends”)
  • Optimize assets(JS bundle, CSS, images, CDN, chunk big files, and so on)

And some optional topics, like

  • i18n
  • PWA setup/configuration
  • CI/CD
  • Application / Website Hoisting (Deployment)
  • Build template components for pages

And for each project you start — that will be just the same. But surely, you can’t bring the existing “box” from the previous project, because there would be some legacy fixes of some library connectors, which weren’t replaced when the fix was rolled out. So you have to configure that again and again.

Again new project

The Idea

So, how to solve that? There’re plenty of tools and libraries, that trying to solve some of those problems, or all together. And Front-End-as-a-Service — one of that tool.

By the definition from the company, who developing one of such solutions

The Frontend Service is the service responsible for displaying the right content on the different target devices and systems (Smartphone, Desktop-Browser, Display at the Point-of-Sales, Wearable like Smartwatch, …) quickly and optimally for the respective display.

The content can come from different source systems: a classic from a Content Management System (CMS), from an eCommerce solution, but also from sources such as Enterprise Resource Planning (ERP) systems or CRMs (Customer Relationship Management) as well as many more (see table “Everything as a Service”) are possible.

In the Frontend-as-a-Service, these sources are combined into Atomic design building blocks. These building blocks can come from different source systems, for example, a specific article from eCommerce and a supplementary text from the CMS. In a partner portal, for example, it could be certain information about the partner and his leads from the CRM and additional information, for example, about the partner’s sales, from the ERP system.

Source

Shortly, FaaS — is the service, which solves all those problems mentioned for you (and depending on the vendor — could solve much more of them, and not only tech problems, but business problems as well).

FaaS is the part of the Headless approach, where you select a bunch of “best-of-breed” vendors/products and combine them into a single system. This approach gives you the opportunity to combine the quality of various micro-products, who are focusing on solving a single problem better than anyone else. That leads to the best possible architecture, because each part of the system is fault-tolerant, and you put the responsibility to support that on other companies (which gets some 💵 for that, obviously).

After that, everything that the customer-company needs in that situation — is to build connectors between various parts of the system.

Conclusion

So, FaaS(in the definition from this article) is the young type of service. It is not that famous as BaaS/PaaS and other “as-a-Service” types of products. But definitely, it brings a lot of benefits for developers and businesses.

Just from this article, you can clearly see such benefits for business out of general FaaS and Headless approach:

  • Speed up Time-to-market
  • Reduce financial costs
  • Reduce required Seniority of your own tech department
  • Reduce risks (or “hedging” them to service company)

At the moment — FaaS gets the most popularity in the eCommerce space. This definitely makes sense, when your business built around differentiating by products(content) you sell. You need to be fast, agile and have the ability to put as much minimized effort on the tech side of your business, as possible. But I’m quite sure, that in 3–5 years, FaaS will be much more than just part of the eCommerce world.

--

--

Kirill Klimenko

Solutions Architect | Senior Software Engineer with Front-End focus. Currently — SA @Frontastic.