CloudifySource / cloudify-recipes

Application and service recipes for Cloudify
www.cloudifysource.org
Apache License 2.0
47 stars 67 forks source link

Anywhere to find a "Recipe Book"? (pun intended) #4

Closed roynasser closed 11 years ago

roynasser commented 12 years ago

Hi Everyone, sorry for the pun in the title, but really, where would one find a catalog of recipes? does such a thing exist already? will there be one?

I am very interested in finding out whether we can finally be "cloudable"... Our app currently runs on a private VMWare powered cloud on our own servers. The VMs themselves range from MySQL masters, salve(s), web server(s), load balancers, phpresque queue processors, redis servers, etc,etc... and a PHP application that interacts with all that...

I'd like to see if cloudify can help us to organize things a bit better initially in our private cloud, and also (why not?) maybe allow us in future to launch redundancy or even separate instances of our system on other (public?) clouds?

Nonetheless, the whole thing is quite daunting as a task, and although I kind of think I could put a recipe together if i had the "ingredients"**, I dont think I can just make it all up from scratch...

by ingredients to "my" recipe, I'd need (and again, correct me if I'm wrong), all the services that are required by our system, such as the nginx webservers, the mysql db servers, etc, and then my custom "love" for making it all work together (which includes not only the sourcecode, but also the configuration from nginx, the mysql schemas, etc....

am I off? do these ingredients exist somewhere to be obtained? am I coming into cloudify too early? (I read somewhere that a sort of "app store" (everybody just needs to have an appstore dont they?) would be coming around... i imagine it is for this sort of stuff? anywhere to obtain the recipes to start tinkering?

Also, i dont mean to start a contest or fight, but if anyone can point me to somehwere where I could see some differences between cloudify and other platforms, such as cloud foundry or stackato (commercial is not necessarily a problem for us)...

uric commented 12 years ago

Hi There

Most of the recipe we already have are part of the product distribution. You can find there activemq, cassandra, hsqldb, mongo, solr and tomcat recipes. We're also working on the Chef integration that is part of this repo, I expect this to be completed in the next week or so. There you'll be able to find examples of mysql, tomcat and soon others (once you can have recipes based on Chef cookbooks it makes things a whole lot simpler). The "app store" idea is something we definitely have in mind, but I don't expect it to be available anytime soon, we're still focused on making Cloudify itself better and building more recipes. As far as comparing to CloudFoundry and Stackato, here are some blog posts to get you started: http://www.cloudifysource.org/2012/01/16/gigaspaces-cloudify-and-vmware-cloudfoundry-the-new-paas-jailbreaker.html http://www.cloudifysource.org/2012/05/28/paas_does_it_really_mean_no_ops.html http://www.cloudifysource.org/2012/05/03/mapping-the-cloudpaas-stack.html

Feel free to ping me at uri at gigaspaces dot com if want to discuss further.

roynasser commented 12 years ago

Hi Uri,

thks for the response.

My 'app store' idea was more in line with the recipe library on the chef community site than a full fledged "one click install" app store... I dont really see the point in spending too much time wasting time on making a 1-click install, what i'd like to see is really a repository of recipes/recipe ingredients we can put together with minimal community re-working each time... I guess this is soemthing that time may bring...

The chef integration does sound extremely promising! Perhaps what can make cloudify leaps ahead of stackato/cloud foundry and other competitors just becasue of the availability of ready-to-go recipes...

In my case I'd need to put together a stack of several different machines...

mysql master / slave (maybe use something like clustercontrol - which even has chef recipes) nginx+php-fpm app servers (again chef recipes available) haproxy balancers redis cache server (again chef recipes available)

What would I use as the base of this? Would I just use a standard OS image and build the chef recipes on top? or does cloudify have a OS deployment in itself?

so I suppose once you have chef integration it would be half way there? (Then just really a matter of finishing polisshing up the main recipe to integrate all of the components into my use?)

What about deploying onto vmware? is there any examples or documentation on this? I havent really seen anything apart from the diagrams on the website?

uric commented 12 years ago

Hi again

Please check the latest commits to the repo, you'll see the base chef recipes and an example for how to use it with a tomcat+mysql stack. Note that it's also installing a chef sever in case you need it and pre loads it with the relevant cookboks and roles. The idea is exactly as you mentioned - be able to leverage the wealth of already existing cookbooks and just add the pieces that cloudify does best - monitoring, auto-scaling, orchestration, VM provisioning, etc.

Regarding VMWare - right now the default cloud driver should support vCloud API, since it's using JClouds which has this. But we didn't officially certify it yet - so you're welcome to do so and contribute any relevant change/fix.

HTH, Uri

roynasser commented 12 years ago

Hi Uri,

Thanks, I will look at this later in the week hopefully when I have a bit more time.

As for the vcloud, I must reasearch more... I'm not completely sure whether the vcloud api will be compatible with what they call the vcloud express api available on vsphere esxi (which is what you install on your own servers, not to become a cloud provider)...

I'll have to try and tackle these things next week though as this week is really hectic... thanks for the update tho!