powering payments with node.js
TRANSCRIPT
Powe ring Payme nts with N od e . j sT o m L o m a s & M i c h a e l W a i n
B ac k g round A tS k y B e tting & G aming
Headline Figures• Up to 100 transactions per second at peak
• Peaky traffic profiles
• Billions of £ per year in transaction value
• Over 1 million active customers
• Support for Cards, PayPal, Skrill & Neteller
• Now support for Apple Pay!
M ig ration to M ic ro S e r v ic e s
Historically Our Systems Were…• Largely monolithic applications provided by a third party
• Direct integrations with Payment Service Providers
• Little control and insight into the inner workings and business rules
• Hard to introduce new features and bound to release cycles
Our Roadmap
Reasons for choosing Node.js• Scalable
• Performant for our use case
• Low barrier to entry
• Proven technology
• Ability to rapidly develop new features
• Community support
• Growing feature set and platform innovations
• Green field opportunity
R ap id D e v e lop me nt
Rapid Development• External Modules
• Express JS
• IO Redis
• New Relic
• Standard Internal Modules• Logging
• Profiling
• Error Handling
• Health Checks
• Fast & Small Iterations
• Infrastructure code (Chef) along side Node
Application Structure
R ap id D e p loyme nt(A nd C ontinuous D e l iv e r y)
Automated Testing
Code Cut
Deployment
R unning at S c ale
Running at Scale• Vertical and Horizontal scaling
• Hardware and software load balancers
• Nginx reverse proxy
• Automated application health checks
• Graphite, Nagios & Newrelic
• Aggregated application logs, for quick triaging and metric collection
• Graceful rolling restarts
F utur e ?
Future?• Possibly use TypeScript or Flow
• As requirements evolve, re-evaluate tech decisions. Golang? Java? Rust?
A ny Q ue s tions ?
A L S O: s k yb e tc ar e e r s . c om J