|
|
|
|
|
by bdcravens
4126 days ago
|
|
I'm trying to decompose a Ruby monolith into microservices, but is it necessary to change languages? For my use case, I'm less concerned with languages than I am with libraries (AWS library, Sidekiq, Devise, deployment toolchains, etc). |
|
You might see significant advantages moving to ruby microservices if you have high traffic and a complex monolithic app which would benefit from being split up. They are not a panacea of course as they introduce significant complexity, whatever language they are implemented in - it's a matter of trade-offs and once your monolith reaches a certain size it might be worth splitting it up.
Re libraries, most of the ones you mention have analogues in go or are pretty simple to replace, save AWS, which is apparently coming soon:
AWS - https://aws.amazon.com/blogs/aws/coming-soon-aws-sdk-for-go/
Sidekiq - go myFunc()
Devise - bcrypt.CompareHashAndPassword + the mailer functions
Deployment - Rsync or Ansible - this is simpler in go as all you require are your executable + templates