Challenge
Young software and data companies often outgrow the hosting their product launched on. What worked for the first customers becomes slow in busy periods and fragile when anything changes.
The team ends up spending its time on servers. Deployments are done by hand, nobody is confident about what is running where, and the people who built the product are pulled away from it.
Approach
We review the platform first and recommend an architecture in writing. Once it is approved, we build the new environment beside the old one.
- Review the application, its data and its usage history.
- Design separate layers for the website, the application, background jobs and the database.
- Build the environment from scripts so it can be reproduced, and move the code into version control.
- Migrate the application and data, and fix the faults that the move exposes.
- Load test against the busiest periods on record, then resize the platform to fit.
Result
Platforms move to an architecture designed to grow with demand, and the company's own engineers are trained to run it.
- Capacity sized from real usage, not from a guess.
- Releases that follow a repeatable process.
- Support through launch and the period after it.
Our advice
Ask for the architecture in writing before any migration starts. If it cannot be explained on two pages, it is not ready to build.
Related service: Cloud computing.