SlideShare a Scribd company logo
GO IN HETEROGENEOUS
LANGUAGE
ENVIRONMENTS
Oleksandr Simonov
ABOUT ME
17 years in IT
Addict of Programming
Languages Polyglot
OpenSource contributor
HETEROGENEOUS
ENVIRONMENTS
USING HARDWARE AND
SYSTEM SOFTWARE FROM
DIFFERENT VENDORS
GO in Heterogeneous Language Environments
GO in Heterogeneous Language Environments
WHAT IS WRONG?
COMMUNICATION
COMMUNICATION
CHANNELS
• Database
• WebHook
• Pub/Sub
• RPC
GO in Heterogeneous Language Environments
DATABASE
• Easy to use
• Transactions
• Slow
• Hard to maintain
GO in Heterogeneous Language Environments
WEBHOOK
• Fast
• Flexible
• Secure
• Hard fallback logic
• Connection issues
• No retries
GO in Heterogeneous Language Environments
PUB/SUB
• Message Oriented
• Channel based
• No persistance
• Oriented on real-time
messages
GO in Heterogeneous Language Environments
RPC
• Many
Implementations
• Binary protocols
• Secure
• Need to wait on
response
• No persistance
GO in Heterogeneous Language Environments
ANY BETTER SOLUTION?
GO in Heterogeneous Language Environments
QUEUES SYSTEMS
• ActiveMQ
• RabbitMQ
• Faktory
• NSQ
GO in Heterogeneous Language Environments
HOW TO CHOOSE?
• Setup costs
• Support costs
• Implementation costs
• Hardware costs
• Benchmark
SETUP COSTS
• How much time required to run it locally?
• How must time to run in production?
• Multi-Nodes support?
SUPPORT COSTS
• How stable is it?
• How to catch errors?
• Fault-Tolerance?
IMPLEMENTATION COSTS
• Does API is easy to use?
• How clients documented?
• Supported platforms and languages?
HARDWARE COSTS
• Does it required a lot of resources?
• How it deal with big amount of requests?
• Data recovery? Backups?
BENCHMARK
• Run a stress testing with limited resources
• Run a stress testing with ultra power
resources
• 99% percentile of overload test
FAKTORY
• Sidekiq like behavior
• Easy to start
• Best option for simple interconnection
• Clients for most usable languages
FAKTORY
• Used in 3 projects which related to
marketing/advertising automation
• We have connected Ruby, Go, PHP in one
ecosystem
• Nice UI to check what is going
• ~1000 req/second
HAVE MORE REQUESTS?
• How fast you need to proceed them?
• How much resources you will have for them?
• MQ Server is ok for you?
• Can you say bye for other languages?
QUESTIONS?

More Related Content

PPTX
6 reasons you should program in go
PDF
All Aboard The Stateful Train
PDF
Sierra Wireless Developer Day 2013 - Show&Tell 5 - Simple PnP SMS Gateway
PPTX
2600hz WebRTC Meetup at WeWork, San Francisco, CA
PDF
FFMEET: running a non-profit conference system
PDF
FFMUC: Half a year with WireGuard
PDF
y3dips hacking priv8 network
6 reasons you should program in go
All Aboard The Stateful Train
Sierra Wireless Developer Day 2013 - Show&Tell 5 - Simple PnP SMS Gateway
2600hz WebRTC Meetup at WeWork, San Francisco, CA
FFMEET: running a non-profit conference system
FFMUC: Half a year with WireGuard
y3dips hacking priv8 network

What's hot (15)

PDF
NZIFF and Fastly
PDF
Bio routing - DKNOG9
PDF
FFMUC goes wild - Infrastructure recap 2020 #rc3
PPTX
Nfc in wp8
PPTX
Ansible E2E Testing
PDF
Edge Of The Web
PPTX
Fiddler web testing tool
PDF
Altitude San Francisco 2018: We Own Our Destiny
PDF
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
PPTX
Art of refactoring - Code Smells and Microservices Antipatterns
PDF
Flow monitoring explained - From packet capture to data analysis - the use of...
PDF
Zabbix over the Internet
PPTX
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
PPTX
KazooCon 2014 - WebRTC
PPTX
Functional Programming in PHP
NZIFF and Fastly
Bio routing - DKNOG9
FFMUC goes wild - Infrastructure recap 2020 #rc3
Nfc in wp8
Ansible E2E Testing
Edge Of The Web
Fiddler web testing tool
Altitude San Francisco 2018: We Own Our Destiny
Altitude San Francisco 2018: HTTP/2 Tales: Discovery and Woe
Art of refactoring - Code Smells and Microservices Antipatterns
Flow monitoring explained - From packet capture to data analysis - the use of...
Zabbix over the Internet
Altitude San Francisco 2018: Preparing for Video Streaming Events at Scale
KazooCon 2014 - WebRTC
Functional Programming in PHP
Ad

