Over the next several years nearly all organizations, regardless of industry, will become software companies. Simultaneously, IT leaders are finding they need to deliver world-class services and an ecosystem where customers, employees, and partners can build, deploy, and monetize cloud services. Organizations can achieve both these goals through Software-as-a-Service (SaaS) applications.
According to Gartner, SaaS is seeing revenue growth as fast as 39.3%. As demand and revenue grow, so does the number of SaaS options. The difference between the past and now is that the current flourishing of SaaS choices is not driven by your typical software vendors. The new options come from organizations SaaS enabling existing applications to develop more profit streams for lines of business. As Mike Kavis stated at Forbes:
Enterprises are realizing that in order to stay competitive in today’s fast paced business environment, they too have to start delivering their mission critical applications to their customers as an easy to use, frequently updated service.
Creating SaaS applications is not trivial and takes advanced software architectural concepts. Apprenda has already transformed many Fortune 100 IT departments by helping them create SaaS Hubs—platform and middleware to SaaS-enable existing apps and build new apps—for each line of business in an organization.
The Following Are Lessons We’ve Learned:
1. Organizations Want to Drive Savings with Zero-Effort Single Instance Multi-tenancy
Multi-tenant virtualized SaaS is the next step in modern, efficient, cost-effective, and flexible architecture on any device. Single instance multi-tenancy is a software architecture principle where application components, such as the database, web services, and user interfaces, are shared across a number of customers, rather than each individual customer having its own copy.
This complex design drives efficiency in the SaaS model because it reduces operational costs. Instead of having thousands of devices all managed by the organization, business units can now worry about updating and managing a single application.
Because of coarse-grain allocation of guest operating system kernels with virtual machines, traditionally applications can only scale to tens of customers on a single server. Multi-tenancy allows organizations to save money by allowing a single application service to hundreds of users.
With single instance multi-tenancy, IT departments can further consolidate hardware and deploy an application through a centralized delivery model. This change, in turn, helps product managers create better software, while delighting customers who can now consume software through this preferred method.
2. Enterprises Don’t Want to Recode the Same SaaS Features for Every Application
SaaS involves a number of new architectural techniques that are needed to solve challenges associated with scaling software across tens of thousands of customers. Most of this common SaaS-specific code is not at all related to the application domain and is difficult to write and maintain. Application component partitioning for multi-tenancy, seamless linear scaling, user management, customer provisioning, monetization and database abstraction are all large and tricky portions of software to develop. When combined, these mission-critical SaaS pieces define a SaaS stack and can easily overshadow an organization’s application development efforts in even the most modest SaaS development efforts.
With a private enterprise PaaS, operations teams can pool public, private, virtualized and bare-metal infrastructure resources and make these resources available to developers. Central IT becomes the PaaS provider to internal developers in individual lines of businesses creating SaaS applications. An enterprise PaaS should bake many of the complex architectural features of SaaS into the platform. The middleware then eases developers’ workloads because they do not need to re-code complicated SaaS features. Some of the SaaS services that are needed include:
- Single instance multi-tenancy (as described above)
- Data isolation and data scoping capabilities
- Horizontal scaling and auto-scaling of all application tiers
- Meta-data driven runtimes to manage entitlements/customization
- Location transparent modularization of application components
- First-class workflows for complex processes, ranging from customer provisioning to database shards and shard relocation
- Application lifecycle management
Private enterprise PaaS deployments can give operations teams the control they need through governances and resource policies while giving developers the experience they want. Additionally, an enterprise PaaS can give software engineers a self-service resource to develop SaaS applications with ease.
3. Everyone Wants Governance, Reduced Risk and Compliance for SaaS Hubs
When enterprises manage large numbers of servers in a single resource pool, situations often arise where applications need to be mapped to a very specific infrastructure. In many cases, this is due to security or regulatory compliance issues.
Private enterprise PaaS leverages defined application deployment policies to enable fine-grained mapping of applications or application components to infrastructure based upon specific, configurable properties. Instead of creating multiple silos with different rules and configurations based on business needs, enterprise PaaS enables enterprises to consolidate applications on shared infrastructure while using sophisticated deployment policies to honor specific business, security, or legal requirements.
In a SaaS Hub, all parts of the organization operate in the same environment, so central IT has assurances that it can enforce the appropriate policies.
Find Out For Yourself
More information on SaaS Hubs can be found at: How IT Can Drive Profit and Savings by Turning Apps Into SaaS