node

Node.js

Getting Started with Node Express Web Framework

Glossary

Kontena – Kontena is a lightweight container that will run your apps and services in an isolated and secured manner. You can specify the power of the Kontena while setting up infra or creating services. One Kontena power specifies to 256 MB Memory and 128 MHz CPU.

Service – Services in the App42 PaaS are add-on components which are needed in an App. App42 PaaS supports multiple services like SQL databases, NoSQL databases and more.

Prerequisites

To get going with App42 PaaS, below are few prerequisites that will allow you to use AppHQ – App42 PaaS Management Console as well as Command Line Client.


Setup infrastructure for required environment (Node)

To deploy your Express application on App42 PaaS, You first need to setup an environment by providing certain inputs which will run your app. Below is the screenshot of setting up the required environment for your app using Command Line Client. You can also perform the same using AppHQ – App42 PaaS Management Console.

$ app42 setupInfra
Enter App Name: express

Checking App Name Availability... OK

1: Shared
Select Instance Type [Shared]: 1

1: Amazon (Northern Virginia)
Select IaaS Provider [Amazon (Northern Virginia)]: 1

1: Ruby 2.0.0
2: Java 6
3: Java 7
4: PHP 5.3
5: PHP 5.5
6: Node 0.10.22
Select Runtime [Ruby 2.0.0]: 6

1: Express 3.4
Select Framework [Express 3.4]: 

1: Nginx 1.4.4
Select Web Server [Nginx 1.4.4]: 

Specify Kontena Power: 1

Setting up the infrastructure... OK

Operation is in progress, Please wait...-
Setup Infra completed successfully.

Default application has been deployed. You can visit 'http://express.iab.app42paas.com' to see the default application.
Create Your Application

You may be starting from an existing app. if not you can also use our Sample Apps and extend it to suit your needs. Here is the link to Express Sample App .

NOTE: You need to run your Node application on 8080 port. Or you can also use the below code to run your application.
// set your port
var app = express();
app.set('port', process.env.PORT || 3000);

// Create Node Server
http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

Deploying Node application on App42 PaaS Platform

You can deploy the application on App42 PaaS platform using two ways. One, you can create a binary (including all dependencies) on your local development environment. Other, you can deploy your application by providing the Git repository URL of your app.

NOTE: In case of deploying from source, Either the provided Git repository must be public or if you want to deploy from private repository, you need to provide the pull permission to App42PaaS Github user.

Deploy Binary

$ app42 deploy
Enter App Name: express
1: Binary
2: Source
Choose Upload Type [Binary]: 1

Would you like to deploy from the current directory? [Yn]: n
Binary Deployment Path: /home/ubuntu/workspace/App42PasS/sample_app/App42PaaS-Node-Sample
Please be patient... This process may take a while to complete.
Deploying Application... OK

Operation is in progress, Please wait...|
App deployed successfully.

Deploy Source

$ app42 deploy
Enter App Name: express
1: Binary
2: Source
Choose Upload Type [Binary]: 2

Enter Git URL?: https://github.com/shephertz/App42PaaS-Node-Sample.git
Deploying Application... OK

Operation is in progress, Please wait...|
App deployed successfully.
Get application details

You can see the details of your setup environment either from AppHQ – App42 PaaS Management Console or Command Line Client using app42 appInfo.

$ app42 appInfo
Enter App Name: express

+----------------------------------+------------+----------------------------+---------+--------------+----------------+-------------+--------+
|                                                            === express Info ===                                                             |
+----------------------------------+------------+----------------------------+---------+--------------+----------------+-------------+--------+
| App Url                          | App Status | Iaas Provider              | Name    | Runtime      | Instance Count | Framework   | Memory |
+----------------------------------+------------+----------------------------+---------+--------------+----------------+-------------+--------+
| http://express.iab.app42paas.com | RUNNING    | Amazon (Northern Virginia) | express | Node 0.10.22 | 1              | Express 3.4 | 256 MB |
+----------------------------------+------------+----------------------------+---------+--------------+----------------+-------------+--------+

Visit Your Application

You’ve deployed your application to App42 PaaS. Now you can open your application in your favorite browser.