Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Looking for PaaS providers recommendations [closed]

I want to develop our new project using a PaaS provider. I'll be developing primary in PHP, but would like that the service can provide other languages too (and add-ons available too, like MongoDB, Memcached, redis, etc). I've seem some PaaS as PHPfog (and AppFog), dotCloud, orchestra.io, Red Hat's OpenShift, Pagoda Box, among others.

Of all of them, I think I like most dotCloud. But wanted to know of any reviews, recommendations and comparisons between some of the big players on PaaS.

What would you guys recommend?

like image 942
Guillermo Avatar asked Mar 03 '12 02:03

Guillermo


People also ask

What is the problem with PaaS?

Challenges may include the following: Vendor Dependency: Very dependent upon the vendor's capabilities. Risk of Lock-In: Customers may get locked into a language, interface or program they no longer need. Compatibility: Difficulties may arise if PaaS is used in conjunction with existing development platforms.

Who is the leading PaaS provider?

IBM Cloud Platform This is a combination of IBM's IaaS and PaaS. IBM continues to enjoy a high reputation as a managed cloud service provider, as you can see in “The Top 5 Cloud-Computing Vendors: #1 Microsoft, #2 Amazon, #3 IBM, #4 Salesforce, #5 SAP”.

What is a PaaS provider?

Platform as a service (PaaS) is a cloud computing model where a third-party provider delivers hardware and software tools to users over the internet. Usually, these tools are needed for application development. A PaaS provider hosts the hardware and software on its own infrastructure.


2 Answers

Here is a series of blog posts that I have put together that compares most of the top PAAS providers. Most of my trials was using python, so I'm not sure how they compare with PHP.

Hopefully it helps.

PAAS Comparison:

http://kencochrane.net/blog/2011/06/django-hosting-roundup-who-wins/

OpenShift:

http://kencochrane.net/blog/2012/01/installing-django-application-on-openshift/

Stackato, built on top of CloudFoundry:

http://kencochrane.net/blog/2012/01/getting-djangocms-up-and-running-on-stackato/

Heroku:

http://kencochrane.net/blog/2011/11/developers-guide-for-running-django-apps-on-heroku/

dotCloud:

http://kencochrane.net/blog/2011/04/deploying-my-django-application-to-dotcloud/

Huge google spreadsheet with details about all of the PAAS's features:

https://docs.google.com/spreadsheet/ccc?key=0AiIXCd1D_TmGdFluZEJQakV5M0QwWXNWaXREcWR0Q0E#gid=0

like image 154
Ken Cochrane Avatar answered Nov 10 '22 04:11

Ken Cochrane


Think about what features are important to you in a PaaS. You mention multiple language support, but what else. Be clear about what you like about dotCloud in order to help focus in on the right product.

Some of the key features that I recommend you focus on are portability, open stack, high-availability, elasticity, control and monitoring.

To prevent lock-in, you want to choose a PaaS that makes portability between clouds easy. Understand how each product facilitates the ability to change cloud provides as your needs or the environment evolves.

Many PaaS offerings dictate the stack that is available for your application, and this may significantly reduce your architecture options. You want the ability to choose languages, databases, middleware components, product versions, etc. that meet your needs. A PaaS that limits your options to a narrow menu of components is not so useful for real-world deployments.

If continuous uptime is important, then how does the PaaS monitor application health and recover from failures. Can it recover automatically. Can it dynamically scale your application based on load, provisioning new resources during peak demand and release those VMs when no longer needed.

Your application may have dependences between services which complicates deployment. Can the PaaS orchestrate and automatically manage your deployments regardless of the dependencies and complexities of your architecture. You want a PaaS that is flexible, open and extendible to be able to handle whatever your deployment requirements may be.

Finally, you want transparent monitoring at the application level. It should be easy to view the health of your application and how it is performing over time. There should be dashboards and logs available that simplify troubleshooting at the application level.

Here’s a great summary of the current landscape: http://natishalom.typepad.com/nati_shaloms_blog/2012/05/mapping-the-cloudpaas-stack.html

Norm

like image 27
Norm Leitman Avatar answered Nov 10 '22 03:11

Norm Leitman