Login  Register

Re: New Pharo based solution in the wild

Posted by Stéphane Ducasse on Jan 04, 2014; 9:03pm
URL: https://forum.world.st/New-Pharo-based-solution-in-the-wild-tp4734212p4734225.html

thanks for sharing that with us. We are happy.

I want to share this story with you. I hope one day it will be public for real.

I will tell you what a guy in bank in a east european country told me:
For his first Smalltalk application he used Pharo 1.4 + magritte + seaside + fuel
It took him 3 months of work and only three forms where coded by hand :)
The business unit asked before the IT groups there and the estimate were 1.5 year in C# and 2 years in Java.
It passed all the security tests of the bank. Now another bank is interested :)

Stef


On 04 Jan 2014, at 20:16, Esteban A. Maringolo <[hidden email]> wrote:

> Hi all,
>
> After one year of negotiations (demos, quotes, etc.) and a couple of
> months of development, by the end of December we released a pilot
> version of our pharo based solution.
> The solution consists of a native mobile app (Android), with Pharo 2.0
> servers, using Seaside for the web UI, Seaside-REST for the mobile app
> API and Zinc Websockets to certain "live" features of the web. The
> persistence is GLORP using the native PostgreSQL driver.
>
> I can't disclose much more about the customer or the solution yet, it
> is a private solution for a multinational consumer goods company
> operating in Argentina.
>
> But I can comment on the numbers:
> * The pilot will end in ~40 days
> * It involves 50 mobile users of the Android app using it daily.
> * An nginx frontend for static files and http proxying to the pharo app servers
> * Two pharo images as servers, one for the web interface, and one for
> the REST API. The image is the same, they work as two separate app
> servers to make use of each server and for improved reliability (I
> don't want the seaside failures, which has been none yet, to affect
> the REST API).
> * Everything running in DigitalOcean droplets based in NYC (they add
> ~180ms of latency from here but their price/value equations is
> unmatched).
>
> Some performance numbers:
> * The Pharo server uptime has been no less than perfect, the first 10
> days with uninterrupted uptime. Only shutdown to upgrade the image
> (yesterday night).
> * The load is minor, with peaks of ~30 concurrent mobile users during
> a few "business" moments of the day, the server never passed 15% of
> CPU use. The disk I/O is also small, but the database is small too
> (growing daily).
>
> If the pilot succeeds the plan is to extend the user base to ~1000
> mobile users. But some water must pass under the bridge before
> thinking of that. And if it ever happens, it is going to be gradual.
>
> Some anecdotal info
> I quit my Smalltalk full time job at InfOil (after 9 years of
> employment) to dedicate 100% to my new company. So I'm betting big on
> this. By now I'm the sole Smalltalk developer (devops?) of the
> company. Time has never been more scarce than nowadays.
>
> Why Pharo?
> * Because it is the best open source Smalltalk ("inspired") out there.
> * Because I have 10+ years of experience with Smalltalk I can't throw
> away in the context of rapid prototyping and business domain modelling
> (emphasis on this).
> * It was a key advantage during the negotiations, we could show a
> wireframed live app even before our competition prepared a PowerPoint
> presentation.
>
> The development process with Pharo has been rudimentary, only
> Monticello packages and a couple of workspace scripts to provision new
> images.
> I still can't get my head around Metacello. But honestly I haven't
> dedicated as much time as it needs to be learnt. Having used VAST
> ENVY's ConfigurationMaps successfully in the past is a proof I can
> learn Metacello.
>
> During the last years at InfOil we were using git with Dolphin
> Smalltalk, with CI after every git push to the main repo. This was
> also linked with our issue tracking system, in order to know in which
> build a certain issue was fixed. We used Dolphin's PAX's files (CVS
> friendly), Gitlab, JetBrain's TeamCity and YouTrack
> I'd like to do the same using Monticello's FileTree, BitBucket and
> JIRA (CI server to be defined).
>
> Hopefully with some time, I'll be able to dive deeper into this.
> My learning of Pharo tooling hasn't been straightforward, but maybe
> because I'm old and spoiled with other Smalltalk dialects (VSE, VAST,
> Dolphin).
> I was managing the Android code (java) with git branching and merging
> way before I learnt how to use Monticello. Managing the code (files)
> was the only advantage of working with Eclipse/Java. Everything else
> was a burden compared with Pharo.
>
> I wanted to share my experiences through a blog, but haven't had time
> to set it up as I'd like, and by now this email is going to be all I
> can share. After the pilot, we can talk about reporting a success
> story for Pharo. I felt like this during the last week:
> http://devopsreactions.tumblr.com/post/68251866244/successful-deployment-at-last
>
>
> Best regards,
>
> Esteban A. Maringolo
> CTO (aka DevOps), http://trentosur.com
>