Personal tools

Web/Cloud

From HaskellWiki

< Web(Difference between revisions)
Jump to: navigation, search
(OpenShift)
(OpenShift: QuickStart Templates)
Line 23: Line 23:
   
 
{| class="wikitable"
 
{| class="wikitable"
! Framework || Cartridge || QuickStart || Deploy
+
! Framework || Cartridge || QuickStart || Deploy || QuickStart Template
 
|-
 
|-
 
| network
 
| network
Line 29: Line 29:
 
| [https://www.openshift.com/quickstarts/haskell quickstart]
 
| [https://www.openshift.com/quickstarts/haskell quickstart]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fnetwork.yml deploy]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fnetwork.yml deploy]
  +
| ✓
 
|-
 
|-
 
| Yesod
 
| Yesod
Line 34: Line 35:
 
| [https://www.openshift.com/quickstarts/yesod quickstart]
 
| [https://www.openshift.com/quickstarts/yesod quickstart]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fyesod.yml deploy]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fyesod.yml deploy]
  +
| ✓
 
|-
 
|-
 
| Snap
 
| Snap
Line 39: Line 41:
 
| [https://www.openshift.com/quickstarts/snap quickstart]
 
| [https://www.openshift.com/quickstarts/snap quickstart]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fsnap.yml deploy]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fsnap.yml deploy]
  +
| ✗
 
|-
 
|-
 
| Happstack
 
| Happstack
Line 44: Line 47:
 
| [https://www.openshift.com/quickstarts/happstack quickstart]
 
| [https://www.openshift.com/quickstarts/happstack quickstart]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fhappstack.yml deploy]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fhappstack.yml deploy]
  +
| ✗
 
|-
 
|-
 
| MFlow
 
| MFlow
Line 49: Line 53:
 
| [https://www.openshift.com/quickstarts/mflow quickstart]
 
| [https://www.openshift.com/quickstarts/mflow quickstart]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fmflow.yml deploy]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fmflow.yml deploy]
  +
| ✗
 
|-
 
|-
 
| Scotty
 
| Scotty
Line 54: Line 59:
 
| [https://www.openshift.com/quickstarts/scotty quickstart]
 
| [https://www.openshift.com/quickstarts/scotty quickstart]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fscotty.yml deploy]
 
| [https://openshift.redhat.com/app/console/application_type/custom?cartridges%5B%5D=http%3A%2F%2Fwww.accursoft.com%2Fcartridges%2Fscotty.yml deploy]
  +
| ✗
 
|}
 
|}
   
 
<small>* GHC 7.8 requires dynamic libraries for Template Haskell and Quasiquoting. OpenShift gears default to a 1Gb quota, which is insufficient for a full web framework with two copies (dynamic and static) of every library.</small>
 
<small>* GHC 7.8 requires dynamic libraries for Template Haskell and Quasiquoting. OpenShift gears default to a 1Gb quota, which is insufficient for a full web framework with two copies (dynamic and static) of every library.</small>
   
The included template is currently the same for all cartridges (a simple stub server that just lists the installed packages). I'll be happy to include any framework-specific starter projects with the quickstarts - please open an [https://github.com/accursoft/Haskell-Cloud/issues/new issue] with a link to your Github repo.
+
Frameworks that don't have their own quickstart template use the network template (also included in every cartridge). I'll be happy to include any contributed framework-specific templates - please open an [https://github.com/accursoft/Haskell-Cloud/issues/new issue] with a link to your Github repo.
   
 
== Heroku ==
 
== Heroku ==

Revision as of 08:12, 25 May 2014

Haskell Web Development

Software:
Servers - Libraries - Frameworks
Deploy - Cloud
Interfaces to frameworks
Databases and Persistence
Testing and Verification
Content Management

Community & Research:
Forums and Discussion
Literature (research, talks and blogs)
Existing Haskell web applications
Ongoing projects and ideas

PaaS (platform as a service) cloud providers generally limit you to a fixed technology stack. However, OpenShift and Heroku allow third-party extensions, which can be used to support Haskell.

1 OpenShift

GHC version: 7.6.3 / 7.8.2
Author: Gideon Sireling
Home page: https://github.com/accursoft/Haskell-Cloud
Documentation: https://github.com/accursoft/Haskell-Cloud/blob/master/README.md

The cartridge comes in several flavours, with just the network package (GHC 7.8.2) or a pre-installed framework (GHC 7.6.3 *):

Framework Cartridge QuickStart Deploy QuickStart Template
network manifest quickstart deploy
Yesod manifest quickstart deploy
Snap manifest quickstart deploy
Happstack manifest quickstart deploy
MFlow manifest quickstart deploy
Scotty manifest quickstart deploy

* GHC 7.8 requires dynamic libraries for Template Haskell and Quasiquoting. OpenShift gears default to a 1Gb quota, which is insufficient for a full web framework with two copies (dynamic and static) of every library.

Frameworks that don't have their own quickstart template use the network template (also included in every cartridge). I'll be happy to include any contributed framework-specific templates - please open an issue with a link to your Github repo.

2 Heroku

GHC version: 7.4.1
Author: Brian McKenna
Home page: https://github.com/puffnfresh/heroku-buildpack-haskell
Documentation: https://github.com/puffnfresh/heroku-buildpack-haskell/blob/master/README.md

3 See also