The other week a few of my fellow Tnooz Nodes and I were having a discussion about whether or not companies in the travel industry should care about the software architecture that their software vendors employ.
Primarily the discussion revolved around the importance of Cloud Computing, Software-as-a-Service and multi-tenancy⊠and a little confusion about what each of these terms mean.
Some argued that the customer shouldnât care, as long as the software works as advertised. But in my view thatâs too loose of a definition and short-sells some of the operational and reliability implications that may result from certain architectural approaches.
Given this issue was a recent (and ongoing) debate amongst leading analysts and technologists on the Enterprise Irregulars blog, it made me doubly confident that this was an important issue that should be discussed and debated in travel industry circles.
And while I recognize that a significant portion of the travel industry isnât particularly technology savvy (eg. tour and activity operators, bed and breakfast and small inn owners), the choices they make regarding reservation systems, accounting and operations software is vitally important to becoming a profitable operation.
So no matter what size and organization you are or whether youâre a buyer or supplier of travel technology, keep reading.
Now in case youâre not yet sure where I come out in the argument, I think architecture mattersâŠa lot. Why?
- If youâre a buyer of travel technology, the technology choices of your supplier goes directly to the sustainability of your vendor, their ability to deliver their solution at the right cost and the performance and functionality you require â now and into the future.
- If youâre a provider of travel technology, itâs a question of whether youâre positioning yourself appropriately to meet the future needs of your customers. Especially given the pervasive use of legacy technology in the industry.
Letâs begin with a few definitions that will be helpful in providing context (sorry if this becomes too rudimentary for some, but I want to ensure everyone has a common understanding before continuing):
Cloud Computing
This is maybe one of the more misunderstood and (sometimes intentionally) mis-used technology-related terms today. Many companies may try to cast their applications as Cloud Computing to cash in on all the hype and confusion. This attempt at mis-direction is called âcloudwashingâ.
Cloud Computing is the aggregation of leverages a shared Internet-based infrastructure (Infrastructure-as-a-Service  or IaaS) with an integrated integration, middleware and development environment (Platform-as-a-Service or PaaS), with the application layer residing on top (Software-as-a-Service or SaaS) represented by the graphic here (source: Christopher Hoff).
Cloud Computing, as defined by the National Institute for Science and Technology, is:
On-demand self-service
- Automated Self provisioning
Broad network access
- Available over the network and accessed through standard mechanisms (e.g. mobile phones, laptops)
Resource pooling
- Multi-tenant model
- Physical and virtual resources dynamically assigned and reassigned according to demand.
- The customer generally has no control or knowledge over the exact location of the resources
Rapid elasticity
- Rapid and elastic provisioning
- Resource provisioning often appear to be unlimited and can be purchased in any quantity at any time.
Measured Service
- Metered billing
- Resource usage can be monitored, controlled, and reported providing transparency
Some of the key benefits of Cloud Computing include:
- Convert CapEx to OpEx: Typical on premise infrastructure requires a company to continually invest in servers, storage and related hardware and software to operate their software using capital dollars. These purchases need to be made to both replace aging equipment, but also to add capacity as required by the needs of the business. Â In the public Cloud model, these investments are borne by the IaaS provider and the company only pays for the compute resources they consume using operating budget dollars.
- Dynamic Scalability: The needs of a business are not static. Naturally, many companies have peak load requirements that often spike for short durations.  The Cloud Computing model allows a company to dynamically bring computing resources online to meet those needs, but then wind them down when no longer required. This is particularly valuable when unforeseen spikes occur and you donât have the ability to wait the 2 weeks (or months) for the standard hardware procurement cycleâŠwhich could result in lost sales. And in the travel industry where much of the inventory is perishable, thatâs often revenue you canât get back.
- Enhanced Computing Efficiency: Â Many companies have highly under-utilized computing resources (often < 40% utilization). Â Cloud computing relies heavily on virtualization technologies which enable a much more efficient environment. Many companies also use virtualization in their own infrastructure, but are still somewhat limited in the levels they can achieve because they are only dealing with their own applications, while a Cloud provider can aggregate the needs of many customers to drive utilization higher and costs per computing resource down.
- Metered Billing: When you combine the benefits of the first three bullets, you need a metered billing mechanism to pass those benefits on to the consumers of the service. Metered billing allows the Cloud provider to charge based on computing resources consumed enabling companies to turn indirect costs into variable costs, so that they match more closely to the growth of the business and optimize margins, which are already thin enough in the travel industry.
- Automated Provisioning: is what makes the Cloud paradigm work. Rather than requiring the intervention of IT staff to bring new resources online, Cloud infrastructure can spin up new resources in minutes rather than hours or sometimes days.
While originally envisioned using a common infrastructure over the public Internet, another variation has emerged called âPrivate Cloudâ promulgated by hardware vendors and traditional hosting providers which leverages a dedicated infrastructure that is either hosted remotely or on servers within an individual companyâs premises.
Private Cloud however loses some of the key benefits of the Cloud paradigm, mainly scalability on demand and the ability to eliminate the need for capital expenditures. Â There may also be negative impacts on disaster recovery and continuity of operations as well. Â And there is a whole conversation to be had about Public v. Private v. Hybrid Clouds and how they differ from traditional hosted infrastructure, but thatâs a whole ânother post.
Software-as-a-Service (SaaS)
SaaS denotes a computing environment where multiple customers access the software application over the Internet.
Often times it is delivered using a shared infrastructure, a single-code base, classically using a Multi-Tenant architecture where all customers share a common application instance and database  – at least from an architectural âcanonâ perspective, this is the best way to approach it.
A key element is also the automatic provisioning of new clients â where they can basically get started right away without manual intervention.
This is similar to automated provisioning in Cloud Computing except weâre dealing with on-boarding customers, not spinning up new hardware to dynamically meet the infrastructure demands that the new customers may require.
SaaS also employs a consumption-based model for billing, either via a monthly subscription or a fee-per-transaction model as opposed to the typical software license plus maintenance.
This differs from the Application Service Provider (ASP) model which provides a hosted single-instance of the application and database for each customer.
Some say that Saas and Cloud based are somewhat akin to next gen ASP, but to me thatâs like saying Neanderthals are somewhat akin to homo sapiens. Â The differences are large and important.
NB: In part two we provide the top ten reasons why you care about your tech provider’s architecture.













