The Concept of
Hybrid
Applications
Seth Payne, Sr. Technical Product Manager
In 2014, many organizations will
look to move cloud computing
past the early phase and
constrained use cases and into
more widespread, production
adoption.
Gartner: 2014 Planning Guide for Cloud Computing
Greenfield
Applications
Hybrid
Infrastructure
Not Always
Applicable
Not Often
Sufficient
*Licensed from http://www.shutterstock.com/
SvcApplication
Hybrid Application
Key Points
The cloud can greatly improve the efficiency, agility,
and scalability of existing enterprise software
Production software must often be designed to
work well in the cloud
Businesses want to leverage and extend their
existing investments
Technology Adoption
New computing technologies almost
always augment, rather than replace,
existing technology
Mainframes
~1965
Client
Server
~1985
Service
Oriented
~1995
Cloud
Computing
~2005
96 of the world’s top 100
banks
71% of global Fortune 500
companies
IBM’s most profitable business line
23 of the 25 top US retailers
Mainframes are still with us
Image source: http://www.websoftwareqa.com/2010/07/new-problems-for-agile-scrum/
Option 1: Punt
Eventually, disregarding the
advantages of the cloud will benefit
your competition
Option 2: “Private Cloud”
Often just on-premises
virtualization. Provides value, but
the benefits are not a superset of
what the cloud provides.
Option 3: Hybrid Apps
A hybrid application spans multiple
infrastructure and cloud locations, making
use of resources and services from each.
Components of the application may run
on-premises or in the cloud.
Candidates for migration
• Services or components that aren't meeting scaling needs
• Migrations with quick payback through reduced costs
• New opportunities: Things you can't do easily on your own infrastructure
• Services benefiting from global reach and reduced latency to end-users
• Non-production workloads such as development & test labs
Qualities to seek out
• Aligns with corporate security and compliance policies
• Self-contained and loosely coupled to other services
• Not sensitive to latency with remote services
• Idempotent protocols with other services (tolerant of network
hiccups)
• Already scale out and fault tolerant
Challenges you may face
• Need for federated authentication and authorization
• New deployment strategies
• Different monitoring and alerting strategies
• Various data placement decision (close to where it is used)
• Need for new IPC mechanisms between remote services
Most enterprise applications will evolve to the cloud
Cloud adoption within the enterprise should focus on the creation
of hybrid applications rather than hybrid infrastructure
This still isn’t easy, but purpose built services like Skytap are
emerging to help move specific workloads to the cloud
Summary
Watch the Webinar Video
http://j.mp/SkytapHybridApps
Click Here:

Concept of Hybrid Applications

  • 1.
    The Concept of Hybrid Applications SethPayne, Sr. Technical Product Manager
  • 2.
    In 2014, manyorganizations will look to move cloud computing past the early phase and constrained use cases and into more widespread, production adoption. Gartner: 2014 Planning Guide for Cloud Computing
  • 3.
  • 4.
  • 5.
    Key Points The cloudcan greatly improve the efficiency, agility, and scalability of existing enterprise software Production software must often be designed to work well in the cloud Businesses want to leverage and extend their existing investments
  • 6.
    Technology Adoption New computingtechnologies almost always augment, rather than replace, existing technology Mainframes ~1965 Client Server ~1985 Service Oriented ~1995 Cloud Computing ~2005
  • 7.
    96 of theworld’s top 100 banks 71% of global Fortune 500 companies IBM’s most profitable business line 23 of the 25 top US retailers Mainframes are still with us Image source: http://www.websoftwareqa.com/2010/07/new-problems-for-agile-scrum/
  • 9.
    Option 1: Punt Eventually,disregarding the advantages of the cloud will benefit your competition
  • 10.
    Option 2: “PrivateCloud” Often just on-premises virtualization. Provides value, but the benefits are not a superset of what the cloud provides.
  • 11.
    Option 3: HybridApps A hybrid application spans multiple infrastructure and cloud locations, making use of resources and services from each. Components of the application may run on-premises or in the cloud.
  • 13.
    Candidates for migration •Services or components that aren't meeting scaling needs • Migrations with quick payback through reduced costs • New opportunities: Things you can't do easily on your own infrastructure • Services benefiting from global reach and reduced latency to end-users • Non-production workloads such as development & test labs
  • 14.
    Qualities to seekout • Aligns with corporate security and compliance policies • Self-contained and loosely coupled to other services • Not sensitive to latency with remote services • Idempotent protocols with other services (tolerant of network hiccups) • Already scale out and fault tolerant
  • 15.
    Challenges you mayface • Need for federated authentication and authorization • New deployment strategies • Different monitoring and alerting strategies • Various data placement decision (close to where it is used) • Need for new IPC mechanisms between remote services
  • 16.
    Most enterprise applicationswill evolve to the cloud Cloud adoption within the enterprise should focus on the creation of hybrid applications rather than hybrid infrastructure This still isn’t easy, but purpose built services like Skytap are emerging to help move specific workloads to the cloud Summary
  • 17.
    Watch the WebinarVideo http://j.mp/SkytapHybridApps Click Here:

