5 ms·
Rebuilding to scale is a bad idea IMHO. The moment your app takes of you have just about everything on your mind, but not a clean slate rewrite in a different l
by Xylakant 15y ago
Rebuilding to scale is a bad idea IMHO. The moment your app takes of you have just about everything on your mind, but not a clean slate rewrite in a different language. You'll need to scale and scale fast. So you'll be tacking on hot-fixes for stuff that breaks, features your customers want, ... And the more code you write, the less attractive it sounds to rewrite.
I wouldn't try to convince the coders to use a language that they don't know but I'd really try to convince them to have a look at stuff outside their comfort zone. There's a lot to loose but also a ton of things to gain. Have a look at other storage options (NoSQL, ...), other languages and what benefits they offer. Think of running on environments such as GAE or Heroku that are not available for PHP. They do offer their own share of advantages when it comes to scaling an app. They do have some disadvantages as well. Maybe there's a set of libraries in a given language that helps you a long way, maybe there's not.
However, in the end I'd say that the language you choose is the least of your problems. Cool technology can be built in pretty much any language.
- phamilton 15y agoI'd say the happy medium is a SOA design. If you separate out the critical modules into a separate service, a rebuild to scale isn't much more than a refactor to scale, which you are going to have to do at some point in time no matter what platform you build on.
- Xylakant 15y agoYes, sure. There's more benefits to reap: You can intermingle your services with services bought/rented somewhere and eventually replace the ones you're using if it pays of at the scale you reached (think redis2go vs. a self-hosted redis server) Services usually offer good boundaries at which you can separate the system and scale over multiple machines as well as a good entry point for black box testing.