follow the yellow brick road to emerging technologies
TRANSCRIPT
Follow the yellow brick road to emerging technologies Bruno Meseguer, Development Architect, Vodafone Nabeel Saad, Senior Solution Architect, Red Hat
THE JOURNEY AHEAD
1. Brief introduction to Vodafone and the project
2. The key challenges
3. Selection process for the new technology
4. The magic of a new framework
5. Some final thoughts
AN INTRODUCTION TO VODAFONE AND THE PROJECT
ABOUT VODAFONE
• Vodafone is one of the world’s largest mobile communications companies by revenue, providing a range of communications services
• The Group has significant international presence with equity interests in around 30 countries and more than 50 partner networks worldwide
• May 2013: Market capitalisation of around £90 billion
VODAFONE GLOBAL REACH
ZOOM INTO THE HEART OF THE PROJECT
Vodafone Group
Emerg Tech
GIG
Standardise global services across all Vodafone countries
Enable capabilities in Vodafone Group, e.g messaging, charging, etc..
Onboard Partners and connect Opcos. Implement services.
VODAFONE’S GLOBAL INTEGRATION GATEWAY (GIG) Technical capabilities view
VODAFONE’S GLOBAL INTEGRATION GATEWAY (GIG) Systems Layers View
VODAFONE’S GLOBAL INTEGRATION GATEWAY (GIG)
• 2008 ○ Poor HTTP performance from TIBCO component ○ Had to find a fast HTTP gateway ○ IBM's DataPower was the answer > 800 TPS
• 2012 ○ Vision to port systems to a cloud environment ○ IBM's hardware not portable ○ The quest to find a replacement for IBM's DataPower starts
A little bit of history
Scalable and flexible architecture
MAIN DRIVERS
Cloud enabled Growth
Minimise migration efforts
VODAFONE’S GLOBAL INTEGRATION GATEWAY (GIG) The objectives for the new technology
To find a highly performant, software based solution, that is portable to the cloud.
Friendly customer support
Versatile Fast adoption
THE KEY CHALLENGES TECHNICAL AND OPERATIONAL
• A normal HTTP server retrieves resources or generates some content and quickly responds to the client
• What happens when a system acts as a pass-through and needs to wait for backend responses?
• Delays from the backend could be disastrous to the system
THE PERFORMANCE CHALLENGE
THE PERFORMANCE CHALLENGE
• The worker thread-pool gets exhausted, where are the workers?
Quickly running out of workers!
THE PERFORMANCE CHALLENGE
• Worker threads need to wait for the backend response to resume
Thread busy… doing nothing!
THE PERFORMANCE CHALLENGE
• A waiting queue of requests rapidly grows Requests keep coming!
THE PERFORMANCE CHALLENGE
• Clients get increasingly angry! Unhappiness!
Load
needs to be...
Asynchronous
The resulting equation THE PERFORMANCE CHALLENGE
Delays
+
THE OPERATIONAL CHALLENGE Do more for less with better quality
Not HW based
Zero touch deployment
Cost-effective scaling
THE OPERATIONAL CHALLENGE Do more for less with better quality
Not HW based
Zero touch deployment
Cost-effective scaling
THE OPERATIONAL CHALLENGE Do more for less with better quality
Not HW based
Zero touch deployment
Cost-effective scaling
SELECTION PROCESS STEP BY STEP
SELECTION PROCESS Timeline
Sep 2012
Oct 2012 Nov 2012
Dec 2012
Jan 2013
• Layer7 o Highly recommended by Group Architecture
o Pre-selected by Group Architecture to replace DataPower o Under testing proved not to be Asynchronous.
• WSO2 o up and coming SOA product based on open source
projects.
SELECTION PROCESS
SELECTION PROCESS
• As Netty proved to be very efficient, Vodafone approached Red Hat and asked us to provide Netty support
• Red Hat agreed to integrate Netty HTTP into the product (it already included the Netty TCP component)
• Red Hat delivered a Netty HTTP concept for Vodafone to try out
Red Hat comes into play
Thin & lightweight
Architectural reasons for considering JBoss Fuse
All Integration Patterns
Plenty of Connectors
Flexible
Not SOA locked
SELECTION PROCESS
SELECTION PROCESS Operational reasons for considering JBoss Fuse
Flexible Deployment
Embedded Monitoring
Readily Available Expertise
Simple
SELECTION PROCESS
• To stress the bridge we bombard it with a constant TPS rate and delay the response by 5 seconds using Netty.
Lab Preparation
SELECTION PROCESS Performance results
** as per 2012 lab results
Interactions with Red Hat
Nov 2012 to June 2013
June 2013 Dec 2013
POC
Communication is key
“ ” x16cores
A..N B..Y C..N D..N
x48cores
A..Y B..Y C..Y D..N
Onwards to production
SELECTION PROCESS
Jan 2014 Apr 2014
More cores soon
• Active involvement with Sales and Solution Architects
• Liaising with engineering and product management on features and issues
• Working with consulting, support and training to enhance the experience
• Attending Red Hat conferences and forums
SELECTION PROCESS Active collaboration with Red Hat
Collaboration
SELECTION PROCESS
• Although only one product could get selected, all of them had an opportunity to identify weaknesses
• They all immediately put engineers at work to focus around those areas to be improved
• They all managed to boost up their engines: o some more than others (x2, x3, x4) o some adopted the asynchronous mechanisms (x100)
Everyone wins
SELECTION PROCESS
• Fastest NIO product available (Netty enabled) • Integration product (Camel) • Red Hat guarantees quality o Attention to detail in design and implementation o Outstanding support
• Red Hat’s engineers are the lead open source committers • Provides a simplified and flexible deployment process
Red Hat’s JBoss Fuse gets selected
SELECTION PROCESS
• It was very critical to make the right choice • We invested the right amount of time on each one of the steps • We know we took the best approach for Vodafone
No Rushing!
VODAFONE’S FRAMEWORK USING THE MAGIC OF A NEW PRODUCT
Framework’s main bundle VODAFONE’S FRAMEWORK
• Brief description of Connectors o Listen to incoming requests o Concentrate on the business logic o Delegate execution control to the Framework
• Brief description of Framework o Decouple and standardise the execution flow o Reduce complexity in customisations o Include common functionality o Ensure stability, robustness and performance
The Framework’s components VODAFONE’S FRAMEWORK
VODAFONE’S ORIGINAL FRAMEWORK Traditional build and deployment processes
VODAFONE’S ORIGINAL FRAMEWORK The main drawback
• Traditionally our developments are based on frameworks; however on upgrades of this framework, the following was required on a per component basis: o A new build from Development o Deploying a new framework meant the re-deployment of all the
components
o We are talking about 70+ components...
Opening the box VODAFONE’S FRAMEWORK
Brainstorming ideas • How to improve our processes? o Can every team benefit from it?
§ How can we simplify the deployment? • Can we reduce the impact on the code?
o Can we simplify configuration?
§ Why is there a pink elephant in the room?
. Why is the Wicked Witch of the West actually wicked?
VODAFONE’S FRAMEWORK New processes: OSGI orientated
New processes: Deployment improvements VODAFONE’S FRAMEWORK
New processes: Deployment improvements VODAFONE’S FRAMEWORK
New processes: Deployment improvements VODAFONE’S FRAMEWORK
New processes: Deployment improvements VODAFONE’S FRAMEWORK
Framework's performance
• An early performance round shows the framework maintains most of the POC TPS rate well within the acceptable margin
o around 85-90% of the raw potential available
o with 5 seconds delay at the back and 2K payload we obtain 700 TPS § Note: The Lab environment used is SLOW ! § The Lab environment speed is half that of a
modern environment.
VODAFONE’S FRAMEWORK
FINAL OVERVIEW THE GOOD, THE WICKED AND THE OZ-SOME
• Vodafone’s Framework o Nearly 100% of the functionality completed
• Migration of DataPower flows o 8 out of 8 Sprints have been released o 70+ flows in total
• Deployment into pre-production has commenced
CURRENT STATUS OF THE PROJECT Progressing nicely
HOW JBOSS FUSE COMPARES TO DATAPOWER?
• Of course, JBoss Fuse is software based instead of Hardware based, this means ○ it is “cloud-able”, and we are free to choose the hardware to run it on ○ the hardware is much cheaper (particularly important when scaling) ○ any one can run it on a laptop
• Performance results suggest a substantial gain in overall TPS rate
• The community of open source based solutions is much bigger
• We can exploit the potential of 64 bits environments ○ DataPower has both 32 and 64 bit modes; however a large investment is required to
use the new 64 DataPower XI52s
Side by side
• It is Java based
• It is developer friendly ○ DataPower development is painful
• Red Hat Customer support represents a quality leap coming from IBM's ○ fast responses to customer cases ○ skilled agents at the other end of the line ○ proactive and collaborative reaction ○ a user friendly Customer Support Portal !!
ARE THERE ANY OTHER ADVANTAGES? Absolutely!!
WHAT ABOUT THE DISADVANTAGES?
New Vodafone Framework, will need some time to mature It's new to us, we don't
have OSGI experience
New Netty component, we may find some integration defects
Only normal to have a few...
THE GOOD, THE WICKED AND THE OZ-SOME
• The good ○ The incredible number of available alternatives on how to do a particular task ○ New team members were able to pick up the product and the framework quickly
• The wicked ○ Not intuitive with the mix of available frameworks ○ The available IDE to graphically define flows is not mature enough ○ Having many options to do one task is seen as a positive, but in some cases is a negative ○ Steep learning curve when starting from scratch
• The Oz-some ○ The raw performance of the Camel framework and the Netty HTTP component ○ Very active product, with constant addition of features ○ Red Hat like to hear the bad, to mitigate any issues ○ Customer support is first class
Final overview!
ANY QUESTIONS? THERE’S NO PLACE LIKE HOME
(PLEASE FILL IN THE SURVEY)