Re: Amazon

2008-02-23 Thread Raymond Wan


Hi,

One of the first things I would look is their job postings...if they are 
switching, that would be one sign.  Indeed, I saw a few software 
development jobs on amazon asking for Java and C/C++ experience.  Only 
found one asking for any two of Java, C/C++, and Perl.  Of course, this 
is just a hint...they may be hiring people to maintain their payroll 
database, etc.


But you might want to watch their jobs DB to see if there is any trend 
they're moving toward...


Ray


Jonathan Vanasco wrote:
I've heard from a few reputable sources that Amazon is looking to drop 
mod_perl, and push into another technology ( which I've also head is 
likely to be Java ).




Re: Amazon

2008-02-23 Thread Andy Armstrong

On 23 Feb 2008, at 07:25, Jie Gao wrote:

Choosing java for better performance would certainly be a joke.



Java isn't slow you know :)

Memory usage, well, that depends. But it's not slow.

--
Andy Armstrong, Hexten






Re: Amazon

2008-02-23 Thread deepfryed
I think what Jie meant was "choosing java *just* for performance would
certainly be a joke"

On 2/23/08, Andy Armstrong <[EMAIL PROTECTED]> wrote:
> On 23 Feb 2008, at 07:25, Jie Gao wrote:
> > Choosing java for better performance would certainly be a joke.
>
>
> Java isn't slow you know :)
>
> Memory usage, well, that depends. But it's not slow.
>
> --
> Andy Armstrong, Hexten
>
>
>
>
>


Re: Amazon

2008-02-23 Thread Andy Armstrong

On 23 Feb 2008, at 11:29, [EMAIL PROTECTED] wrote:


I think what Jie meant was "choosing java *just* for performance would
certainly be a joke"



Ah. Sorry.

--
Andy Armstrong, Hexten






Re: Amazon

2008-02-23 Thread Geoffrey Young



Jonathan Vanasco wrote:
I've heard from a few reputable sources that Amazon is looking to drop 
mod_perl, and push into another technology ( which I've also head is 
likely to be Java ).


I always thought amazon was a good argument for perl but not mod_perl - 
last time I looked they were using mason + fastcgi (not mod_perl)


--Geoff


Re: Amazon

2008-02-23 Thread Tina Müller

hi,

On Sat, 23 Feb 2008, Michael Lackhoff wrote:


In a recent issue of the German iX magazine there was a report about a
similar migration (www.mobile.de I think).


I would like to comment on that article. I think it is very important to
read this article less as a "Everyone should migrate to Java, here's
why" and more as a "We've been migrating, here's how and what problems
we solved".

The reason I'm saying this is because the article keeps quiet about some
details. I'm not saying the article is wrong or bad, but from a perl
programmer's point of view there are some important details left out.


- some of the original developers left, so it was difficult to
  maintain the original codebase


This is true. But there were two main reasons why Perl programmers left
- The company moved from the city to somewhere in the middle of nowhere.
  It's normal that you lose employees if you do this.
- The company had sponsored perl workshops and had sent people to
  workshops and conferences before. That stopped long before the switsch
  to Java. It's no surprise that it gets at least more difficult to find
  perl programmers if you stop supporting the community.


- JAVA community with lots of help and high quality tools and libraries.
- the new solution used less resources (they saved a few hundred
  servers) and still ran faster.


Also with that part the article leaves something important out. Part of
the solution that saved lots of servers was the new search component.
This is written in C++ (I'm telling no secrets here, although this
wasn't mentioned in the article), and the first part of the changes was
in fact letting the perl code communicate with the new search engine.
Already this was a success and saved lots of hardware.

While I would certainly say that the new code design and software
architecture is much better than the old one (naturally, if you
redesign something historically grown up), I'd also say this could have
happened with Perl, too. For many features which were actually needed
there was no time. But if you do a rewrite you have time for everything.

I felt the need to say that after reading the article. Again, the
article itself is written well for its purpose, but if you (or your
boss) search for reasons to switch to Java you should search for
something more detailed.


  A few years ago the 'P' in LAMP clearly was 'Perl', now it is 'PHP'
  in most cases. Developers tend to go (even if slowly) where the money
  is.


Well, talking about PHP, I would be careful as a company to
say there are more PHP developers, and they are even cheaper, so we
switch. There *are* professional PHP programmers and it is possible to
write good code, but the fact that there are many PHP programmers is in
my opinion due to the fact that it's easy to write a simple website with
it and almost every webhoster supports it. So I would estimate to get
PHP programmers with the same quality you have to search as long as for
perl programmers, if you care about security.
So I still hope that at least some companies prefer quality to quantity.

regards,
tina

--
http://darkdance.net/
http://perlpunks.de/


Re: Amazon

2008-02-23 Thread Roberto C . Sánchez
On Sat, Feb 23, 2008 at 06:25:42PM +1100, Jie Gao wrote:
> 
> Choosing java for better performance would certainly be a joke. If a
> java solution fails, it would be an industry-standard failure, backside
> covered. :-)
> 
Just a variation on the old, "Nobody ever got fired for choosing IBM."

Regards,

-Roberto

-- 
Roberto C. Sánchez
http://people.connexer.com/~roberto
http://www.connexer.com


signature.asc
Description: Digital signature


