Project Mosaic illustration

Project Mosaic | Microservices for the Frontend

Mosaic is a set of services, libraries together with a specification that defines how its components interact with each other, to support a microservice style architecture for large scale websites. While decomposing the backend into microservices is a widely adopted approach to achieve flexibility in development and operation, most frontend solutions are still running as a monolithic application. Mosaic addresses this issue by using Fragments that are served by separate services and are composed together at runtime according to template definitions. As a result, Fragments can be iterated on very rapidly, be more flexible in technology choices, and can better benefit from the extreme development pace of today's frontend technologies.



Tailor is a layout service that brings microservices to the frontend by composing a website out of various Fragments (such as Header, Product, and Footer). Tailor achieves impressive Time to First Byte, as it asynchronously fetches multiple fragments, assembles their response streams, and outputs the final response. Tailor is partially inspired by Facebook’s BigPipe.


Skipper is an extendable HTTP router for service composition. It's built on top a reverse proxy with the ability to select routes based on predicates, and to modify requests and responses with filters. It can be useful for all teams who are trying to deploy a microservices architecture and want (or need) to decouple routing from service logic.


Shaker is a library and living showcase for UI components. It is used inside Zalando to provide a consistent user experience while developing Fragments in distributed and autonomous teams.


Quilt is the template storage used by Tailor. It integrates with Zalando's team structure and provides a REST API that allows multiple development teams to manage their templates.


Innkeeper is a RESTful API that stores routes, so that they can be fetched by Skipper. Innkeeper can export the routes in the eskip format. As routes are divided by paths, it allows multiple teams to manage their individual paths. It is developed in Scala.


Tessellate is a server-side React renderer that creates static HTML and a complementary component tree from abstract JSON definitions. It comprises several micro services built on top of the Mosaic architecture.

Architecture Overview


The Recipe For Scalable Frontends (Zalando)

Conference talk by Maximilian Fellner and Dan Persa

code.talks 2017

Talking Tech Podcast about Mosaic [GER]

Interview about microservices in the frontend and how to get there with mosaic (in german language).

Talking Tech Podcast

The frontend taboo: a story of full stack microservices

Video talk by Moritz Grauel in September 2016

Voxxed Days Belgrade


Talk by Luis Mineiro and Moritz Grauel in November 2016

GOTO Berlin

Open Source And The Mosaic Project

Video talk by Lauri Apple and Dan Persa in July 2016

Virtual Microservices Summit

The frontend taboo - a story of full stack microservices

Presentation slides by Luis Mineiro in June 2016


Better streaming layouts for front-end microservices with Tailor

Blogpost by Andrey Kuzmin and Vignesh Shanmugam in May 2016


Frontend in the Microservices World

Presentation slides by Dmitriy Kubyshkin in March 2016

Zalando Frontend Meetup

Building a Reactive RESTful API with Akka HTTP and Slick

Video talk by Dan Persa in February 2016

Microservices Meetup Munich

From Monolith to Microservices

Video talk by Rodrigue Schaefer in February 2016

microXchg 2016

Building Our Own Open-Source HTTP Routing Solution

Blogpost by Arpad Ryszka in December 2015

Zalando Tech Blog, HTTP Traffic Shaping

From Jimmy to Microservices: Rebuilding Zalando’s Fashion Store

Blogpost by Dan Persa in October 2015

Zalando Tech Blog