Hacker News new | ask | show | jobs
by kevinsf90 4302 days ago
For a large codebase, these upgrades will be a pain, especially on ruby/rails. To scale in the long run, it'd probably be wise to modularize & split the codebase into microservices, and at the same time, port to, say, a scala or java based framework (like Play).
2 comments

I'd be interested in hearing a bit more about how GitHub structure their app. From the sounds of it, they have one big monolithic app. Running the tests can't be pretty on that...
Yup; one monolithic app. Tests run in a tad over two minutes.
That is insanely fast, for what must be an enormous codebase. Do you mean it runs in two minutes on your Mac, or on distributed CI servers?
We use the test-queue gem (https://github.com/tmm1/test-queue) to run our test suite in parallel across 10x 8 core machines.
That's awesome! We were using parallel_tests, but we just bought a second test server. I was looking into Kochiku from Square, but that gem looks perfect. Thanks!
Two minutes is actually pretty fast for such a large app. Well done. And congratulations on the migration.
What's the coverage on that?
Why do you think that Scala or Java will help to reduce upgrade cost?