Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Powering payments with Node.js

99 views

Published on

Their talk will run through how Sky Betting & Gaming are undertaking a radical transformation in their payments technology by moving from a large monolithic codebase to smaller microservices powered by Node.js. They will also run through reasons for choosing NodeJS, Express Framework and Rapid development with Node Package Manager.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Powering payments with Node.js

  1. 1. Powering Payments with Node.js T o m L o m a s & M i c h a e l W a i n
  2. 2. Background At Sky Betting & Gaming
  3. 3. 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 • Supportfor Cards, PayPal, Skrill & Neteller • Now support for Apple Pay!
  4. 4. Migration to Micro Services
  5. 5. Historically Our Systems Were… • Largely monolithic applications provided bya 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
  6. 6. Our Roadmap
  7. 7. 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
  8. 8. Rapid Development
  9. 9. Rapid Development • External Modules • Express JS • IO Redis • New Relic • Standard Internal Modules • Logging • Profiling • ErrorHandling • Health Checks • Fast & Small Iterations • Infrastructure code (Chef) along side Node
  10. 10. Application Structure
  11. 11. Rapid Deployment (And Continuous Delivery)
  12. 12. AutomatedTesting
  13. 13. Code Cut
  14. 14. Deployment
  15. 15. Running at Scale
  16. 16. Running at Scale • Vertical and Horizontal scaling • Hardwareand 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
  17. 17. Future?
  18. 18. Future? • Possibly use TypeScript or Flow • As requirements evolve, re-evaluate tech decisions. Golang? Java? Rust?
  19. 19. Any Questions? ALSO: skybetcareers.com J

×