Booksy: Helping beauty and health service providers stay a cut above the rest
About Booksy
With more than 10 million active users in 25 countries, Booksy is a world-leading appointment management platform specializing in support for small traders in the health and beauty sector.
Tell us your challenge. We're here to help.
Contact usAbout OChK
OChK is a highly specialized multi-cloud solutions provider whose goal is to accelerate the digital transformation of Polish businesses and public institutions.
With its client base doubling every year, appointment management platform Booksy took a nuanced approach to microservices on Google Cloud, to create scalable architecture to match its global reach.
Google Cloud results
- Unlocks global potential with scalable cloud infrastructure to meet consistent annual growth rates around 100%
- Reduces bottlenecks in development with simple deployment on Cloud Functions
- Gives developers space to find the best replacement for PostgreSQL database with simple provisioning on Compute Engine
Enables 200,000+ bookings per day worldwide
Hairdressers do much more than cut hair. Like many working in the beauty services sector, most are independent contractors, meaning they run every aspect of their business. That makes taking bookings one of their top priorities, whether over the phone, online, or in person. So when concerns over COVID-19 reduced in-person reservations, or "walk-ins," to a trickle, many in the sector were under intense pressure. With a SaaS solution that lets customers book online directly, Booksy tries to make their lives easier, even in challenging circumstances.
"More than six million appointments per month are made with Booksy," says Paweł Sobkowiak, the company's CTO. "We also streamline other aspects of business with versatile payment tools and features for staff and inventory management. We take care of the tedious tasks, so people can focus on other things, whether they work in the beauty and health sector, or banking and telecoms, where we’re looking to expand."
"We double in size every year, and our previous infrastructure providers couldn't keep up. It became really hard to maintain hundreds of dedicated servers. As our stack grew, we decided to deploy our service to Google Cloud as the most effective and efficient way to support our business model."
—Paweł Sobkowiak, CTO, BooksyIn 2015, the first Booksy app was built by a small team and handled hundreds of reservations per day. Now, with more than 80 people in its development division, the company processes more than 200,000 daily bookings. At Booksy's own estimation, more than 95% of stylists in the world still use a telephone, pen, and notepad to book appointments, making it a vast market. If Booksy can achieve 20% penetration worldwide in health and beauty alone, it has the potential to facilitate billions of bookings every month. With an eye on new markets and an impressive rate of growth, scaling is a key priority for the company.
"We double in size every year, and our previous infrastructure providers couldn't keep up," says Paweł. "It became really hard to maintain hundreds of dedicated servers. As our stack grew, we decided to deploy our service to Google Cloud as the most effective and efficient way to support our business model."
Moving beyond bottlenecks with a nuanced take on microservices
When a startup takes off, the infrastructure supporting it needs to be ready to scale at speed. "As the number of bookings on Booksy doubled every year, we saw that in just a few years, we might have hundreds of millions of appointments made on the platform every month," says Paweł. "And as we expand into additional markets, becoming more of a global service, we need technology that can deploy to new regions, too."
In its early stages, Booksy was built using on-premises servers, which led to a series of scaling issues. When extra capacity was required, the team needed to wait several weeks before new servers were assembled and online. "Provisioning capacity was one problem," says Paweł. "The second was maintaining the data centers, which was a lot of work and took our focus away from coding. Third, we needed to do more coding altogether, to meet the demands of scaling up, such as refactoring code for larger architecture."
The Booksy application runs on an essentially monolithic architecture, operating on a single repository and a single service. "We thought migration would be almost impossible, as dividing all of our applications into microservices would be a very complicated task," explains Paweł. "But on Google Cloud, there are a lot of options. It's really easy to add new services with Google Kubernetes Engine, for example, but we can also use Cloud Functions as a more agile tool for more simple services. We can keep our monolithic architecture and split off select business processes on the fringes of the code to be microservices."
"As we strategically prepare for future growth, we also need to be able to deploy code faster. Google Kubernetes Engine allows us to add new services without relying on a DevOps team, which means we can scale our teams and have them work independently with their own cloud services."
—Paweł Sobkowiak, CTO, BooksyThe team had already made extensive preparations for migration when they referred to the cloud experts at OChK. "They are very experienced and showed us that there was still more work to be done and how to do it," remembers Paweł. "They have a guy who's great at networking, a security expert specializing in Kubernetes, and a data specialist. OChK ensured they covered every aspect of our infrastructure, services, applications, and data warehouse, so that we could migrate fully, without anything holding us back to our previous architecture."
Booksy immediately improved efficiency by switching to scalable resources on Google Cloud. "Previously, we had to lease a large number of extra servers to be ready to accommodate periods of peak demand," says Paweł. "We had even more resources in place as a backup in case of failure, effectively twice our infrastructure that we rarely used. We were able to decommission all of that infrastructure, knowing that in Google Cloud, should there be a failure, we can launch everything on new servers in minutes."
Using Google Kubernetes Engine to orchestrate clusters, Booksy is ready to meet surges in demand, from daily fluctuations to exceptional events. "During Poland's first lockdown for COVID-19, the Polish prime minister made an announcement that hairdressers and barbers would be reopened," says Paweł. "Even with an enormous 700% surge of activity on Booksy as everyone rushed to book their first haircut in two months, the infrastructure was still able to cope."
Any process can be held back when one part of it does not scale as quickly as the rest. "PostgreSQL, which we use as a database, was our main bottleneck," says Paweł. "But now that it's on Compute Engine instances, it's easy to scale up, almost without limit. That gives us the time and confidence to look for more permanent solutions, such as moving the bookings part of our architecture to a NoSQL solution." To avoid holdups between their teams, Booksy developers now use Cloud Functions to create simple services independently, without relying on DevOps. "They don't need to code into the monolith and involve the whole code deployment team," says Paweł. "They can start a proof of concept on their own."
"As we strategically prepare for future growth, we also need to be able to deploy code faster," says Paweł. "Google Cloud's Kubernetes structure allows us to add new services without solely relying on a DevOps team, which means we can scale our teams and have them work independently with their own cloud services."
Minimizing latency for a seamless app experience
Booksy needs infrastructure that can cater to its global reach. "Most of our clients use mobile apps, and every 100 milliseconds of delay makes a difference to their user experience," says Paweł. "We use Google Cloud to keep latency to a minimum. It's something that our users really notice."
The upcoming Google Cloud region in Warsaw, Poland is set to have a pronounced impact on Booksy users. "Poland is our second largest market, after the US," says Paweł. "Having a new region there is likely to shave perhaps 50 milliseconds from each request. That sounds like a small change, but it gives the app a responsiveness that really makes a difference for people."
"My advice to companies that are just starting out, is to begin with the end in mind. The best way to grow your company is to use cloud solutions from the beginning, so you can focus on building the best possible product, rather than waste precious time tweaking infrastructure."
—Paweł Sobkowiak, CTO, BooksyScaling to meet its full potential
Booksy is now fully migrated to highly scalable architecture on Google Cloud and handling twice as much traffic as before the migration. Now with infrastructure able to match its ambitions, Booksy is reaching out to the millions of hairdressers, beauticians, and other businesses about to transform the way they work.
"My advice to companies that are just starting out, is to begin with the end in mind," says Paweł. "The best way to grow your company is to use cloud solutions from the beginning, so you can focus on building the best possible product, rather than waste precious time tweaking infrastructure." Whether setting up a startup, or booking haircuts in a pandemic, Booksy has shown that key efficiencies can make all the difference.
Tell us your challenge. We're here to help.
Contact usAbout Booksy
With more than 10 million active users in 25 countries, Booksy is a world-leading appointment management platform specializing in support for small traders in the health and beauty sector.
About OChK
OChK is a highly specialized multi-cloud solutions provider whose goal is to accelerate the digital transformation of Polish businesses and public institutions.