Jump to content

Case study: YNAP unlocks infrastructure automation using GitOps

Recommended Posts

YOOX NET-A-PORTER GROUP (YNAP) is a unique ecosystem of 4 multi-brand online fashion stores (NET-A-PORTER, MR PORTER, YOOX and THE OUTNET), and numerous online flagship stores for leading fashion and luxury brands. With over 19 years of experience in global luxury e-commerce, YNAP serves more than 4.3 million customers in 180 countries around the world.

YNAP introduced the “omnistock” system, a large change to their current logistics and warehouse operations models that allowed them to make all of their inventory available globally. The engineering team grabbed the opportunity to reassess one of the delivery platforms known as Mr Porter. After Mr Porter was re-platformed, its new frontend architecture was designed for microservices to handle every aspect of the website.

However, after the initial implementation, teams faced multiple challenges including high infrastructure costs, large operational overhead and manual interventions for provisioning environments as well as long deployment times, all of which negatively impacted productivity.

“The real problem came within the following month when we were asked to build the production environment, and another six development environments. We went back to our delivery manager and said forget about feature development. We are now full time building environments. ” - Robin Glen, Principal Developer


Like many online retailers, YNAP is very focused on creating an impeccable experience for their customers. All internal teams that are concerned with infrastructure, SRE, CI/CD and application development have one clear goal: to make it easier and faster to release applications.

Lack of autonomy for developers

Giving developers the freedom to spin up environments was one of the biggest challenges the teams faced. The infrastructure had to be provisioned first, because of interconnected microservices. Once the environment was ready, developers created a pull request in order to specify the required environment variables for all dependent applications.

Decreased developer productivity

Each new release took a significant amount of time because of shared environments, the deployment processes spread across disparate pipelines, and blue/green deployment strategies that needed active monitoring and user inputs. A lack of standard processes and consistency made it difficult to understand, follow and maintain, which resulted in errors.

Inflated infrastructure costs

Like most organizations, a big concern is infrastructure costs. Most of their development environments for example, needed less server resources than what was provisioned by default. Overall the current processes were not only time consuming but also required a huge cognitive load on each developer since they needed to be aware of every service required. The result was brittle environments, slow deployments and a lengthy and potentially unsuccessful disaster recovery plan.

“As a team we decided we wanted to adopt GitOps as our philosophy and this is something that has become a standard within all the teams using our Kubernetes cluster. We owe a lot of this mindset to Weaveworks and their work with Flux, this was a huge inspiration to us and we follow their work in the Kubernetes community closely.” Robin Glen, Principal Developer

Read the full case study to learn more about how YNAP leveraged GitOps to create self service platforms for their developers and quickly spin up Kubernetes environments by pull request. All of which led to a faster, more stable and secure environment.

Download now button

View the full article

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...