View
127
Download
0
Category
Preview:
Citation preview
Go-ing PlacesGo in the travel industry
Introduction
Paul Mooney
Host, insidethecpu.com
Architect, Ryanair Labs
Programming with Go for 1 year
Schedule
Why
Where
How
Disclaimer
I’m not a recruiter
WhyReasons we chose Go
Speed
Inter-process communication
Dependency analysis
Reduced dependency on C
Efficient mark-and-sweep garbage collection
Beauty
Promotes idiomatic code
Structure and documentation are part-and-parcel
Parallelism is eas[y](ier)
Superb data-transfer and memory management
Price
Linux VMs are cheaper than Windows
33% approx. saving per VM
Goroutines vs. threads
Smaller memory footprint
Disconnected from OS threading mechanism
More scalable stack
Encapsulated preemption, synchronisation
WhereWhere we run Go
Payment system
50K+ daily transactions
Multiple facets of execution
Encapsulated complexity
Payment card validationBIN-range lookup
Luhn check
Sensitive data-retrieval
External security
Internal security
Fraud-detection
Dynamic currency-conversion (DCC)
Sensitive data retrieval
Making a payment
PCI compliance
HowHow Go works
Static types
Variables retain specified type
Problems identified at compile-time
Memory management
Variables live on the stack or heap
Generally favour the local call stack
Heap reserved for long-life or large objects
–You
“Just show me the damn code!”
Final thoughts
Backbone of Ryanair finance
Reduced cost
Increased speed of operation
Standardised developement
Shameless plug
Source code
https://github.com/daishisystems/fallback
https://github.com/daishisystems/month
ie.linkedin.com/in/daishisystems
@daishisystems
Recommended