breaking the monorail: payments & service oriented architechture
DESCRIPTION
Breaking the Monorail: Payments & Service Oriented ArchitechtureTRANSCRIPT
![Page 1: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/1.jpg)
Breaking up the MonorailPayments & Service Oriented Architecture
[email protected]/stellacotton@practicecactus
![Page 2: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/2.jpg)
Breaking up the Monorail(aka Fun with Architecture in an Agile World)● Where we are now
○ a Monorail● Where we want to be
○ An app of decoupled services● How we’re going to get there
○ Hard work and a can-do attitude?
![Page 3: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/3.jpg)
Where We Are Now● Legacy Payments code
![Page 4: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/4.jpg)
Making a Contribution
![Page 5: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/5.jpg)
...wait for it...
![Page 6: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/6.jpg)
...and done (sort of)
![Page 7: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/7.jpg)
● Difficult to monitor● A tightly coupled architecture slows down
innovation and growth○ No one wants to break Payments!
Where We Are Now
![Page 8: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/8.jpg)
Where We Want to Be● Client request (Indiegogo.com)
def create
PaymentService.charge(@contribution)
end
![Page 9: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/9.jpg)
Where We Want to Be● PaymentsService Response
{ "response": { "timestamp": "2014-08-13T16:50:07.131-07:00", "200": "Success", }}
or{ "response": { "timestamp": "2014-08-13T16:50:07.131-07:00", "404": "WHOOPS!", }}
![Page 10: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/10.jpg)
How to Get There● Modularize current payments code● Create internal, versioned API● Build PaymentService gem for the main app
to integrate client side API code● Write contract tests to keep us honest
![Page 11: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/11.jpg)
How to Get There● Break apart the databases● Work with DevOps to separate deploy● Monitor the hell out of everything
![Page 12: Breaking the Monorail: Payments & Service Oriented Architechture](https://reader035.vdocument.in/reader035/viewer/2022070303/54b308ea4a7959d3168b46a3/html5/thumbnails/12.jpg)
Thank you!Stella [email protected]/stellacotton@practicecactus