Session given during Drupal Con Amsterdam 2014
About Eurail.com
Eurail.com is a fast growing company that sells train passes online worldwide, with which travellers can visit Europe by train for a few days or a few weeks. Main products are InterRail passes for European residents and Eurail passes for the rest of the world.
Eurail.com belongs to one of the 50 largest internet companies in the Netherlands (located in Utrecht) with the yearly turnover of 60 million euro.
Running 3 ecommerce websites: www.eurail.com, www.interrail.eu and www.germanrailpasses.com
What and Why?
Eurail was experiencing the problems with their previous supplier in support, maintenance of the websites and in development of new features. Outstanding downtimes of the web applications leaded to the drops in sales.
They were looking for a reliable technical partner who could fulfill the existing gaps and who could act as a technical adviser and integrator in the long-term relations.
How?
Audit of the code, security bug fixing
Onboarding on a new platform - Acquia Cloud Enterprise
Performance testing with BlazeMeter
24/7 SLA Support
Complete Drupal 6 to Drupal 7 migration
Agile development
CDN integration
Drupal Commerce integration
Ecommerce migration into Drupal
Who?
Eurail team
Adyax engagement, development and support teams
Partnership with Commerce Guys
When?
Start: March 2013
1 month of Onboarding
7 months of re-development/migration to Drupal 7
1.5 years of Support
7 months for ecommerce migration to Drupal Commerce
Strategy and development plan up to 2017
Results and Learnings?
No downtime
Stable sales
Improved user experience, content management
Ecommerce flows optimized
...
More learnings will be presented by the IT manager of the Eurail.com - Hugo Knobbout, who kindly agreed to assist Adyax in presentation on the conference.
Eurail.com : selling train passes online with Drupal
1. EURAI L.COM: SELLING TRAIN PASSES
@ A D Y A X
ONLINE WITH DRUPAL
A L E K S E Y K H O D A K O V S K I Y & H U G O K N O B B O U T
F A C E B O O K . C O M / E U R A I L F A C E B O O K . C O M / I N T E R R A I L
2. LARGEST DRUPAL SHOP I N EUROPE
350 PROJECTS
150 DRUPALERS
7 YEARS O F GROWTH
10K HOURS PROJECTS
4. EURAIL.COM
C O M P A N Y , P R O D U C T S A N D P R O J E C T G O A L S
5. A LITTLE ABOUT EURAI L.COM
100% E-COMMERCE COMPANY
I N TOP 50 DUTCH LARGEST E-COMMERCE
COMPANIES
30 EMPLOYEES IN UTRECHT
€60M TURNOVER PER YEAR
6. EURAIL.COM
Cooperation between 30 European railway and shipping lines
The Eurail pass was launched in 1959
Eurail.com company was established in 2006
Sell Rail Passes on a global scale through:
www.eurail.com
www.interrail.eu
www.germanrailpasses.com
7. EUROPEAN RAI L PASS FOR EVERY CITIZEN IN THE WORLD
for non-European residents
for European residents
10. CORPORATE PHILOSOPHY
Keep strategic activities in
house
Outsource operational activities
to the best suited companies
11. WHAT DOES THIS APPROACH MEAN?
Internal focus
Content & Media creation
Customer Service
Business development
Search Engine Marketing
External focus
Payment
Fulfilment
Pass delivery
Translations
13. PROJECT GOALS
• Find a partner in Europe with Drupal experts
• Make sure the website is never unreachable again
• Increase user experience/performance where Eurail.com customers are
• Content management on the website should be super easy (with no
knowledge of HTML)
• Go from unstructured to structured (make sure content can be reused
everywhere)
• Migrate all the content from the old website and make sure Google still
likes us
• Go live before next high season (1 march 2014)
24. ON-BOARDING
2013 Jan Mar May Jul Sep Nov
2014
Feb Apr Jun Aug Oct Dec
Goals:
- Analyse the existing problems
- Run the functional and security audits
- Correct all Critical and Blocker issues
- Evaluate and improve the Performance
- On-board on the new Platform
- Ensure no regressions
25. STEP 1: O FF-BOARDING
2013 Jan Mar May Jul Sep Nov
2014
Feb Apr Jun Aug Oct Dec
Start with Checklist
A. Complete exports:
1. Code*
2. Database
3. Files
4. setting.php
B. Technical
1. Installation instructions
2. Configurations (php, Apache, Varnish, etc
3. …
C. 3-5 last accidents on production
@adyax facebook.com/eurail facebook.com/interrail
26. STEP 2: CODE / CONFIGURATION AUDIT
2013 Jan Mar May Jul Sep Nov
2014
Feb Apr Jun Aug Oct Dec
• Code health, security, performance
• Custom server configurations
• Functional discovery, health, security
• 3d parties integrations
• Performance
• SEO
@adyax facebook.com/eurail facebook.com/interrail
27. STEP 3: PERFORMANCE / SECURITY BUG-FIXING
Jan Mar May Jul Sep Nov
2014
Feb
Apr Jun Aug Oct Dec
2013
ONLY CRITICAL AND BLOCKER ISSUES
@adyax facebook.com/eurail facebook.com/interrail
28. STEP 4: ON-BOARDING O N ACQUIA CLOUD
Jan Mar May Jul Sep Nov
2014
Feb
Apr Jun Aug Oct Dec
2013
Platform Server configuration Applications
@adyax facebook.com/eurail facebook.com/interrail
29. STEP 5: FUNCTIONAL / PERFORMANCE TESTING
Jan Mar May Jul Sep Nov
2014
Feb
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
30. STEP 6: RELEASE
Jan Mar May Jul Sep Nov
2014
Feb
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
31. D6 SUPPORT
Mar May Jul Sep Nov
Feb
Apr Jun Aug Oct Dec
2013
Jan 2014
Objectives:
- Support assistance
- Preventive / Adaptive maintenance
- 24/7 SLA coverage
32. CDN PROJECT
Jan Mar May Jul Sep Nov
2014
Feb
Apr Jun Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
Aug Oct
33. AUTOMATED TESTING INTEGRATION
Jan Mar May Jul Sep Nov
2014
Feb
Apr Jun Aug Oct Dec
2013
Continuous integration testing Critical functionality
@adyax facebook.com/eurail facebook.com/interrail
daily & weekly control
34. D7 PROJECT
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2013
Feb
2014 Jan
Goals:
- Re-design the application architecture
- Update the front-end design
- Re-think the content and media structure
- Improve the back-office experience
- SEO focus while sites migration
35. STEP 1: FUNCTIONAL REQUIREMENTS
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
Feb
2014 Jan
Business requirements
Development iteration
Functional specification
Mockups & Design
Functional discovery of D6 app
36. STEP 2: ARCHITECTURE DECISIONS
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2013
1 page = 1 node
Product display & Product selectors
@adyax facebook.com/eurail facebook.com/interrail
Feb
2014 Jan
Structured content
Reusable media assets
No blocks
Editorial experience simplification
Clear back-office
Manual content migration
37. STEP 3: AGI LE DEVELOPMENT
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
Feb
2014 Jan
15 Sprints to Release
Product backlog Sprint backlog Product - Potential delivery
38. STEP 4: NEW FEATURE / CONTENT FREEZE
May Jul Sep Nov
Mar
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
Feb
2014 Jan
No New content No New features
39. STEP 5: M IGRATION & SEO
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
Feb
2014 Jan
• Merge/unpublish pages on Original site 3-4 months
before the migration
• Iteratively transform the content and urls on
Original site to keep Google love after migration
• Migrate Content + URLs
• Run the mirror tests (traffic from Original site to
New site)
40. STEP 6: PLATFORM & PERFORMANCE
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
Feb
2014 Jan
Redimension the Platform
Verify the Performance
41. STEP 7: D7 PROJECT RELEASE
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2013
@adyax facebook.com/eurail facebook.com/interrail
Feb
2014 Jan
42. D7 SUPPORT
Mar May Jul Sep Nov
Feb
Apr Jun Aug Oct Dec
2014
Jan 2015
Same objectives:
- Support assistance
- Preventive / Adaptive maintenance
- 24/7 SLA coverage
No Major issues
since Go-live
43. E-COMMERCE PROJECT
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2014
Feb
2015 Jan
Goals:
- Re-design the E-commerce component
- Improve the Architecture
- Remove manual processes
- New features faster online
44. STEP 0: SOLUTIONS
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2014
@adyax facebook.com/eurail facebook.com/interrail
Feb
2015 Jan
OR
45. STEP 1: BUSINESS REQUIREMENTS
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2014
@adyax facebook.com/eurail facebook.com/interrail
Feb
2015 Jan
10+ Workshops
300+ User stories collected
1k+ Acceptance Criteria
5 White papers
46. STEP 2: ARCHITECTURE
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2014
@adyax facebook.com/eurail facebook.com/interrail
Feb
2015 Jan
OR
47. STEP 3: PLANNING & DEVELOPMENT
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2014
Partner Solutions
@adyax facebook.com/eurail facebook.com/interrail
Feb
2015 Jan
Core
Checkout
Payment
Fulfilment Finance & Reporting
48. STEP 4: PLATFORM
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2014
@adyax facebook.com/eurail facebook.com/interrail
Feb
2015 Jan
Redimension the Platform to On-board E-commerce
• Faster DB servers
• Extra Front servers for Customer Service & Checkout
49. STEP 5: RELEASING
May Jul Sep Nov Mar
Apr Jun Aug Oct Dec
2014
@adyax facebook.com/eurail facebook.com/interrail
Feb
2015 Jan
52. LESSONS LEARNED
• Find a partner that fits with the way your organisation is working
and thinking
• Define the word “Flexible”
• Steering committees is never a waste of time (yes even in good
times)
• Good tracking and documentation system (Jira and Redmine) are a
must have
• Content migration is always taking more time than you expect (for
us it is just a bunch of words, for others it is their baby)
• The ‘3 week sprint approach’ has worked really well
@adyax facebook.com/eurail facebook.com/interrail