Hi Romain, Laurent,
Having Amazon ec2 image is also a very good idea, and some
Smalltalkers have already made first important steps like:
http://www.nickager.com/blog/Create-a-free-Gemstone-server-in-the-cloud-in-10-minutes/
After having shared the above Amazon AMI (Amazon machine image), and
experimented with EC2 hosting, I realised there are some undesirable
properties of AMIs:
Quite a list... The main issue is that I'd like to be able to build server
infrastructure from composable pieces and share configuration knowledge with
others. This led me to Chef (http://opscode.com/chef/) where people create
configuration "recipes" and a specific configuration is composed from these
recipes. The benefit of using something like Chef is that there are already
recipes for the standard parts of the server configuration eg installing and
configuring Apache, Nginx, MySql, Postgres etc have already been taken care
of. Chef abstracts the OS, and the cloud (eg EC2, slicehost etc).
The task is then to create recipes for Seaside specific parts. There are a
couple of Gemstone recipes already (
https://github.com/timfel/gemstone-cookbooks,
https://github.com/johnnyt/gemstone-cookbooks). A few of us (myself Norbert
Hartl, Stephen Eggermont) plan to investigate coding our configurations is
Chef - though it's still early days and it may prove that it's more complex
than we need.
Our basic requirements are to be able to rapidly deploy production, staging,
backup, Jenkins continuous integration and development VMs.
Do others have experience with Chef or something similar?
Ideally ESUG or someone else would provide http://www.heroku.com/ for
Seaside - but it would require formalising more of our stack and providing a
flexible solution to https.
Hope this helps,
Nick
Thanks a lot Nick for your feedback, it is helpful.
Laurent.
On Wed, May 18, 2011 at 9:46 AM, Nick Ager nick.ager@gmail.com wrote:
Hi Romain, Laurent,
Having Amazon ec2 image is also a very good idea, and some
Smalltalkers have already made first important steps like:
http://www.nickager.com/blog/Create-a-free-Gemstone-server-in-the-cloud-in-10-minutes/
After having shared the above Amazon AMI (Amazon machine image), and
experimented with EC2 hosting, I realised there are some undesirable
properties of AMIs:
Quite a list... The main issue is that I'd like to be able to build server
infrastructure from composable pieces and share configuration knowledge with
others. This led me to Chef (http://opscode.com/chef/) where people create
configuration "recipes" and a specific configuration is composed from these
recipes. The benefit of using something like Chef is that there are
already recipes for the standard parts of the server configuration eg
installing and configuring Apache, Nginx, MySql, Postgres etc have already
been taken care of. Chef abstracts the OS, and the cloud (eg EC2, slicehost
etc).
The task is then to create recipes for Seaside specific parts. There are a
couple of Gemstone recipes already (
https://github.com/timfel/gemstone-cookbooks,
https://github.com/johnnyt/gemstone-cookbooks). A few of us (myself
Norbert Hartl, Stephen Eggermont) plan to investigate coding our
configurations is Chef - though it's still early days and it may prove that
it's more complex than we need.
Our basic requirements are to be able to rapidly deploy production,
staging, backup, Jenkins continuous integration and development VMs.
Do others have experience with Chef or something similar?
Ideally ESUG or someone else would provide http://www.heroku.com/ for
Seaside - but it would require formalising more of our stack and providing a
flexible solution to https.
Hope this helps,
Nick
Nick,
thank you for sharing your thoughts on this. In the course of reading your mail I thought: "It seems what we really need is a place for lots of tutorials, cookbooks and best practices, not so much a platform". The fact that there is such a hetergeneous environment out there, and the fact that there are differences between Smalltalk platforms (and even within them: several available HTTP servers/adaptors) it seems we should not so much concentrate on a single platform. Such a platform could easily be dismissed by many people for one of the reasons you mentioned.
So what would be better?
I think a collection of cookbooks would. Maybe defining layers of a web app, starting from the Browser through all layers of functionality to the data backend, and collecting material for each of them would be much better. If I'm interested in a load-balanced, https-aware installation of a Squeak Image that persists data in Magma, I can choose appropriate documentation for each layer. Some layers may not be deeply related to Smalltalk at all, then we could add links to relevant information (like how do I configure Apache as a load balancer with Sticky sessions?), while others might be deeply related to Smalltalk.
I must say I've never heard of Chef, but I'll definitely take a look at it!
Joachim
>Nick Ager <nick.ager@gmail.com> hat am 18. Mai 2011 um 09:46 geschrieben:
Hi Romain, Laurent,
Having Amazon ec2 image is also a very good idea, and some
Smalltalkers have already made first important steps like:http://www.nickager.com/blog/Create-a-free-Gemstone-server-in-the-cloud-in-10-minutes/
After having shared the above Amazon AMI (Amazon machine image), and experimented with EC2 hosting, I realised there are some undesirable properties of AMIs:
It's an image; with all the benefits and problems that entails; namely either you like the whole thing or not. It's not composable; it's difficult to know precisely what has been configured and how, and difficult to choose the bits you like and replace the bits you don't like.
You can't (currently for Linux), create an AMI locally and upload it, meaning everything has to be performed remotely and operating remotely in the IDE over X11 forwarding can be slow.
It's difficult to share across regions. Amazon's data centres operate autonomously. I created the image in EU-WEST and copying it to US-WEST or US-EAST is non-trivial.
It's another configuration that I need to keep up to date and I don't.
Not everyone wants to use EC2; other cloud services are available eg slicehost, linode, cloud-foudry etc
I configured the AMI using Amazon Linux, people might prefer Ubuntu, RHEL, Suse, Windows!#*? etc
I configured the AMI using Nginx as a front-end server with added modules (http://nickager.com/blog/compiling-nginx-to-add-extra-modules/), others might require other modules or other different server eg Apache, Cherokee etc. Even with the same server the configuration required can vary (url redirection, static file serving etc).
Everyone has a different way of performing backups, monitoring the health of the server.
I configured the AMI using Gemstone, others might prefer image based persistence or MySQL, Postgres etc.
Ideally the configuration would allow you to specify the number of images (or Gems for Gemstone) you'd like to respond to request, behind a load balancer.
We currently require infrastructure support for https eg stunnel or reverse proxy through a webserver eg http://www.monkeysnatchbanana.com/posts/2010/06/23/reverse-proxying-to-seaside-with-nginx.html
Quite a list... The main issue is that I'd like to be able to build server infrastructure from composable pieces and share configuration knowledge with others. This led me to Chef (http://opscode.com/chef/) where people create configuration "recipes" and a specific configuration is composed from these recipes. The benefit of using something like Chef is that there are already recipes for the standard parts of the server configuration eg installing and configuring Apache, Nginx, MySql, Postgres etc have already been taken care of. Chef abstracts the OS, and the cloud (eg EC2, slicehost etc).
The task is then to create recipes for Seaside specific parts. There are a couple of Gemstone recipes already (https://github.com/timfel/gemstone-cookbooks, https://github.com/johnnyt/gemstone-cookbooks). A few of us (myself Norbert Hartl, Stephen Eggermont) plan to investigate coding our configurations is Chef - though it's still early days and it may prove that it's more complex than we need.
Our basic requirements are to be able to rapidly deploy production, staging, backup, Jenkins continuous integration and development VMs.
Do others have experience with Chef or something similar?
Ideally ESUG or someone else would provide http://www.heroku.com/ for Seaside - but it would require formalising more of our stack and providing a flexible solution to https.
Hope this helps,
Nick
On Wed, May 18, 2011 at 12:08 PM, Joachim Tuchel
jtuchel@objektfabrik.de wrote:
So what would be better?
I think a collection of cookbooks would. Maybe defining layers of a web app,
starting from the Browser through all layers of functionality to the data
backend, and collecting material for each of them would be much better. If
I'm interested in a load-balanced, https-aware installation of a Squeak
Image that persists data in Magma, I can choose appropriate documentation
for each layer. Some layers may not be deeply related to Smalltalk at all,
then we could add links to relevant information (like how do I configure
Apache as a load balancer with Sticky sessions?), while others might be
deeply related to Smalltalk.
yes, cookbooks would be nice. We also need simple, reliable, no
investigation, no fuss, low effort way to deploy most common forms of
smalltalk web app or pier blog. If you want fancy stuff you go for
recipes or forge one for yourself. But for most common cases it would
be great if it would be smooth and reliable.
We need distilled, reliable and maintained most common cases, and it
seems that this is also one of the goals of SmallHarbour.
It is like Linux and its distributions. Linux can be anything, which
is great, but distribution makes it much more usable in some domain.
just my 2 lipas,
Davorin Rusevljan
http://www.cloud208.com/
Hi,
We are in the process of adding support for deploying GLASS applications
into the Cloud Foundry, but I wouldn't mind helping folks who are interested
in adding support for other Smalltalks into the Cloud Foundry ... The Cloud
Foundry is written largely in ruby, so you'll need to be wearing your ruby
dancing shoes:)
There certainly a lot of (justified) buzz around CloudFoundry at the moment.
Building CloudFoundry infrastructure for Smalltalk deployment would appear
to be a great approach - married with a hosting service that provides that
infrastructure as a service.
Nick
actually that link is...
http://www.monkeysnatchbanana.com/posts/2010/06/22/faking-a-https-client-for-glass.html
just for posterity.
On May 18, 2011, at 4:02 AM, Nick Ager wrote:
Hi,
We are in the process of adding support for deploying GLASS applications into the Cloud Foundry, but I wouldn't mind helping folks who are interested in adding support for other Smalltalks into the Cloud Foundry ... The Cloud Foundry is written largely in ruby, so you'll need to be wearing your ruby dancing shoes:)
There certainly a lot of (justified) buzz around CloudFoundry at the moment. Building CloudFoundry infrastructure for Smalltalk deployment would appear to be a great approach - married with a hosting service that provides that infrastructure as a service.
Nick
<ATT00001..txt>
Nick,
VMware will/is providing a hosting service based on cloud foundry, but there is an open source variant of cloud foundry that can be used by others to provide hosting services ...
Dale