Guest Contributor: Dan Retzer, CTO, XSP
A solution built around a Service-Oriented Architecture (SOA) is the key to a solid and flexible architectural foundation. Without SOA, software providers like XSP could not inherently take advantage of THE most important disruptive technology since the advent of the Personal Computer: The Cloud.
Peel away the marketing hype and the Cloud may appear to be a simple concept that has been around for decades in the computing world – that is, a model of providing software from a remote location, over a network, where the organization using the software does not have to be involved in the day to day running of it.
So why the buzz about all things Cloud? The Cloud is about much more than just hosting an application. It’s transforming the way that software is provided and consumed. The Cloud frees people and organizations from being tied to the desk or expensive, tedious software deployment and support models. The Cloud removes the artificial barriers that technologists have placed around software and solutions so that people can interact with information in a more natural, intuitive manner. The Cloud removes fear and uncertainty; it falls more into line with what we, as consumers, have come to expect with other ubiquitous forms of technology, like Television or the microwave oven. Push a button and it works. We, as consumers, do not need an understanding of nuclear engineering to warm a cup of tea. Why should we then be expected to care about TCP/IP, HTTPS, and other fundamentals of network engineering and software engineering if all we want to do is share a picture with friends or access reference data from different parts of the world?
The concept of the Cloud is deceptively simple. It’s important to understand that the Cloud encompasses several concepts that, until the advent of ubiquitous, high-speed access to data networks (e.g. Broadband Internet, Wi-Fi and 3-or-4G), were not really economically or technically feasible. These concepts include Virtualization, Multi-Tenancy and Software as a Service.
Virtualization is an important ingredient in the Cloud because it removes the physical constraints on the hardware systems that support applications in the Cloud. The ability to virtualize servers or simulating multiple machines on a single physical machine is a crucial step in defining the Cloud because it makes hosting of software applications more cost effective and simpler to manage. Virtualization also paves the way for multi-tenancy, which is where a single instance of software runs on a server and available to multiple client organizations (tenants).
Multi-Tenancy allows applications to host different client organizations without requiring additional hardware components. In a Multi-Tenant environment, multiple customers share the same application code, running on the same operating system and hardware with the same data-storage mechanism. The distinction between the customers is achieved during application design, thus customers do not share or see each other’s data or configurations.
Software as a Service (SaaS) is a model of software delivery in which software users only pay for what they consume. It is built upon the underlying concepts of multi-tenancy and, in many cases, virtualization, and is the predominant business and operations model in the Cloud.
In short – the Cloud is an enablement platform for business. Users of business applications simply expect things to just, well…work. They should not be experts in the underlying complexity. Software’s complexity should be reduced to the simplicity of a button.