Editor's Notes

  • #3 While cloud computing offers tremendous opportunities to improve the efficiency and scalability of enterprise applications , adoption **within** the enterprise has really just begun This is a quote from Gartner that suggests we’ll see even broader cloud adoption in 2014
  • #4 There are still a variety of obstacles however One of the key obstacles is how people think about and plan for cloud adoption The focused tends to be on either new greenfield applications or the creation of hybrid infrastructure Greenfield applications are often designed from inception to run in the cloud -> And while they do appear in the enterprise from time to time, they are certainly not what runs most businesses Hybrid Infrastructure -- sometimes called a Hybrid Cloud -- focuses on connecting on-premise infrastructure with cloud resources -> While hybrid infrastructure is often useful, it does not solve the harder problem of uplifting the apps that run on the infrastructure
  • #5 When considering complex enterprise software, what we need… is a deeper focus on the applications How can the **applications** themselves be extended to take advantage of the cloud -> In this graphic, I show just one service of an existing application moving to the cloud I am calling this a hybrid application. It is an **existing** application that has had one or more of its components optimized or rewritten to take advantage of cloud resources -------------------- Before I get into more details about hybrid apps, I’m going to share a few reasons why I think this is a likely direction for enterprise software
  • #6  The 1st point I’d like to make is that the cloud can improve the efficiency, agility, and scalability of existing enterprise software I made this point zero because it is really the basis of my entire presentation I won’t spend much time on this because I assume that most people attending this conference already buy off on this The short version is that these benefits derive from well known qualities like: Metered usage, capacity on demand, global reach, and ready made application services in the cloud
  • #7 The previous point leads directly to this one…. Which is that we have seen this before New computing technologies almost always augment, rather than replace, existing technology We’ve seen many examples of this over the years. I am going to talk about a few of them briefly
  • #8  While I wouldn’t really want to start a new mainframe business, they are still with us today 30ish years after workstations and client server architectures became common This is 2013 data Many bank, retailers and big companies still use mainframes, and it is IBMs most profitable business line
  • #9 Let’s change gears, and do a little role playing. I’ll be the director of application development for this fabulous looking application. (Based on the complexity, I’ll say that I work for Health and Human Services…. (there are probably 500 million lines of code in there)) Anyway, I have some barriers and some opportunities to start taking advantage of the cloud within my application Let’s take a look at some specifics -> This piece is running on a mainframe, and its too costly for me to rewrite from scratch in order to move it to the cloud -> This is my data warehouse used for business intelligence The problem is that it is under performing due to increasing load, and is becoming difficult to scale up I’m also paying a lot in licensing fees for the data warehouse software -> This service that holds sensitive medical record and has heightened security and COMPLIANCE needs. It could be moved, but the level of effort to maintain COMPLIANCE would be high. -> Over here is my web tier. It is already a scale-out ASP.NET application, but scaling is manual. It could really benefit from auto scaling because the load is bursty, but I have no on-prem solution for this -> And finally, I have an internal dev/test **lab** with some challenges During the day there is a lot of contention for this environment, and at night it is under utilized Because it is a single environment my team can not run tests in parallel ** Overall this lab has become a significant bottleneck in my SDLC The rest of my application is working fine. The hardware is paid for, there aren’t many bugs or new features needed. (I don’t want to mess with it) -------------------- *** So given these challenge, and the four points raised earlier, What are my options?
  • #10 Option 1: Punt This works in the short term, and some of companies are following this approach today But eventually, disregarding the advantages of the cloud will benefit your competition Your app may end up on the losing side of natural selection
  • #11 Option 2: “Private Cloud” (which often amounts to just on-premise virtualization) While on-premise virtualization does provide value, the benefits generally don’t overlap with what a the cloud can provides On-premise solutions have High CAPEX requirements and low elasticity They usually lack the scalable application building blocks provided by the cloud And most importantly: Your IT shop needs to manage both the on-premise infrastructure along with the applications that are running on top of them
  • #12 Option 3: Start creating Hybrid Applications I described hybrid apps already briefly and I have a more complete definition on this slide Basically, are applications that runs in multiple places. Often partially on-premise and partially in the cloud The important point is that it is the **application** that is changed to take advantage of the cloud rather than the infrastructure
  • #13 Let’s return my role as the owner of this complex application and convert it into a hybrid app I’ve found three component that I can uplifted to take advantage of the cloud -> I’ll start with the data warehouse system If you recall, it was under performing and was going to be difficult for me to scale up -> So lets port this service to Amazon Redshift. This **will definitely** take development effort, but I’ll see dividends in reduced costs and better scaling, that should result in even more insights from my data. This service was fairly easy to move because it is Self contained And not sensitive to latency with the rest of my system -> Next I’ll look my application’s web tier It is already a scale-out ASP.NET application. My main goal is to take advantage of auto scaling to handle bursty demand One challenge is that the web tier’s connection to its database **is** latency sensitive, so I don’t want to separate those two components -> To avoid problems, I’ll move the both web tier along with its DB to EC2 and RDS. Communication with the rest of my system is over a message bus that is low volume and loosely coupled. So this is a good place to divide my app. -> And finally, I’ll consider my problematic dev/test lab Rather than have just a single dev/test environment, I want to be able to quickly deploy and copy multiple environments on demand I want each environment to be fully isolated form all the others, but also easily sharable. -> Since my night Job happens to be the CTO of Skytap, I have conveniently realized that I can get these qualities,,, and more,,, by moving my dev/test environments into Skytap (I’ll demo a few of the features in a few minutes) Since Skytap can use AWS or more traditional infrastructure under the covers my production deployments and my dev/test environments will be on similar infrastructure So those are the only components I want to move for now -> I’ve avoided touching the areas of my app that where difficult to move to the cloud like the mainframe and sensitive data In fact, most of my application is left unchanged
  • #14 To do this, you need to start looking for components to migrate Here are a few ideas for finding good candidates to move More elastic Metered usage, low hourly rates, scaling down Ready made app services AWS has broader reach The last point is relevant, because non-production workloads that are associated with your application often have fewer constraints and are easier for businesses to move to the cloud In his keynote yesterday, Andy Jasey talked about the migration of dev/test workloads as one of key strategies for cloud adoption
  • #15 When you find a candidate component of service for potential migration to the cloud, how do you qualify it? This certainly isn’t an exhaustive list, but the easiest components to move will have one or more of these qualities Since we’re being opportunistic (read them)
  • #16 Of course it will never be quite as easy as I’m making it sound These are some challenges you may face while migrating components to the cloud (skim points) Need for data replication or caching achieve qualities like guaranteed delivery
  • #17 To summarize I strong believe most enterprise applications will evolve to the cloud. Cloud adoption within the enterprise focus on the creation of hybrid applications rather than hybrid infrastructure *** Forklift upgrades are not desirable, shouldn’t be expected, and are not practical This still isn’t easy, but purpose built services like Skytap are emerging to help move specific workloads to the cloud