Home > Blogs > VMware vFabric Blog


Building a Multi-Tenant Development Mindset in the Travel Software Industry

The travel industry has been a technology innovator for decades.

But how do these tech innovators use a cloud application platform like vFabric?

In this article, we get a real-world, inside perspective from a cloud architect who designs and leads development teams for airline check-in and baggage software and cloud-based services. We will dive into his requirements and approaches to cloud-centric devops tools that keep systems running in high performance environments.

Travel companies use technology everywhere they can. For example, their technology lets us buy tickets over the web, check in via self-serve kiosks, and use iPhones or Androids as boarding passes. It wasn’t long ago that these capabilities didn’t exist, but innovative companies like American Airlines use technology everywhere to differentiate their company and connect with customers. For example:

  • AA.com gets 1.6 million visits per day.
  • Their mobile app has over 3 million downloads:
    • It’s available on iPhone, iPad, iPod Touch, Android, Blackberry, Nook, Windows Phone 7, and Amazon Kindle Fire.
    • Mobile boarding passes are available in 77 cities.
    • The apps include wifi flight search, flight status notification, and more.
  • Over 800 kiosks allow customers to check in while people can also check in from the website. The kiosks provide passport, credit card, and barcode scanning.
  • The list continues with on-board purchases, advanced loyalty programs, RFID, and more.

These apps aren’t just cool and interesting projects. They are mission critical. Back in the late 90s, I had the opportunity to work on a prototype for the Delta Self-Service Ticketing Kiosk. There are two things I remember distinctly from the experience: 1) One of the most interesting problems to solve was “creating a great user experience,” because self-serve kiosks were not widely deployed or used and 2) the system architect was completely passionate about building something that couldn’t break. “Unbreakable” was part of his DNA, and words like speed, scale, and “5 Nines” poured out of his mouth in every breath. He knew that, if his system went down, customer satisfaction would suffer and revenue might even take a hit, and mar his job performance reputation.

Fast Forward 15 Years – Today’s Scenario

In today’s world, we’ve introduced new customer facing technology and increased usage in the travel marketplace.

  • Increased concurrent users. The historic agent-only desktop model has expanded to include every passenger to help manage travel real-time across  web, kiosk and moble apps.
  • Usage has increased. Realtime marketing with email and web offers, pricing analytics and social media promotions so passengers can promote their patronage with a simple, “I just checked into the airport for flight 22, and it’s on time. I’ll be in NYC soon!” has dramatically increased the number of ways data is used.
  • Increased scale. With increased users and usage types, data is in demand at unprecedented levels with the ability to parse large volumes quickly at a premium.

In the case of American, their website apps support 1.6 million visits per day, but all their systems must scale to support over 340,000,000 passengers per year (almost 1,000,000 passengers per day). As well, the customer information stored isn’t just for the customer-facing apps mentioned above, there is a multitude of third parties who share, store, and use the info.

So, we have an environment today with mission-critical systems and high-scale, low latency, zero-downtime types of requirements

From the Architect’s Mouth

Recently, we had the opportunity to speak with a cloud architect (anonymously) about their use of vFabric technologies to provide mission critical, cloud-based apps for airlines. This architect works for a company who creates and provides self-service solutions for ATMs, point of sale systems, and airline check-ins through integrated hardware and software. As part of an “insider diary,” we learned about his focus on the next generation of airline check-in and baggage solutions. He explained how the market has shifted in the past few years. Customers used to buy traditional, on-premise data center solutions. Today, more and more of his customers also want to use the cloud to support highly distributed services. For example, a company may want to run the main service in their private cloud, but leverage a public cloud where it makes sense. So, he is leading his company on a journey to deploy Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS) capabilities for their check-in and baggage-related software services.

A Multi-Tenancy Mindset for Anything-as-a-Service is Different

In the discussions, our architect pointed out how development and operations in the cloud is different, particularly for multi-tenant systems. In the traditional software distribution model, developers are mainly responsible for developing and packaging good code. It’s not bug free, but the software company’s technical support team helps the customers deal with bugs in production. In a PaaS or SaaS environment, the code you put into production might impact all your customers at once, create unexpected downtime that your company is responsible for, and ultimately reduce revenue and profit.

Many traditional software companies have learned this the hard way—delivering something-as-a-service takes a different mindset and behavior towards production-ready code. Traditional software companies didn’t used to be “on the hook” for operations.

To underscore that point, there is a key difference between traditional and cloud-ready development practices:

  • Traditional Software: As a traditional software company, your code impacts others in THEIR data center WITHOUT a risk or loss of revenue to you.
  • Cloud Services Software: When you provide “cloud services,” your code impacts others in YOUR data center WITH a risk or loss of revenue to you.

Let’s put it another way for developers and development team leads who deploy problematic code to their customers:

  • In scenario A, your own tech support team might call you (the developer) for help.
  • In scenario B, the CEO and executive team demand everyone works till it’s fixed.

