Convox – Launch a Private Cloud in Minutes
convox.com
convox.com
Convox is an app deployment platform that you can install into your own AWS account. It uses ECS, ELB, Kinesis, and many other great AWS services under the hood but automates it all away to give you a deployment experience even easier than Heroku.
Convox uses Docker under the hood so if you want to customize anything (distro, dependencies, etc) you can simply add a Dockerfile to your project.
Convox is entirely open source. Check it out at https://github.com/convox
To get started with our installer go to: http://docs.convox.com/docs/getting-started-with-convox
We also have plans on our roadmap to integrate with internal (inside the VPC only) ELBs for internal APIs and things of that nature.
This is what I'm getting at. Also just saw the issue pertaining to HIPAA, which probably requires the same thing.
Apps deployed on Empire apparently are only available inside the VPC unless a domain name is added, it doesn't actually work like that (when I deployed the Empire stack all boxes had public IPs and a security group allowing ingress from the internet 😓), but the idea is a good one I think.
Oh, and thanks. Knowing you're behind it I'm sure Convox will be great. I'm looking forward to watching it develop and using it myself.
Currently the EC2 instances in your Convox installation all have public IP addresses but this is currently being addressed
We actually have a production ready example stack using our stack provisioning tool called stacker: https://github.com/remind101/stacker/pull/43.
And what's your minimum per-application cost for single-container Docker web app with SSL?
The minimum per-application cost would be for an ELB. Counting the slice of runtime cluster needed to run it I'd estimate around $20-25 per app as a minimum.
I've been very impressed by the performance of my nodes.
Tops DigitalOcean easily. I don't have any hard numbers (I can provide some if people would like) but with the performance and number of locations they provide it's hard to beat.
$50 credits for two months: http://vultr.com/freetrial
Vultr also offers a "dedicated cloud" which I think is just dedicated resources — similar to RunAbove (http://www.runabove.com)
Whenever I talk about hosting, I seem like I'm affiliated with the providers. I am not :) I am simply a vet, a student, and a product of the hosting space.
If anyone has any questions, see my profile and reach out. I love to talk hosting :)
When I've run tests, they beat DO on every metric on unixbench (for equivalently priced/RAM filled instances [0][1]) and they let you use whichever ISOs/images you want (including fun stuff like BSD), unlike DO.
Their SATA storage nodes are really handy too.
You didn't post numbers but here are mine:
[0] Vultr benchmark: https://gist.github.com/bobobo1618/0972fc51f49d90fb37af
[1] DigitalOcean benchmark: https://gist.github.com/bobobo1618/81aa3f413b99aaab1f0d
SSL setup isn't in the product yet, but it's coming soon. For now you can set up SSL using the AWS cli: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/Devel...
We're excited about it, too. Hit us up via the www.convox.com Intercom button or support@convox.com if you have any questions.
Do you perhaps have a writeup or something about the convox architecture? (Which AWS services it uses, how etc)
If you'd like to see for yourself you can install it and then check the Resources tab on your CloudFormation page in the AWS web console to inspect everything it created.
https://docs.convox.com/docs/getting-started-with-convox
You can uninstall when you're done to avoid paying for the AWS resources if you're not ready to use it yet.
We're using CloudFormation and Lambda to create and update everything.
The "convox" stack the installer creates makes a VPC, ASG, ECS cluster and ELB, and registers an ECS task and service for the API and private registry.
It also creates DynamoDB table for recording every build and release. And creates a KMS key for encrypting all the environment variables before we save them to S3.
An app stack the "convox deploy" command creates makes ECS tasks and services and an ELB for all the containers in `docker-compose.yml`, and creates a Kinesis stream for app logs.
Take a look at the CloudFormation tools as a starting point:
https://github.com/convox/kernel/blob/master/dist/kernel.jso... https://github.com/convox/app/blob/master/template/staging.t...
Is anybody working full-time on the project? Are there plans to commercialize any aspects of this? How confident are you that the project will get to "1.0".
We're super confident it will get to a more mature state. We have some resources to keep working on it ourselves, and we're seeing lots of interest and participation from the open source community as well.
if err != nil {
stdcli.Error(err)
return
}
Is this idiomatic Go? It's just sprinkled everywhere and makes it hard to follow logic at a glance.For now we are focused on building a great open-source platform.
(Empire: https://github.com/remind101/empire, http://engineering.remind.com/introducing-empire/)
The primary difference is that Convox is backed by a company for which this is our product and has a full-time team dedicated to it.
+1 Check out Convox and Empire. See which one works best for you.
The privacy of "?". Was waiting for this part since it was included in the title.
"The privacy of your own data center."
To me, AWS VPC is a game-changer for privacy. The isolation and network configuration options satisfy every need of a "private cloud" or "behind the firewall install".
Haven't had a chance to take it for a trial spin yet, but I was wondering if there is anything in here for applications that have a limited lifespan? Working on a system right now that would have the need for a "central" application that would need to regularly launch subworker apps for a specific task (planning on running each sub app on it's own micro AWS instance) and then "kill it off" once the job was completed.
One big difference is that Convox uses managed services over writing and running our own components. For example, we use DynamoDB for saving build and release records. And we use ELBs for load balancing and routing.
This approach ties us closely to AWS, but results in a stack of infrastructure that has minimal operational overhead (e.g. Amazon is keeping DynamoDB Available, you don't have to manage an etcd cluster), and great scaling potential (vs tuning and scaling individual HAProxy nodes).
I can (and will) google this myself in an effort to triangulate and understand but I figure it would be valuable to hear from people who are more informed and experienced.
The documentations says "by default provisions an Elastic Load Balancer and 3 t2.small instances", is it possible to change the number/size of servers dynamically?
https://github.com/convox/cli/pull/48
You can update an existing cluster using something like `convox system scale --count 5 --type c4.xlarge` from the CLI. If you change the instance type your cluster will be rolled one at a time with no downtime.
Can apps be launched in specific regions?
edit: Looks like it defaults to us-east-1. I'd much prefer to use Sydney due to the latency here in AU :)
Can I rent 2-3 servers at Hetzner and have a small cloud of sorts?
Or is that not something that is suggested to be done?
This project looks AMAZING. I love what you guys are doing at Convox. The title of this post immediately caught my attention, because I've already spent what I consider far too much time figuring out how to deploy our application and would face the same problem with AWS.
Convox looks to help developers focus on their platform as opposed to how exactly it should be deployed when there are many options, even though most platforms can run and scale with a very similar setup. Great work guys. Looking forward to Google Cloud support!
(Cofounder of cloudron.io here)
Cloudiron.io looks cool. I'll definitely check it out.
The other major difference is that software like Dokku is trying to run anywhere. Because we are only trying to run on AWS we do not need to build custom schedulers, load balancers, routers, etc. We believe this will reduce your operational costs over time.
Good work ddollar. I quickly looked at the github repos and once I saw your name attached, I knew it was going to be a quality project :)
edit: Just looked at Wordpress a little closer. I didn't realize it expects a persistent filesystem, which I guess is what you're asking about. Convox follows the 12factor.net philosophy of ephemeral filesystems, so you'd need to figure out a way to persist files to S3 or similar...