The Cache: Technology Expert's Forum
 
*
Welcome, Guest. Please login or register. September 23, 2019, 01:50:45 AM

Login with username, password and session length


Pages: [1]
  Print  
Author Topic: heroku magic  (Read 2859 times)
isthisthingon
Global Moderator
Lifer
*****
Offline Offline

Posts: 2879



View Profile
« on: January 30, 2011, 01:55:26 AM »

I was perusing heroku and found their architecture tour to be very interesting - independent of the fact that Ruby is the language of their PaaS cloud.  Jeff Douglas is a cloud guru and has posted 2 parts of a series of Ruby for Force.com Developers (part 1 & part 2).

The similarities between Force.com and heroku in terms of their multi-tenant architectures are striking and it's pretty clear why Salesforce would be interested in buying them.  IMO, wrapping your mind around this particular approach to elastic provisioning at the software development level is totally 

Heroku had the audacity to build their own custom "routing mesh" with Erlang, just to be that damn cool.  But their "Dyno Grid" is totally where it's at:

Quote
Dyno Grid
This is where the action happens. Your actual code runs inside a dyno process. You can run as many dynos as needed, and they're distributed across the grid.
The number of dynos running for your app can be increased or decreased instantly it takes less than 2 seconds to start a dyno for most apps. The routing mesh can even hold connections while waiting for a dyno to start.

Nice  Smiley



* heroku.jpg (50.6 KB, 569x509 - viewed 326 times.)
Logged

I would love to change the world, but they won't give me the source code.
nop_90
Global Moderator
Lifer
*****
Offline Offline

Posts: 2203


View Profile
« Reply #1 on: January 30, 2011, 02:33:57 AM »

Erlang blows your mind Smiley
Basically distributed computing built into the language.
Logged
isthisthingon
Global Moderator
Lifer
*****
Offline Offline

Posts: 2879



View Profile
« Reply #2 on: January 30, 2011, 02:58:01 AM »

Basically distributed computing built into the language.

This was a key advantage claimed by Java proponents that would result in replacing C++, though it didn't quite prove as easy as they claimed.

Interesting pro/con opinions on Erlang: http://sacharya.com/erlang-overhyped-or-underestimated/
Logged

I would love to change the world, but they won't give me the source code.
nop_90
Global Moderator
Lifer
*****
Offline Offline

Posts: 2203


View Profile
« Reply #3 on: January 30, 2011, 03:39:37 PM »

This was a key advantage claimed by Java proponents that would result in replacing C++, though it didn't quite prove as easy as they claimed.
Comparing Erlang to C++/Java is like comparing a duck to a 747, they both fly.
Erlang is a functional language, the only way to have true distributed computing is with a functional language.
You can modify Erlang as it is running. Once you fire it up, not need to ever reboot. (I have no idea how this magic occurs).

Problem with Erlang, except for making a server type program, it is useless for regular development.
This is because you need the VM for it.
Also it is very hard to interface with C/C++,DLLs etc. Basically you have to make a "loader" for the DLL and talk to it with pipes.
This is because of the way fault tolerance works in Erlang. If you directly loaded the DLL into Erlang, it would defeat the purpose (it could bring down entire VM, all of the crashes in PHP,python etc are because of shared libs)

Erickson never gave a shit about promoting Erlang. They use it internally, and they just threw it out there.
Only in the last few years have people been talking about Erlang, no thanks to Erickson.

C/C++ and Erlang are 2 different animals, both have their place.
Ages ago I made a markov with Erlang. Basically you could train it, and it would be stored into Mnesia.
So every time you train, you could just shut down, and it would start when it left off.
It was very fast.
Logged
nop_90
Global Moderator
Lifer
*****
Offline Offline

Posts: 2203


View Profile
« Reply #4 on: January 30, 2011, 03:55:04 PM »

Too lazy to read about Heroku.
But I think they have done with ruby, what Disco does with python.
http://discoproject.org/doc/intro.html

So Erlang handles the "distribution/server" part. Then each node would be a python/ruby machine.
If the nodes are on same machine or across the world not problem.
That way you could instantly scale up or down.

I suspect Erlang is like lisp, a lot of big guys are using it behind the scenes for specific tasks, but no one talks about it Wink
Logged
isthisthingon
Global Moderator
Lifer
*****
Offline Offline

Posts: 2879



View Profile
« Reply #5 on: January 30, 2011, 09:07:00 PM »

lol: http://blog.sforce.com/sforce/2011/01/taking-erlforce-for-a-spin.html

There's an Erlang client library in the works over at Force.com. 
Logged

I would love to change the world, but they won't give me the source code.
Pages: [1]
  Print  
 
Jump to:  

Perkiset's Place Home   Best of The Cache   phpMyIDE: MySQL Stored Procedures, Functions & Triggers
Politics @ Perkiset's   Pinkhat's Perspective   
cache
mart
coder
programmers
ajax
php
javascript
Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks


Valid XHTML 1.0! Valid CSS!