October 11, 2013 | Written by: Leucir Marin Junior
Share this post:
Most people know the story of the three pigs and the big bad wolf, I will give you a contemporary view of it, using a multitenancy approach that would help the poor pigs to escape and live secure in their houses.
In the well-known version of the story, three pigs live in different houses, with different levels of infrastructure, and are suddenly attacked by the wolf. The wolf destroyed two of the pig’s houses by blowing them down. The third house, whose pig built his house of a solid structure using bricks, avoided the wolf’s destruction and protected all three pigs until the wolf gave up, for while.
But, what if they all shared the same infrastructure but lived in different houses, keeping individuality and safety at the same time?
Similar to the pig’s situation, that is what happens when an application is provided stand-alone or on the cloud on a software as a service (SaaS) format. The first requires a stack of middleware and infrastructure isolated from others, while the opposite side, everything is shared.
Although some applications are not considered as service, given its business criticality or how it is designed, the shared approach is coming in order to minimize hardware and software costs. It looks at reusing the resources at best, but not losing the track to isolate owned characteristics for each tenant. Basically, data and transaction isolation are the primary concerns, but even UI customization is a differential when this kind of offering is presented to the market.
Maybe shared environments are not attractive for big companies initially, which prefer to keep control of their environment and sometimes owns the code of critical applications. Maybe big companies should start to rethink that and consider shared architecture for non-critical areas.
But, how about the middle sized businesses or even the small ones? That approach totally fits those companies where IT investments are low, comfortable with pre-configured environments, regulations doesn’t affect where data is being hosted, and so on. Turning an idea in something real quickly, reducing time to value.
Although many positives points are seen on a pure multitenancy environment, I can list few concerns that approach would demand:
- For the cloud provider: high optimization of infrastructure in terms of resources, but high effective change management
- For Application producers: robust application to support different demands of different tenants sharing the same platform
- For Application customers: high flexibility to customize existent applications but reduced scaling capability. Integration is another essential capability, once it will allow application customers to enter data on the system easily, but also retrieve the data under open-standards when the service is not suitable anymore and the customer wants to move to another platform and needs to get their data.
Multitenancy is a one-way road, and for that reason is very important to know and choose the best for your needs. Make sure the application’s provider has experience protecting your assets on a shared environment. Also, make sure they can guarantee that cloud providers can support your service’s availability and you are comfortable on sharing IT resources with another company, and sometimes even competitors.
So, do you believe you can best win against the wolves alone, or with sharing?