Attending the Amazon AWS re:invent conference is an eye opener in so many ways. Besides giving you a fast-track into the internals and roadmaps for several Amazon AWS products it also is very interesting to observe the gigantic people management exercise it represents.
The first thing I notice after arriving in Las Vegas is that 40.000 tech nerds takes some management skills to hurd around. It's a good thing we're in Las Vegas which gives you fun stuff to look at and large halls to stand in line in. Jokes aside it is a very popular conference delivered on a huge scale covering several of the gigantic hotels and casinos on the Strip in Las Vegas.
Today I attended a very interesting session called "Saas Reference Architectures: A review of real world patterns and strategies." Basically Tod Golding Solution architect in the AWS SaaS factory team delivered a very interesting talk regarding real world planning and architecture for enterprises wanting to embrace SaaS.
He explained that there is no "one fit all" solution for planning a SaaS architecture. He even went further and said that there are no "common" architectural patterns to choose from but rather a SaaS based architecture should be tailored and anchored directly into, and based upon, the situation the enterprise is in.
The key to a successful architecture
This aligns very well with the Redpill Linpro approach to designing and implementing integration- as well as solution-architectures. As no two companies are identical we have realised that the key to a successful architecture is anchoring and tailoring to the enterprise or organisation it is intended to support.
Instead of teaching our integration- and solution-architects a set of "cookbook" recipes for solutions we teach our architects all about the different infrastructures and products we support and then we teach them a set of tools to use when they are in a customer project to be able to tailor and adapt an architecture suitable for that customer.
4 challenges to take into consideration
We totally agree with Tod Golding when he says that there are not any cookbook recipe solutions for a SaaS architecture. Instead Tod Golding introduced four challenges to take into consideration when designing a SaaS based architecture.
1) Scale and availability. You need to consider:
- variable tenant load
- new tenant environments (unpredictable usage patterns)
- bulk operations
- complex scaling profiles
2) Seamless tenant onboarding. You need to consider:
- binding users to tenants
- efficient resolution of tenant contexts
- minimally invasive workflows for staff. They should not have to think about or experience tenant to user mapping it needs to be seamless
3) Variable data footprint. You need to consider:
- limiting storage bottlenecks
- cross-tenant impact (capacity and affecting each other)
- cost distribution and cost optimisation
4) Operational agility. You need to consider:
- small repeatable deployments and easy versioning utilising continuous deploy
- proactive metrics/monitoring and tracing
- tenant level health checks
I really think these challenges, and the answers to the questions they rise, are good enhancements to incorporate into any architects toolbox when working with SaaS architectures. I think they represent unique challenges and opportunities for utilising the SaaS concept and avoiding some of the common pitfalls when going SaaS.