2016-11-16 by Axel Fontaine
CloudCaptain is all about effortlessly deploying your applications so they just work. This is made possible by a combination of intelligent minimal image creating using deep integration with popular frameworks and language runtimes as well as seamless orchestration of blue/green deployments on AWS.
There are however a number of languages and frameworks we don't specifically support yet. So far this meant that if you weren't using the JVM, Node.js or Go you were out of luck.
Today we are introducing generic Linux x64 apps support. You can now deploy any Linux x64 app you like and enjoy CloudCaptain's great AWS integration including ultra-fast AMI creation, blue/green deployment, auto-scaling and more.
Let's dive in and look at how you can deploy any Linux x64 app using CloudCaptain.
To demonstrate this we are going to run Nginx on AWS. To do so we'll need two things:
For this demo we'll use a Linux x64 build of Nginx available from this page on GitHub.
To fuse an image and run it on AWS all we need to do is pass the command to start it and which port to open:
> boxfuse run nginx-static-1.5.tgz "-cmd=nginx-static/sbin/nginx -g 'daemon off; user root;'" -ports.http=80
Creating nginx-static ...
Mapping nginxstatic-dev-myuser.boxfuse.io to 127.0.0.1 ...
Created app nginx-static (type: single-instance, db: none, logs: none)
Fusing Image for nginx-static-1.5.tgz (Linux x64) ...
Image fused in 00:00.707s (10522 K) -> myuser/nginx-static:1.5
Pushing myuser/nginx-static:1.5 ...
Verifying myuser/nginx-static:1.5 ...
Waiting for AWS to create an AMI for myuser/nginx-static:1.5 in eu-central-1 (this may take up to 50 seconds) ...
AMI created in 00:26.849s in eu-central-1 -> ami-d2dc19bd
Creating security group boxsg-myuser-prod-nginx-static ...
Creating Elastic IP ...
Mapping nginxstatic-myuser.boxfuse.io to 35.156.101.145 ...
Creating security group boxsg-myuser-prod-nginx-static-1.5 ...
Launching t2.micro instance of myuser/nginx-static:1.5 (ami-d2dc19bd) in prod (eu-central-1) ...
Instance launched in 00:24.478s -> i-8f39a332
Creating Cloud Watch Alarm for Instance auto-recovery -> i-8f39a332-auto-recovery-alarm
Waiting for AWS to boot Instance i-8f39a332 and Payload to start at https://54.93.62.223/ ...
Payload started in 00:00.003s -> https://54.93.62.223/
Associating Elastic IP 35.156.101.145 to i-8f39a332 ...
Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ...
Successfully deployed myuser/nginx-static:1.5 in prod at https://nginxstatic-myuser.boxfuse.io/
And here we go! We created a 10 MB image containing a boot loader, the Linux kernel and Nginx in 0.7 seconds. CloudCaptain then deployed it on AWS by creating all necessary infrastructure including a custom domain name, an elastic IP, security groups, an AMI, a t2.micro instance and more in under 60 seconds total.
And here it is up and running:
All of this in under one minute from start to finish with just a single command. And best of all, all subsequent updates will always be performed using zero downtime blue/green deployments.
CloudCaptain now let's you deploy any Linux x64 app you want with the same orchestration features already available to JVM, Node.js and Go apps including ultra-fast AMI creation, blue/green deployment, auto-scaling and more.
Simply package your app as a tar.gz, pass the command required to start it and CloudCaptain will get you up and running on AWS in no time.
Check out the documentation and if you haven't already, sign up for your CloudCaptain account now (simply log in with your GitHub id, it's free) and start deploying any Linux x64 application effortlessly to AWS today.