Over ten years ago I got lost walking around Westfield London trying to find the NET-A-PORTER offices. The next day I had an interview with “some fashion company that sells expensive dresses”- as I then described it to my friends. It was the last of an exhausting run and I wanted to make sure I arrived on time.
I had moved to London the year before and to say I hated it was an understatement. I was at a small agency, I knew no one and as anyone who has lived in the city knows it can be a lonely…
In recent posts I have talked about our adoption of Kubernetes, in this post I’m going to talk about how we release our applications into our cluster.
I recommend making a brew because we are going down the rabbit hole, as before I even start, I think I need to answer an important question.
I think the best answer to this can be found within the comic “Smooth Sailing”, but we have all been given the sales pitch, I want to give you a real world example. Why did the YNAP frontend team adopt Kubernetes?
It all came about during…
Well, where did those last two years go? Apologies for my tardiness, time really got the better of me. The good news is, we’ve had a further two years of production experience, improving performance, catching bugs, adding features and completely changing our infrastructure.
In the final part of this series I’m going to run a retrospective on Locer (Localisation, Errors and Routing), what went well, what we had to improve and what I would do differently.
Locer is now routing frontend…
This week YOOX NET-A-PORTER turned twenty and within a month I will have been there for half of it. I was asked if I would write about my time here, any favourite memories or stories I wanted to tell over that time. I thought I would focus on one, something that means a lot to me and how I want to remember the company.
I joined NET-A-PORTER having previously worked at two different web agencies — I owe a thank you to both of these companies who gave me a foot in the door and an opportunity. I was used…
At YOOX NET-A-PORTER GROUP, we build and deploy thousands (literally!) of containers daily. To keep our Kubernetes environments safe, we strive to follow best practices. However, securing Docker containers is a broad topic.
We follow best practices such as never allowing them to run as root, only using official base images, and reducing the attack surface by avoiding the presence of unneeded packages. On top of that, we implemented image security scanning via AWS ECR.
By default, every image gets scanned when pushed to the repository. Still, unless we force everyone to check the scanning results, we need a way…
It’s that time of the year again, Christmas party season and I’m starting to write this year’s YOOX NET-A-PORTER GROUP Pub Quiz.
After there is an answer with a brief for each.
Entering each of the following into your console would return a value, what is that value.
> typeof NaN;
> 0.1 + 0.2;
> ('b' + 'a' + + 'a' + 'a' + 's' + decodeURI('%21')).toUpperCase();
We started with the goal to use service worker to improve our performance metrics. We would do this in multiple ways:
We knew what we wanted to build now we needed to make sure, whatever we did, this new application could handle our peak traffic on sale.
First we looked into a couple of available options:
Although all looked great and worth a look if you have a similar issue, they didn’t quite match our requirements. …
If you’ve never heard of YNAP, we are an online retailer averaging a billion page-views per month. I work within the In-Season team, we are responsible for both NET-A-PORTER and Mr Porter. Our frontend teams love Microservices, however for all their advantages they have also bought us new challenges.
The one I want to talk about today, is how we route a request to the correct frontend application. Before talking about where we are, I think it’s important to explain how our architecture has evolved.
ex-principal developer @ynap