You have probably never heard of a Scalability Architect. In our vernacular it is someone who specializes in designing system architectures for high availability and scalability. We think you might want to consider adding one to your roster if you are serious about scaling and keeping your site up.
At AKF we are all about scalability and availability – for both platforms and businesses. For a SaaS company, it is your lifeblood and must be a core competency to survive and grow. Downtime not only means lost revenue (Amazon’s 2 hour downtime last week was estimated at costing them $30K per minute), but it also means losing customers to your competition. While most companies like Amazon calculate the cost of downtime, the real cost can add up for months or years when adding in the loss of customers who never return. We are advocating that companies seriously consider augmenting their architect team with a person or team of people who spend the majority of their time thinking and doing projects related to long term scalability and availability.
Why is this role different from a traditional architect’s role? We feel that there is sufficient specificity in technical knowledge, perspective, and focus that a general systems architect will often overlook scalability for more urgent short term matters. We see this often in our engagements where companies have great architects but they are focused on designing the next feature or introducing a new technology. They do not have time, ability or experience to focus on longer term scalability issues within the platform. Often we promote seasoned engineers who have proven their ability to design properly and evaluate technology effectively to the role of architect. This is perfectly acceptable and is considered the standard career progression. However, to be a Scalability Architect, the individual needs to have made a study of scalability and availability issues for a number of years.
A key skill or experience to look for in the Scalability Architect is a thorough knowledge of how to split both the application as well as the database in multiple dimensions, see our application and database splitting posts. Additionally, the ideal candidate will have been through several of these splits before where they have learned some of the pitfalls. Knowing that you need to consider what objects need to be cached with each other can save a lot of redesign and headache.
Are you considering adding a Scalability Architect to your team? If so let us hear about what made you decide and what skills you think are important.