Similar to GO in Heterogeneous Language Environments (20)

PDF
Concurrent Ruby Application Servers
PDF
Open source Tools and Frameworks for M2M - Sierra Wireless Developer Days
PPTX
Presention on Facebook in f Distributed systems
PDF
Cs556 section1
PDF
Dotnetfest forget about http
PDF
Queueing at the Checkout
PPTX
.NET Fest 2019. Irina Scurtu. Forget about HTTP
PDF
Adding Real-time Features to PHP Applications
PDF
Configuring was forenterprisemessaging
PDF
Zero to scaleable in ten minutes
PDF
Rigadevdays - Communication in a microservice architecture
PDF
Devit - forget about http requests
PDF
Life in a Queue - Using Message Queue with django
ODP
Art Of Message Queues
PDF
MPI, Erlang and the web
PDF
PHP is the king, nodejs is the prince and Lua is the fool
PDF
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
PDF
PHP is the King, nodejs the prince and python the fool
PDF
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PDF
Which messaging layer to use in a loosely coupled distributed app (no speaker...
Concurrent Ruby Application Servers
Open source Tools and Frameworks for M2M - Sierra Wireless Developer Days
Presention on Facebook in f Distributed systems
Cs556 section1
Dotnetfest forget about http
Queueing at the Checkout
.NET Fest 2019. Irina Scurtu. Forget about HTTP
Adding Real-time Features to PHP Applications
Configuring was forenterprisemessaging
Zero to scaleable in ten minutes
Rigadevdays - Communication in a microservice architecture
Devit - forget about http requests
Life in a Queue - Using Message Queue with django
Art Of Message Queues
MPI, Erlang and the web
PHP is the king, nodejs is the prince and Lua is the fool
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
PHP is the King, nodejs the prince and python the fool
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
Which messaging layer to use in a loosely coupled distributed app (no speaker...
Ad

More from Amoniac OÜ (15)

PDF
Dokku your own heroku 21
PDF
Cleaners of Caribbean
PPTX
Ruby JIT Compilation
PDF
Ambiguous Sinatra
PDF
Capistrano and SystemD
PPTX
Distributed Cluster in Ruby
PDF
Roda: Putting the Fun Back into Ruby Web Development
PDF
Rubymotion: Overview and Ecosystem
PDF
Rupher
PDF
Different Ways of Integrating React into Rails - Pros and Cons
PDF
Functional Web Apps with WebMachine Framework
PDF
Functional Ruby
PDF
How to Become a Сhef
PDF
Let's Count Bytes! Launching Ruby in 32K of RAM
PDF
Deployment tales
Dokku your own heroku 21
Cleaners of Caribbean
Ruby JIT Compilation
Ambiguous Sinatra
Capistrano and SystemD
Distributed Cluster in Ruby
Roda: Putting the Fun Back into Ruby Web Development
Rubymotion: Overview and Ecosystem
Rupher
Different Ways of Integrating React into Rails - Pros and Cons
Functional Web Apps with WebMachine Framework
Functional Ruby
How to Become a Сhef
Let's Count Bytes! Launching Ruby in 32K of RAM
Deployment tales

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Spectroscopy.pptx food analysis technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
MIND Revenue Release Quarter 2 2025 Press Release
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
sap open course for s4hana steps from ECC to s4
MYSQL Presentation for SQL database connectivity
Spectroscopy.pptx food analysis technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Empathic Computing: Creating Shared Understanding
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Diabetes mellitus diagnosis method based random forest with bat algorithm
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
Programs and apps: productivity, graphics, security and other tools
MIND Revenue Release Quarter 2 2025 Press Release

GO in Heterogeneous Language Environments