Showing posts with label subscription. Show all posts
Showing posts with label subscription. Show all posts

Sunday, December 1, 2013

Cloud - Platform as a Service

This is part three of a continuing discussion of The Cloud. In Part 1, we discussed how people perceive the cloud, and where these perceptions come from. In Part 2, we looked at Software as a Service (SaaS). Now let's look at what was the next logical evolutionary step - Platform as a Service (PaaS).

In discussing PaaS, we first need to understand a couple of other major milestones in computing history - virtualization and clustering. Virtualization has a big name for a simple topic. These days, almost anything can be virtualized: applications, operating systems, even hardware. We use the term "virtualization" to describe a method of abstraction. For example, a company called VM-Ware has made a business out of PC hardware abstraction, allowing them to virtualize the operating system of a computer. This allows them to run multiple instances of operating systems on the same compute platform, simultaneously.

A computer's operating system (OS) is responsible for "talking" to the hardware. For example, it interfaces with the hard-drive, so the applications we use don't have to know how to write the data to the disks. It interfaces with all of the various components, including the microprocessor, the random access memory (RAM), the hard disks, the network interface cards, and so on.

Then the virtualization layer comes into play, called a hypervisor, abstracting the hardware from the OS. Acting like a translator, it says "don't worry what KIND of processor or RAM" you think I'm supposed to have, I'll translate your queries & responses in a way that you will understand. This abstraction layer means that the OS can be deployed onto any piece of hardware, running the same hypervisor ! The underlying hardware layer becomes unimportant.

The first way this became important was in the area of Disaster Recovery. Since the OS and it's applications were now encapsulated into a computer file, and hardware-specific drivers were no longer important, moving the OS from one hardware platform to another became trivial. If a systems administrator could move the OS across the computer room, why not across town ? Or across the country ? Suddenly, disasters weren't catastrophic to a business.

Another key element to PaaS is the concept of the server cluster. Prior to virtualization, server clustering allowed PC-based servers to perform two duties - 1) scale the load of a single application beyond the hardware capabilities of a single server (aka a "node"), and 2) allow redundancy in the event of maintenance or a hardware failure. Google's famous search engine runs on many multiple server clusters, which are in turn load-balanced across different data-centers, so that new search requests go to less busy servers. So when a query comes to the virtual address of the cluster, the cluster-manager software determines which node to send the request to. The decision can be based on any number of criteria, such as how busy the nodes are, or the relative distance from the originator of that request.

Now that we have a hardware-independent hypervisor, and the ability to cluster our hypervisors, we can now discuss how to deploy PaaS. When an IT Department needs to set up a service, say a web-server, they can skip the phases of hardware and OS procurement, the phases of assembling the hardware, installing the OS and hardening it for security purposes. They skip ALL of that by simply logging onto their cloud-provider's management web-site & making a few choices and pressing the "provision" button. Then all they need do is install & configure the web-server and connect it to the data source. Clustering is important for making the OS Guest redundant across the provider's data-centers.

The main advantage of such a configuration is that it allows the service to be deployed in an elastic fashion. That means it can grow and shrink according to actual demand, rather than having to guess in advance what demand might be. Since the IT group doesn't need to buy new equipment for each new node, there is a shift from capital expenditure (CAPEX) to operational expenditure (OPEX), as well as potential savings related to the delay in time it takes to procure and deploy the new server hardware. Obviously, the cloud isn't free. Providers of PaaS typically charge for their service according to a number of metrics, including compute cycles, amount of disk-space required, and so forth. The positive is that the IT Group only pays for what they use, on an ongoing basis, rather than guessing and paying for it up front.

Again, we are seeing a shift in the business model. Now, the deployment can be very rapid, eliminating the acquisition phase altogether. The provider supplies the hypervisor and the operating system, and the client need only deploy the application. This allows the IT group to be agile in providing the services that its business requires, while having predictable costs associated with operating the service.

 

Saturday, November 30, 2013

Cloud - Software As A Service (SaaS)

One of the first ways in which the Internet started transforming itself into "The Cloud" was through software. In the early days of computing, software was a big deal. Teams of software engineers would spend days, weeks or even months deploying their software into a client's computing environment. In those days, the big packages ran on mainframes - huge, wildly expensive, monolithic compute platforms, typically owned by banks and insurance companies.

Later, as the PC era dawned, companies like Microsoft and IBM recognized just how popular these systems would be. So they encouraged development of PC-based software by marketing their development kits. A footnote in history is that IBM missed this eary trend, and chose to try to generate revenue from their software development kits. Developers abandoned IBM's OS/2 platform in favour of Microsoft Windows, as Microsoft gave their software development kits away for free at Developer Conferences. Suddenly, there was all kinds of software available for the Windows platform !

Software became a consumer product - shrink wrapped boxes sold at big-box office-supply stores like Staples and Office Depot. Early on, these were merely "single use" copies of packages that consumers had gotten used to using at work. Titles like Microsoft Office and Lotus 123 were popular. Soon after came games and other amusements. And with the rise of PC popularity came the rise of malware. By giving away their software development kits, Microsoft unwittingly opened the kimono to early malware developers ! And so followed the rise of utility software, such as Norton AntiVirus and PC-Doctor.

In those days, the Internet was still in its infancy. Typically accessed via dial-up modem, and through a University or College campus, it was still very much a novelty. Slow & cumbersome, it was not really the Internet we think of today at all ! But as the Internet became commercialized, and cable or telephone providers brought the Internet into our homes & places of business, the demand for ever-higher data speeds increased. This was critical to the development of Software as a Service. Interestingly, the notion of paying for a product or service via the Internet was born about the same time. The sordid side of the story is that it was pornographers who pioneered the methods for accepting credit card payments online !

Apple hit upon the idea that the device (laptop, tablet, mobile device) was merely for consumption. And so they started with iTunes - building a business model whereby the device was the access-point to the Music Store. Following this model, the "App Store" was born. Apple didn't want to include the middle-man. Why not have the consumers directly download their software from Apple. They even went so far as to remove optical media devices (DVD/CD-ROMs) from their hardware.

Other companies had similar business models. SalesForceDotCom (SFDC) believed that the web-browser should be all a client needed to access their popular Customer Relations Management software. Previously, CRM was the domain of big enterprise customers, and was implemented by a team of software engineers. Requiring a high degree of customization, CRM providers like SAP and Siebel generated high revenues through their professional services teams. But SFDC changed that model. Being web-based, and easily available via the open Internet, SFDC makes it's revenues on a subscription model, similar to a magazine or a newspaper. But without requiring dedicated, on-premise hardware, large up-front software purchases and implementation teams, companies of all sizes flocked to SFDC.

SFDC's new subscription-based software service became the model many companies want to emulate. Microsoft now provides Office365 on a subscription basis. Adobe provides their image-editing software on a subscription basis. So when you start thinking about "The Cloud", think about Software as a Service. Stated even more plainly, think about a subscription-based business model.