"About Ephemeric Cloud" by Mike on at tutorial/ephemerics-introduction under #ephemericcloud  

About Ephemeric Cloud

Ephemeric cloud is a cloud platform for hosting Pharo web applications. The main feature of Ephemeric cloud is REST API which allows you to script an application start in the cloud (for instance, with curl).

Ephemeric cloud is designed to host lots of applications. There are some restrictions applied to the hosted Images though.

0 Quick start

Quick start video tutorials:

If you need a test application to publish in the cloud you may use the following one:

1 Access to the Cloud

To get access to the Epehemric Cloud you need to log in to Pharocloud wih your usual credentials then open "Ephemeric" tab and click "Activate". Then the page will create and show your Ephemeric User ID and Auth token. You can use those to work with epehemric REST API or login to "Ephemeric Cloud Client".

Each Pharocloud account is limited to 1 active Ephemeric by default. You can lift the limitiation by changing the Ephemeric Cloud subscription plan.

Please note that User Ephemeric Cloud is limited by concurrently active Ephemeric applications. This means user can upload and use several applications even on a "free plan" until only the one of them is running at a time.

2 Pharo Image Archive File

To package your application for an Ephemeric cloud create an Image Archive File which is a zip-archive file containing one Pharo Image and other files needed. The system uses unzip linux utilities to extract Image archive so the default compressing utilities of Windows and Mac OS X should work.

Important conditions:

# pharo -vm-display-null --headless --encoding UTF-8 "$IMAGE" --no-quit

3 REST API

Ephemeric cloud REST API is a collection of HTTP requests designed to manage your cloud. Requests work with JSON format to respond your calls.

A user cloud is accessible by REST API at the following API endpoint:

https://www.pharocloud.com/api/ephemerics/user/<userID>?auth=<authToken>

Each request must have authToken query parameter associated with the user to perform a query.

The REST API represents a user as a collection of ephemerics. Ephemeric instances are identified by the hostname (eg.: eph-312de9eb.swarm.pharocloud.com). You can get your userID in Pharocloud Ephemerics account settings.

The list of REST API calls is as follows:

4 Using CURL to manage Epehemric Cloud

Get the list of ephemerics owned by a user elghg175f959echf6jasy8vm:

curl -X GET "https://www.pharocloud.com/api/ephemerics/user/elghg175f959echf6jasy8vm/?auth=TFGJZJ47fJs9c9GfgtGZGI3n"

{"ephemerics":[{"isRunning":false,"hostname":"eph-865894e7.swarm.pharocloud.com","name":"Ephemeric-Cloud-Client-1.3.zip"],"used":0,"limit":20}

Note

Ephemeric instances are identified by a hostname. In the example above the user has one ephemeric named eph-865894e7.swarm.pharocloud.com.

Create a new Ephemeric:

curl -X POST -F 'imageZip=@ephemericArchive.zip' https://www.pharocloud.com/api/ephemerics/user/elghg175f959echf6jasy8vm/?auth=TFGJZJ47fJs9c9GfgtGZGI3n

"eph-9dcba441.swarm.pharocloud.com"

To delete an an Ephemeric instance send DELETE request to an ephemeric node (identified by hostname answered by the create command):

curl -X DELETE https://www.pharocloud.com/api/ephemerics/user/elghg175f959echf6jasy8vm/eph-9dcba441.swarm.pharocloud.com?auth=TFGJZJ47fJs9c9GfgtGZGI3n

Advanced Topics

blog comments powered by Disqus