HotelTonight is a five year-old company that began like a lot of technology startups. It was originally built on Rails and quickly grew into a monolithic application. But it didn’t take very long before the company was releasing new features and setting them on top of its stack, supporting it all and the business as it grew organically. Through that, the business was scaling and the platform itself needed to keep pace.
In this 8th episode of The New Stack @ Scale podcast, HotelTonight’s senior platform engineer Jonathan Geggatt talked with The New Stack’s founder Alex Williams and New Relic’s editor-in-chief Fredric Paul about what they’ve learned and the inevitable failures that occur when scaling.
HotelTonight started as an app for customers to get a hotel room the same day of booking. It now allows a customer to book a hotel up to seven days in advance and is available in numerous international markets.
When HotelTonight started, it began with an ad hoc collection of spreadsheets that they used to pose queries from different data sources. As the business scaled, they needed a new service that was redundant and robust. It had to be action oriented, something the business people could have access to when they needed it without specific engineering resources to make it viable.
The growth has meant the development of an event-based architecture that uses services, such as Segment, which allow HotelTonight to post events and disseminate to other services that could use the events as well.
“Previously, you would’ve had to write all these integrations yourself and deal with it when it breaks, and now there’s this company saying, “Hey, we’ll just take care of all of that for you. Give it to us and we’ll disseminate it out,’”Geggatt said. “So it was very helpful and we quickly realized that.”
HotelTonight nows has a business intelligence platform that uses Iron.io to spin up “workers” that process the data as it comes from different sources.
For example, HotelTonight will fire data to Segment, and then they, in turn, fire that off to a service like Mixpanel. Once it comes out of Mixpanel, the HotelTonight team can listen to that data and set up a worker to run and transform it. It then gets normalized and standardized before it goes into an Amazon Redshift database.
“So once Iron.io workers spin up and write to an S3 bucket, then that can automatically be ingested into RedShift and we can immediately start running some SQL queries against that to get some insight from our data,” Geggatt said.
In the process, the pipeline needs to be monitored pretty closely.
It’s the discussion about how HotelTonight prevents failure which speaks to the need for redundancy when scaling. That’s a core theme to process when listening to this episode of The New Stack @ Scale.
Iron.io and New Relic are sponsors of The New Stack.