Go

Golang

Getting Started with Golang

App42 PaaS offers fully managed Go hosting for Shared hosting environment.

It is easy to deploy highly scalable and fault tolerant Go applications, within minutes. Our highly design App42 PaaS architecture protectively monitoring your servers 24*7, you can rest assured that you are in good hands.

Steps to deploy your Go apps are put forth.

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 enable you to use AppHQ – App42 PaaS Management Console as well as Command Line Client.


Setup infrastructure for Go environment

To deploy your Go application on App42 PaaS, You first need to setup an environment by providing certain inputs which will run your app. Following 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: demo

Checking App Name Availability... OK

1: Shared
Select Instance Type [Shared]: 

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

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

1: N/A 
Select Framework [N/A ]: 

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

Specify Kontena Power: 1

Setting up the infrastructure... OK

Operation is in progress, Please wait...|
Setup Infra has been completed successfully.

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

You may start 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 Go Sample App .

NOTE: You need to run your Go application on 3000 port and your application start-up file should be main.go
Deploy a Go application

You can deploy the application on App42 PaaS platform using two ways. First, you can create a binary (including all dependencies) on your local development environment. Second, 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: demo
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-Go-Sample.zip
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: demo
1: Binary
2: Source
Choose Upload Type [Binary]: 2

Enter Git URL?: https://github.com/shephertz/App42PaaS-Go-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: demo

+-------------------------------+------------+----------------------------+---------+------+---------+------------+----------------+-----------+--------+
|                                                                   === demo Info ===                                                                   |
+-------------------------------+------------+----------------------------+---------+------+---------+------------+----------------+-----------+--------+
| App Url                       | App Status | Iaas Provider              | Vm Type | Name | Runtime | Web Server | Instance Count | Framework | Memory |
+-------------------------------+------------+----------------------------+---------+------+---------+------------+----------------+-----------+--------+
| http://demo.iaa.app42paas.com | RUNNING    | Amazon (Northern Virginia) | Shared  | demo | GO 1.3  | Nginx 1.6  | 1              | N/A       | 256 MB |
+-------------------------------+------------+----------------------------+---------+------+---------+------------+----------------+-----------+--------+
Visit Your Application

You’ve deployed your application to App42 PaaS and now you can open it in your browser