Azure and Cello combination gives a perfect platform for ISVs to build or migrate their (existing) product quickly.
How does Cello and Azure work together?
Cello brings in a wide range of engineering building blocks, operational modules and subscription management tools. In other words, Cello offers the complete SaaS Life Cycle Management Solution. Azure on the other hand provides infrastructure and application life cycle management in the form of deployment support, monitoring tools, online services, etc. While Cello strengthens the product with a scalable and robust architecture, Azure provides a scalable and secure infrastructure.
How is Cello deployed in Azure?
ISVs can choose to deploy their product in either web role/worker role model or they can also choose the VM model (which is vanilla IaaS). Cello is delivered in the form of APIs and libraries, which has to be deployed along with the product. Web role will contain the Cello web pages and binaries. Cello services will have to be deployed in Worker role. Cello data is maintained separately and will have to be setup in SQL Azure database. However, the product database can point to any storage technology offered by Azure. Product can leverage all the services offered by Azure platform. Cello does not bring in any limitations for the product. ISVs will have the option of exposing some of the Cello administration features to tenants in the form self-servicing portal. This can bring down significant amount of support team load.
How can you get unlimited scalability?
Cello architecture is designed for unlimited scalability at all layers. Products built using Cello design norms by default inherit the capability to dynamically scale out without any coding efforts. ISVs can initially start with a single sharded model. However, when the load increases they can easily add additional resources in the form of machines, databases, storage etc. Azure Watch can be effectively utilized to monitor the load of the systems and once the threshold is reached it will automatically add additional machines. Cello leverages Azure Data Sharing feature by abstracting the database from Developers. This allows ISVs to shard by tenants and/or modules.