Software as a Service
Enterprise level cloud based applications
Software as a service platforms move many of the burdens of owning software from the shoulders of the user and place them on the provider. No longer will the user need to concern themselves with software installation or keeping their software up to date. This is a wonderful model, but it comes with a host of additional concerns and costs for the provider.
At Olsen Consultants we have the experience you need to navigate the complex business of building and managing a SaaS platform. After analyzing your objectives and creating the requirements for the project, we will help you decide which cloud provider will work best with your provider.
In the SaaS model, cloud providers install and operate application software in the cloud and cloud users access the software from cloud clients. Cloud users do not manage the cloud infrastructure and platform where the application runs. This eliminates the need to install and run the application on the cloud user's own computers, which simplifies maintenance and support. Cloud applications are different from other applications in their scalability—which can be achieved by cloning tasks onto multiple virtual machines at run-time to meet changing work demand. Load balancers distribute the work over the set of virtual machines. This process is transparent to the cloud user, who sees only a single access point. To accommodate a large number of cloud users, cloud applications can be multi tenant, that is, any machine serves more than one cloud user organization. It is common to refer to special types of cloud-based application software with a similar naming convention:desktop as a service, business process as a service, test environment as a service, communication as a service.
SaaS allows a business the potential to reduce IT operational costs by outsourcing hardware and software maintenance and support to the cloud provider. This enables the business to reallocate IT operations costs away from hardware/software spending and personnel expenses, towards meeting other goals. In addition, with applications hosted centrally, updates can be released without the need for users to install new software.
Cloud-hosted applications must implement strong security, using multiple defense levels that complement one another to provide data protection in different ways, under different circumstances, and against both internal and external threats. Here are some methods we use to keep your SaaS safe:
- Filtering. Use an intermediate layer between a tenant and a data source that acts as a sieve so that it appears to the tenant that theirs is the only data in the database. This is especially important if you use a shared database instance for all of your tenants.
- Permissions. Use access control lists (ACLs) to determine who can access data in the application, and what they can do with it.
- Encryption. Obscure every tenant's critical data so that it will remain unreadable to unauthorized parties, even if they manage to access it.