Still, you might say, “we aren’t a software company or information services company, this doesn’t apply to me.” If your company is innovating at all, it probably applies to you. If not, the IT department is still headed towards delivering the datacenter as a service, which takes a similar mindset.

What to Look For in Cloud-centric Dev-Ops Tools

In the case of our architect, he recognized the importance of uptime and knew that developers, QA teams, and operations needed a tool that could be used to both profile code and integrate with operational dashboards on development, QA, and production environments. In addition, their cloud-based production environment needed to dynamically scale to prevent outages (or low quality service) and virtualized to keep costs low.  But most importantly, he wanted to improve his process three ways:

  1. Prevent bad code from getting into production
  2. Have an early warning system if bad code got into production
  3. Decrease the time it took to resolve problems related to the bad code in production

Here were the key, high-level requirements for application performance monitoring across devops team members:

Development and QA Requirements Production and Operations Requirements
Support Java, Spring, and J2EE See global VM performance dashboards globally and by multi-tenant group
Monitor Tomcat, JBoss, and WebSphere See CPU, disk, storage, and memory
See real-time CPU utilization, thread counts, and utilization Receive alerts based on thresholds
See stack traces, method calls, and paths Provide data logging and reporting

Our architect searched for and reviewed many products and eventually signed on to the beta program for vFabric Application Performance Manager (Note: APM recently improved capacity by 500%). To explain his approach to using APM, several past posts cover how Spring Insight Operations and Spring Insight Developer is used with APM in cloud environments:

>> Learn how these tools are used in the Software Defined Data Center to Auto-Scale Gracefully.

The Outcomes You can Expect with APM

At the end of the day, our architect sees ROI. While there was an adoption curve with his team, they see the following benefits based on work to date:

  • A proactive monitor of infrastructure, app, and VM health that can also report on SLAs
  • Reduced risk of operations
  • More efficient operations and deployments
  • More effective coding by using profiler types of capabilities
  • Reduced bug resolution time across environments
  • Code built with more efficient resource utilization and optimized for virtualized environments
  • A QA process that can now verify code, evaluate performance, and assure reliability

>> For more information on APM:

This entry was posted in APM, AppInsight, Mobile, Spring Insight and tagged , , , , , , , , on by .
Adam Bloom

About Adam Bloom

Adam Bloom has worked for 15+ years in the tech industry and has been a key contributor to the VMware vFabric Blog for the past year. He first started working on cloud-based apps in 1998 when he led the development and launch of WebMD 1.0’s B2C and B2B apps. He then spent several years in product marketing for a J2EE-based PaaS/SaaS start-up. Afterwards, he worked for Siebel as a consultant on large CRM engagements, then launched their online community and ran marketing operations. At Oracle, he led the worldwide implementation of Siebel CRM before spending some time at a Youtube competitor in Silicon Valley and working as a product marketer for Unica's SaaS-based marketing automation suite. He graduated from Georgia Tech with high honors and an undergraduate thesis in human computer interaction.

8 thoughts on “Building a Multi-Tenant Development Mindset in the Travel Software Industry

  1. Pingback: Quick Update: How The Travel Industry Benefits From APM

  2. Meredith

    I loved as much as you’ll receive carried out right here.
    The sketch is tasteful, your authored material stylish.
    nonetheless, you command get got an edginess over that you wish
    be delivering the following. unwell unquestionably come more formerly again as
    exactly the same nearly a lot often inside case you shield this hike.

    Also visit my page schwindel übelkeit – Meredith -

    Reply
  3. http://horner3769.wordpress.com/2014/01/27/im-vergleich-sinnvolle-produkte-in-ursache-fur-schwindel-und-nausea/

    Hey I know this is off topic but I was wondering if you knew of any widgets I could add to my blog that automatically tweet my newest twitter updates.
    I’ve been looking for a plug-in like this for quite some time and was hoping maybe you would have some experience with something like this.
    Please let me know if you run into anything. I truly enjoy reading your blog and I look forward to your new updates.

    My web blog – http://horner3769.wordpress.com/2014/01/27/im-vergleich-sinnvolle-produkte-in-ursache-fur-schwindel-und-nausea/

    Reply
  4. übelkeit am morgen ursachen

    Hey! Quick question that’s completely off topic. Do you know how to make your site mobile friendly?
    My web site looks weird when viewing from my apple iphone.
    I’m trying to find a theme or plugin that might be able to fix this problem.
    If you have any recommendations, please share.
    With thanks!

    Reply
  5. healthy breakfast recipes for kids

    There is an epidemic of people, who are overweight,
    diabetic, have high blood pressure, and many other health
    problems, including cancer. They do not swim like scallops or attach themselves to objects like
    rocks and pilings like oysters. With the right courses from
    the right provider, you will soon have the hands-on injecting experience that you
    require to be able to inject people competently
    and safely.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>