commerce - orchard harvest amsterdam 2013
DESCRIPTION
TRANSCRIPT
![Page 1: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/1.jpg)
CommerceBertrand Le Roy
Benevolent Dictor, Co-Founder [nwazet
Brett MorrisonCo-Founder, Chief Innovation Officer
Onestop Internet
![Page 2: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/2.jpg)
Orchard Harvest Conference – Amsterdam 2013
CartCheckout & Payment
How hard can this be?Get going! Off you go!
A harder problem than your manager thinks
![Page 3: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/3.jpg)
Orchard Harvest Conference – Amsterdam 2013
Products: content itemsDescription, TitleReviews: comments & votesPhotos: galleriesStatic pagesSearchRelated Items
a CMS should help
![Page 4: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/4.jpg)
Orchard Harvest Conference – Amsterdam 2013
CartCheckout, Payment, RefundsTaxesShippingOrder ProcessingInventoryRule-based Discounts and PromotionsBundlesReviewsRelated ProductsFaceted Searchetc.
no such thing as simple commerce
![Page 5: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/5.jpg)
Orchard Harvest Conference – Amsterdam 2013
payment gateways are all crap
![Page 6: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/6.jpg)
Orchard Harvest Conference – Amsterdam 2013
except for Stripe
![Page 7: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/7.jpg)
Orchard Harvest Conference – Amsterdam 2013
integrated solutions are worse
The vital info according to Amazon
![Page 8: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/8.jpg)
Orchard Harvest Conference – Amsterdam 2013
shipping gateways are all crap
![Page 9: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/9.jpg)
Orchard Harvest Conference – Amsterdam 2013
except for postmaster.ioFree under 30 shipments / month$9.95 for 30-100 shipments a month$29.95 for 100-500 shipments a month$49.95 for 500-1000 shipments a month
![Page 10: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/10.jpg)
Orchard Harvest Conference – Amsterdam 2013
and easypost
5¢ per shipment
https://www.geteasypost.com/
![Page 11: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/11.jpg)
Orchard Harvest Conference – Amsterdam 2013
e-commerce sample
available modules
![Page 12: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/12.jpg)
Orchard Harvest Conference – Amsterdam 2013
Buy from Amazon
available modules
![Page 13: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/13.jpg)
Orchard Harvest Conference – Amsterdam 2013
Amazon Checkout
available modules
![Page 14: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/14.jpg)
Orchard Harvest Conference – Amsterdam 2013
available modules
DocumentationPayPal-enabled theme
![Page 15: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/15.jpg)
Orchard Harvest Conference – Amsterdam 2013
[nwazet commerceFork it on BitBucket
available modules
![Page 16: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/16.jpg)
Orchard Harvest Conference – Amsterdam 2013
DEMO
[nwazet
![Page 17: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/17.jpg)
Onestop - Outsourced E-Commerce
![Page 18: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/18.jpg)
Orchard Harvest Conference – Amsterdam 2013
• Started in 2003 – 2 guys literally in a garage
• First year, $2M revenue• 10 years later, 200 employees, 4
offices worldwide, 100,000 sq ft Headquarters in Southern California
• 35+ Clients• Full Service e-commerce: Shipping,
Warehousing, Photography, Customer Service, On-Line Marketing, Software Platform
Onestop History
![Page 19: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/19.jpg)
Orchard Harvest Conference – Amsterdam 2013
Onestop Clients
![Page 20: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/20.jpg)
Onestop e-commerce goals
• On-Board Customers Faster
• Provide a self-service portal (dashboard) for commonly updated elements
• Build an extensible and maintainable codebase
• Provide a consistent user experience cross-browser and cross-device (tablet/mobile)
• Fault-tolerant multi-node, multi-data center deployment
![Page 21: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/21.jpg)
Orchard Harvest Conference – Amsterdam 2013
Replace .NET Forms Platform with modern architectureLooking for a CMS Framework based on MVCNeeded an extensible application platform, not just a CMSLove C#
Decided on Orchard
![Page 22: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/22.jpg)
Onestop DEMO – johnvarvatos.com
![Page 23: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/23.jpg)
Orchard Harvest Conference – Amsterdam 2013
• Fork of 1.6 from Codeplex, we patch our repo only for critical bug & security updates
• We fork all modules we use• Custom recipe for provisioning• Move to 1.7 shortly in our internal 1.x branch• Usually prop at night, draining load
balancers• Combination of BitBucket, Bamboo,
MSDeploy transforms, Virtual directories for ~/Media, Robocopy
• * Opportunity for Orchard Community to make some improvements in this area.
Deployment - Live, production, always on clients
![Page 24: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/24.jpg)
Onestop 2 Techniques for Phased Approach
Not possible to rewrite entire codebase on new technologies quick enough
Off-Line Metaphor: Tearing down a house vs. remodeling – BOTH are a lot of work
2-LEVEL HYBRID APPROACH1. API Connection to legacy (JSON, highly cached)2. Virtual Directories
![Page 25: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/25.jpg)
Onestop CMS Hybrid Architecture
![Page 26: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/26.jpg)
Onestop - Connecting to legacy platform
![Page 27: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/27.jpg)
Onestop - Virtual Directories
![Page 28: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/28.jpg)
Onestop - Why Hybrid?
BECAUSE THIS SCREEN IS COMPLICATED!
![Page 29: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/29.jpg)
Onestop - Rewrite Rules
Rewrite rules let us cleverly and seamlessly load the Onestop Classic platform
/checkout
Rewrites to:/spyo/store/os/checkout.aspx
![Page 30: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/30.jpg)
Orchard Harvest Conference – Amsterdam 2013
• Sub 100ms page load times when loaded from the “edge”
• Challenging to build pages that are dynamic and fully output-cacheable
Performance Levels
![Page 31: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/31.jpg)
Orchard Harvest Conference – Amsterdam 2013
• Caching – many, many layers of cache“Cache” is the 3rd most used word used in our offices after “Coffee” and “Frenchman”.– Output Cache – Contrib.Cache,
Contrib.Cache.Memcached– Data Cache – Orchard.Caching,
Orchard.Caching.Memcached– NHibernate over Memcached– CDN (Akamai)– Cache Headers
• Log4net cross nodes• Instance variables within App Pool• UGC – Media Folder, DFS• * Opportunity for Orchard Community to make
some improvements in this area.
Multi-Node Challenges
![Page 32: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/32.jpg)
Orchard Harvest Conference – Amsterdam 2013
Caching & Classic Topology
CMS Application
CMS Database Store Database
Internet Firewall 12 Web Server NodesCDN
Classic
4 API Server Nodes 4 Cache Server Nodes
.NET Runtime Cache
Is Item in Cache? Yes
Load Balancer
CMS Routing And Rendering Engine
Modules
No
Get it
50ms – 500msNHibernate
.NET Runtime Cache
API Request / Response
Insert into Cache
![Page 33: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/33.jpg)
Orchard Harvest Conference – Amsterdam 2013
• Database 2-way Replication across physical data centers– Needs a re-work
• Memcached nodes per data center
Multi-Data Center Challenges
![Page 34: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/34.jpg)
Orchard Harvest Conference – Amsterdam 2013
• 24+ Custom Modules• 55+ Custom Features• Team of 6 Dedicated Engineers &
Growing• Betting our company future for the
next generation of clients on Orchard as an application platform
• 4 Sites live now, 8 by end of 2013• 25+ Sites live by end of 2014
Embracing Orchard
![Page 35: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/35.jpg)
Orchard Harvest Conference – Amsterdam 2013
• Ylan posted a job description. Go find him!• Work by the beach (picture taken in
February :)!
We’re hiring
![Page 36: Commerce - Orchard Harvest Amsterdam 2013](https://reader034.vdocuments.us/reader034/viewer/2022052617/54822ec7b07959520c8b4737/html5/thumbnails/36.jpg)
Orchard Harvest Conference – Amsterdam 2013
• Very interested in discussing some of Onestop’s challenges with others in the community with similar requirements
• Questions???
Q & A