Thanks Joachim, for the answer. I had the same thoughts about the
architecture. And yes of course, there
is no easy and simple answer ... such an answer is always wrong ... So
it is more important to see, were for which parts of distributed
architectures Pharo is currently successful used. Scalability and
Performance will always an issue. I like Pharo really, but i have not to
goal ending up in a complex deployment of Pharo Nodes, because a Pharo
with Seaside can only handle - say 20 user - ...
i will now read the BetaNine case, Joe mentioned ;-)
On 13.12.2016 20:29, jtuc...@objektfabrik.de wrote:
Volkert,
I surely cannot help you with concrete answers. We are not even using
Pharo for our Seaside App.
All I've learned is that all of these questions are extremely hard to
answer. Will Pharo or any other Server side technology scale? Forget
it, nobody will be able to tell you the truth.
What I've learnt so far is that this whole thing is mostly a question
of distributing services between servers (images and external
processes). Make things small and devidable. Load the number crunching
off of your web facing image and build clever UIs that give good
feedback about the progress of lengthy operations.
If I tell you that my current estimate is that a Smalltalk image with
Seaside will not be able to handle more than 20 concurrent users, in
many cases even less. What does that actually tell you? YMMV based on
the work that is done in that image, and there are so many influencing
factors. If of these 20 users only 1 currently asks for heavy
computation, this can already mean the server is slow for the other 19.
Our Application is very different from what you describe: Accounting
is mostly CRUD operations, which means there are not many things you
can delegate to external programs or even servers. Your scenario
sounds very different. It sounds like you can do the data aggregation
and refinement part in a separate (maybe REST based and stateless)
server and mostly render nice "wait, we're working for you" dialogs
and present nice results once they're done. This scales wonderfully
and the front-end web server mostly does nothing other than send out
self-reloading please-wait pages. Such a server (image) can probably
even handle 50 or more concurrent users. Thus you end up with several
layers on which you can scale easily and mostly independently. If your
aggreations are slow, add a few images that do the aggregations.
So if your question is whether you can handle 500 concurrent users in
Smalltalk or Pharo with Seaside, the answer is definitely YES. If you
want to know how many Images are needed, how many servers you'd have
to order, you'll probably not get any useful answers. My feeling is
that you can't know exactly because every app is so different. There
probably are just not enough projects out there to collect relevant
data...
Joachim
Am 13.12.16 um 20:06 schrieb Volkert:
On 12.12.2016 19:52, Norbert Hartl wrote:
Am 12.12.2016 um 19:16 schrieb Volkert <volk...@nivoba.de>:
After reading reading "Enterprise Pharo a Web perspective", i am
curious to learn more about current real world pharo web
application set ups. any case studies or blue prints around? i am
interested in application domain, system architecture,
infrastructure (HW/OS/DB), performance goals (concurrent users,
transactions, ...), system sizing, scalability strategies, ....
everything which could important to convince "me" to select pharo
as a platform for a saas solution …
What you really want to know? All the things you mentioned above are
not pharo related at all! Can you at least roughly sketch in which
area you would consider to use pharo?
Norbert
I like to know more about current real world pharo web application
set up ... not more, not less.
Think of a environmental information management system
50000 User / 500 Concurrent
Data Aggregation
Data Refinement / Processing
Data Visualization
15-20 Dataprovider
Web UI