Re: Amazon

2008-02-23 Thread J. Peng
modperl is fast, but it consumes too much memory.
so we choose fastcgi written by C++.

On Sat, Feb 23, 2008 at 10:49 PM, Roberto C. Sánchez
<[EMAIL PROTECTED]> wrote:
> On Sat, Feb 23, 2008 at 06:25:42PM +1100, Jie Gao wrote:
>  >
>  > Choosing java for better performance would certainly be a joke. If a
>  > java solution fails, it would be an industry-standard failure, backside
>  > covered. :-)
>  >
>  Just a variation on the old, "Nobody ever got fired for choosing IBM."
>


Re: Amazon

2008-02-23 Thread Tina Müller

offtopic:

On Sat, 23 Feb 2008, J. Peng wrote:


modperl is fast, but it consumes too much memory.
so we choose fastcgi written by C++.


actually it consumes less memory than FastCGI if you do it right. If you
load as many modules and data structures as you can at startup time,
Apache will share the memory between the processes (as long as you don't
change the data).
With FastCGI this is not possible (or so I was told), so you usually end
up with using more memory.

regards,
tina

--
http://darkdance.net/
http://perlpunks.de/


Re: Amazon

2008-02-23 Thread Perrin Harkins
On Fri, Feb 22, 2008 at 8:59 PM, Jonathan Vanasco <[EMAIL PROTECTED]> wrote:
> I've heard from a few reputable sources that Amazon is looking to
> drop mod_perl, and push into another technology ( which I've also
> head is likely to be Java ).

Amazon uses Mason with FastCGI.  They have never used mod_perl.  They
also use nearly everything (C++, Java, etc.) somewhere in their
system.  The Perl stuff is just used on the front-end.

They have a quirky setup.  For one thing, they use Safe, which makes
it hard to use all the normal CPAN modules.  I'd be surprised if they
moved off Perl though.  It would be a major investment for them to
rewrite.

- Perrin


Re: Amazon

2008-02-23 Thread Perrin Harkins
On Sat, Feb 23, 2008 at 10:08 AM, Tina Müller <[EMAIL PROTECTED]> wrote:
> On Sat, 23 Feb 2008, J. Peng wrote:
>
> > modperl is fast, but it consumes too much memory.
> > so we choose fastcgi written by C++.
>
> actually it consumes less memory than FastCGI if you do it right. If you
> load as many modules and data structures as you can at startup time,
> Apache will share the memory between the processes (as long as you don't
> change the data).
> With FastCGI this is not possible (or so I was told), so you usually end
> up with using more memory.

The process model is pretty similar (pre-fork), so it should be about
the same.  The important part of that sentence though was "C++", which
would have a smaller footprint than Perl if it was done well.  It's a
tradeoff for developer time of course...

- Perrin


Re: Amazon

2008-02-23 Thread J. Peng
On Sat, Feb 23, 2008 at 11:08 PM, Tina Müller <[EMAIL PROTECTED]> wrote:
> offtopic:
>
>
>  On Sat, 23 Feb 2008, J. Peng wrote:
>
>  > modperl is fast, but it consumes too much memory.
>  > so we choose fastcgi written by C++.
>
>  actually it consumes less memory than FastCGI if you do it right. If you
>  load as many modules and data structures as you can at startup time,
>  Apache will share the memory between the processes (as long as you don't
>  change the data).

Apache with prefork mode can share the memory? Sorry I didn't know it.
Sharing memory between multi-processes need extra programming, I don't
know apache has done it already.


Re: Amazon

2008-02-23 Thread Tina Müller

On Sat, 23 Feb 2008, J. Peng wrote:


>  On Sat, 23 Feb 2008, J. Peng wrote:
>
>  > modperl is fast, but it consumes too much memory.
>  > so we choose fastcgi written by C++.
>
>  actually it consumes less memory than FastCGI if you do it right. If you
>  load as many modules and data structures as you can at startup time,
>  Apache will share the memory between the processes (as long as you don't
>  change the data).

Apache with prefork mode can share the memory? Sorry I didn't know it.
Sharing memory between multi-processes need extra programming, I don't
know apache has done it already.


well, it's not "shared memory", it's just the simple forking model which
doesn't copy memory, for example module code or big configuration data.
only if you change some of the data the process copies the memory page.

--
http://darkdance.net/
http://perlpunks.de/


Re: Amazon

2008-02-23 Thread William A. Rowe, Jr.

J. Peng wrote:


Apache with prefork mode can share the memory? Sorry I didn't know it.
Sharing memory between multi-processes need extra programming, I don't
know apache has done it already.


Both prefork and worker models share memory.  fork() takes all of your
pages and marks them "copy on write".  This means; no-touchie, share nice.
Don't confuse this with shared, writeable pages.

Once you do write to any byte of a common page (even assigning the same
value and not actually anything), the kernel makes you up your own private
copy.  Do that in every fork()ed child, and it hurts.  This is why the
process and conf pools of httpd should never be touched by a sane module
from the child_init hook, onwards.

But you won't notice the sharing as much with worker model, since there
might be only 10 processes sharing memory to support 250 children, instead
of 250 children all sharing that same config.  Although worker starts out
25 times more compact, so the net win from fork()+threading is roughly
equivalent ;-)