“Some say that Saas and Cloud based are somewhat akin to next gen ASP, but to me thatâs like saying Neanderthals are somewhat akin to homo sapiens. ”
Interesting analogy, but rather assumes that existing ASP providers are not subject to and responding to the pressures of evolution – which they are by adapting and transforming to the new technologies.
Also begs the question of whether there is anyone out there who, starting from a blank sheet and no customers can build something on this model and create a business that can overtake existing providers, because in the end it is about “the functionality, idiot” to misquote somebody. It will be interesting to see!
And, also stimulates the following thought – what, given the track record of computing over the 50 years it has been supporting the travel industry, makes us think that applications created today will not, in the end, face the same “legacy to modern” migration challenge that exists now?
Every generation of IT technologist (and I’ve lived through a few of them!) thinks it has found the holy grail of futureproof application flexibility. Lots of the underlying “plumbing” has adapted and survived – but most of the applications end up needing a total rework to make use of the new “plumbing”.
Mr. Legacy,
I never said that ASP or other technology providers are not trying to evolve their offerings, but just trying to make the point that ASP is not the same as SaaS even though many confuse/conflate the terms.
Nor did I ever say that Cloud Computing is the be all and end all of technology. Computing will surely look very different 5, 10 and 50 years from now and those that have adopted Cloud will have to update and evolve their offerings. That’s what I love about technology — it always keeps changing!
But to say that no new company can start a business and grow to topple the existing giants is just silly. It happens all the time. Remember DEC? Look at the prominence of Google and Facebook in the tech industry. They’re now top dogs and didn’t exist a decade ago. Technology offers the opportunity for disruption and will always be one of the levers that startups can pull to leapfrog existing players that don’t change to preserve their existing business models or are prisoners of their own technology and don’t see the need to change until it’s too late.
Cloud of course does not guarantee any level of success, but it’s certainly an enabler. More importantly, Cloud also changes the traditional financial model needed to stand up and scale up a new customer — and especially impacts the amount of seed/Angel/Series A funding required to get started.
Great article Glenn. We run a Saas AND cloud based online booking system. I often have a hard time explaining the differentiators between the two, even though I have an in-dept understanding of the technology. This will certainly come in handy!
We’ve been live since May and have had great early traction in several markets. I’ve found we don’t need to continually wave “the cloud” flag in-front of our customers, nor do we have to spend any sales cycles trying to win-over skeptics. The business that are coming to us already have exposure to cloud applications (eg Google Apps, Salesforce) and are either starting fresh, or looking to retire their desktop tools. That pool is only set to get bigger.
Looking forward to part II.
Jason,
Thanks for reading. Glad you liked the article and please share it!
I’m curious to know what your experiences with AppEngine have been and whether you’re using the SpringSource IDE.
Good luck
Glenn
We’re not using AppEngine, we just offer integration with Google Apps. We’ve built out our own distributed network using AWS and other cloud service providers.
Glenn, this is a great article. I’ve been working with one of the cloud service providers on its offerings, and this is an excellent overview. I was wondering if you’d be interested in going further (either here on a separate new article perhaps) on a couple points:
1) if you’ve looked at the various offerings of Google, Amazon’s Web Services, MSFT’s Azure, and vmware, maybe folks would like to understand some of the similarities and differences as they evaluate services appropriate to their needs
2) Virtualization to many people might mean running Windows on a Mac or vice-versa, but as you noted, it’s much more than that in the context of cloud computing. Would it be possible to expound a bit more on it?
No worries at all if not, but thought I’d put it out there.
Jonathan,
Thanks for reading and I’m really glad you enjoyed part 1 (part 2 is up today). You ask very good questions and like most good questions there aren’t short or easy answers.
At a geo-synchronous orbit level I can make broad comments like “AppEngine and Force.com are good if you use Java and familiar with the SpringSource IDE”, “Force.com is really optimized for transactional systems, but not as good for complex computation” or “Azure is the best bet if you have a large existing investment in .NET”. But this is certainly fodder for another post although won’t be covered in Part 2.
But identifying the best platform for your company depends on a lot of considerations and must be made in your context. My company, Ness Software Product Labs, does offer strategic consulting in this area and software product engineering services. So we’re happy to chat.
Great article. Not wanting to pre-empt part two but as a technology provider we certainly support the view that customers should care about our architecture. SaaS is the foundation of the Pegasus reservations and distribution solution. It’s true that functionality to support business processes is often seen as the most important determining factor in choosing a provider. However, knowing a little about the “plumbing” allows you to validate the provider’s ability to scale and respond to changing workloads – these can be critically important considerations.
Looking forward to the next article.
Tim,
Thanks for writing. You and I seem very aligned. Part 2 is up today, so check it out and let me know what you think.
Glenn