# Introduction

A number of Platform-as-a-Service ([PaaS](http://en.wikipedia.org/wiki/Platform_as_a_service)) providers allow you to use Go applications on their clouds.

# Details

| PaaS | Repository | Quickstart Guide |
|:-----|:-----------|:-----------------|
| [Google App Engine](http://developers.google.com/appengine/) | https://github.com/GoogleCloudPlatform/appengine-plus-go | https://developers.google.com/appengine/training/go-plus-appengine/ |
| [Azure](http://www.azure.com/) | https://github.com/wadewegner/azure-website-go-builder | http://www.wadewegner.com/2015/01/creating-a-go-site-extension-and-resource-template-for-azure/ |
| [IBM BlueMix](http://www.ibm.com/bluemix) |            | http://www.ibm.com/developerworks/cloud/library/cl-bluemix-go-app/ |
| [CloudBees](http://www.cloudbees.com) | https://github.com/CloudBees-community/golang-clickstart |                  |
| [Cloud Foundry](http://www.cloudfoundry.com/) | https://github.com/kr/heroku-buildpack-go | http://catdevrandom.me/blog/2013/05/16/buildpacks-in-cloud-foundry-v2/ |
| [dotCloud](http://www.dotcloud.com) | https://github.com/kencochrane/golang-on-dotcloud |  |
| [AWS Elastic Beanstalk](https://aws.amazon.com/en/elasticbeanstalk/) | https://github.com/sqs/go-elasticbeanstalk |                  |
| [Heroku](http://www.heroku.com) | https://github.com/kr/heroku-buildpack-go | http://mmcgrana.github.com/2012/09/getting-started-with-go-on-heroku.html |
| [OpenShift](http://openshift.redhat.com) | https://github.com/gcmurphy/golang-openshift |                  |
| [Stackato](http://www.activestate.com/stackato) | https://github.com/kr/heroku-buildpack-go | http://docs.stackato.com/user/deploy/languages/go.html |
| [Tsuru](http://www.tsuru.io/) |            | http://docs.tsuru.io/en/latest/apps/quickstart/go.html |
| [Cocaine](http://tech.yandex.com/cocaine/) | http://github.com/cocaine https://github.com/3Hren/cocaine-core https://github.com/3Hren/cocaine-plugins https://github.com/cocaine/cocaine-framework-go          | https://github.com/cocaine/cocaine-vagrant and https://github.com/3Hren/cocaine-core |
| [GE Predix](https://www.predix.io/) | https://github.com/geaviation/goboot-starter | https://www.predix.io/resources/tutorials/journey.html |
