
Convox – Launch a Private Cloud in Minutes - lox
https://convox.com/
======
ddollar
Hello! I'm part of the Convox core team and happy to answer any questions.

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](https://github.com/convox)

To get started with our installer go to: [http://docs.convox.com/docs/getting-
started-with-convox](http://docs.convox.com/docs/getting-started-with-convox)

~~~
Veratyr
Is there likely to be support for other clouds in the future? Amazon is great
and you're far cheaper than Heroku itself but I'd love to throw this on
DigitalOcean or Vultr.

~~~
joshmn
Vultr's website looks... interesting. And their control panel is also...
interesting. BUT.

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](http://vultr.com/freetrial)

Vultr also offers a "dedicated cloud" which I think is just dedicated
resources — similar to RunAbove
([http://www.runabove.com](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 :)

~~~
Veratyr
I'm also a big fan of Vultr, hence why I mention them :)

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](https://gist.github.com/bobobo1618/0972fc51f49d90fb37af)

[1] DigitalOcean benchmark:
[https://gist.github.com/bobobo1618/81aa3f413b99aaab1f0d](https://gist.github.com/bobobo1618/81aa3f413b99aaab1f0d)

------
dxhdr
Cool product! This is fairly unrelated but since you've open-sourced your code
(thanks!) I was just browsing around the 'cli' project and saw heaps of the
following:

    
    
      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.

~~~
mwmanning
Explicit error handling is part of Go. It's pretty common to see lots of
conditionals in a Go codebase.

------
mappu
You have a "Convox, Inc" copyright on the website - is there a business /
monetisation-plan behind this, or is it just the open source project?

~~~
ddollar
Yes, there is a business behind Convox. The founders are all ex-Heroku
engineers and have we all have a great deal of experience building this type
of tooling and automation.

For now we are focused on building a great open-source platform.

------
rubiquity
How is this a private cloud if it's running on AWS which is most certainly a
public cloud? I don't mean to take away from the product but I find the
messaging to be odd.

~~~
hibikir
My guess is that it's them playing slightly loose with the AWS term VPC:
Virtual Private Cloud. My guess is that this is the way most people that have
done work with AWS will understand their statement this way.

~~~
mwmanning
You're right. It's technically a virtual private cloud. We've found that
nowadays VPC works for most people. The days of on-premises platforms are
numbered.

~~~
rubiquity
Days numbered or not (aside: take a look around Fortune 1000 and you'll see
it's alive and well) the term private cloud has a definition. Someone should
come up with a term for subnets inside a public cloud.

~~~
ddollar
Thanks for the interest :) We have been trying to figure out the best way to
describe our platform and "private cloud" seems the closest.

[https://en.wikipedia.org/wiki/Cloud_computing#Private_cloud](https://en.wikipedia.org/wiki/Cloud_computing#Private_cloud)

~~~
rubiquity
Fair enough. Btw, is this what Nitrous became?

~~~
mwmanning
This is a separate venture from Nitrous.

------
mslate
Sounds like Deis:

\- [http://deis.com/](http://deis.com/)

\- [https://github.com/deis/deis](https://github.com/deis/deis)

~~~
ddollar
It is similar to Deis in goals but it differs substantially in implementation.
Because Convox runs on AWS we can rely on stable and scalable services only
available on that platform such as ELB and DynamoDB. Deis uses its own
internal Postgres and implements a custom load balancer, scheduler, etc. We
believe using the hosted services will help you keep your operational costs
down over time.

~~~
benley
How does Convox compare to Empire? I see a bunch of similarities (good use of
AWS features in particular), and they both look pretty great.

(Empire:
[https://github.com/remind101/empire](https://github.com/remind101/empire),
[http://engineering.remind.com/introducing-
empire/](http://engineering.remind.com/introducing-empire/))

~~~
ejholmes
Creator of Empire here. Empire and Convox are kinda like brothers and sisters,
both really similar in implementation and philosophy. There's a couple of
subtle differences, like how Empire expects that you've already built a Docker
image somehow, whereas Convox can just take some code and do it for you (hosts
it's own docker registry). Convox also supports streaming logs, which is
pretty awesome (although, coming soon to Empire too :)). Convox is a little
more reliant on AWS, whereas Empire was designed to be able to work with other
backends like Kubernetes for example (not implemented yet). I would say, use
which ever one best suites your needs, they're both great, and like David
said, we talk a lot and share ideas back and forth.

~~~
mwmanning
Thanks Eric!

+1 Check out Convox and Empire. See which one works best for you.

------
kevinSuttle
"The simplicity of Heroku. The power of AWS."

The privacy of "?". Was waiting for this part since it was included in the
title.

~~~
mwmanning
Good point. Any suggestions?

~~~
kevinSuttle
The HIPAA-compliance was a nice mention. "zero-knowledge" privacy resonates
with me as well when it comes to privacy, though I realize that's out of your
control with AWS.

------
mazlix
This looks amazing! Thanks for making/releasing this as open source.

~~~
ddollar
You're quite welcome! All three of the Convox founders are huge proponents of
open source. We've already seen the benefit from this as a user has mapped out
the missing pieces to host HIPAA-compliant applications on Convox and has
already started making the necessary changes.

[https://github.com/convox/kernel/issues/92](https://github.com/convox/kernel/issues/92)

------
rhelsing
Anathem reference?

~~~
mwmanning
We have a winner :)

------
goddamnyouryan
Super awesome. I can't wait to start porting some of my heroku apps over to
aws using convox.

~~~
ddollar
Let us know if there's anything we can do to help! I'm david@convox.com

------
zokat
I would like to use Convox to spawn several instances of a Java app in order
to benchmark Java messaging lib within the VPC (no ELB needed). Is Convox
suitable for such use case?

~~~
ddollar
Absolutely! We have a few people using Convox to run and scale workers without
a web app.

------
jdash
Good stuff! Looks very promising!

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.

~~~
ddollar
You could definitely do this. Create one master app and then have it connect
back to ECS to spawn more apps.

------
intrasight
Could someone familiar with Convox give us a brief answer to the question "how
is this different from the myriad DevOps tools that Amazon provides for AWS?"

~~~
mwmanning
We're most familiar with OpsWorks. The main difference is simplicity. Convox
doesn't require you to think much about infrastructure or write big JSON
config files. We want the developer experience to be very app-focused like
Heroku.

------
sciurus
Previously:
[https://news.ycombinator.com/item?id=9976938](https://news.ycombinator.com/item?id=9976938)

------
bvanvugt
Is anyone using this in production? If so, at what scale?

~~~
ejholmes
One of the great things about stuff like Convox and Empire is that, because
they're built on existing stable technologies and utilize AWS managed
services, you're basically asking if ELB, EC2 and ECS can scale. The most
unstable component in all of this is probably Docker. In our experience
running it in production at scale, it's faults have been pretty minor (things
like push/pull being agonizingly slow) and failure modes get taken care of by
ECS managing desired state well.

------
mwmanning
If anyone here would like an invitation to the Convox #public Slack channel
please email me at matt@convox.com.

------
badri
sounds very similar to tsuru:

[https://tsuru.io/](https://tsuru.io/)

~~~
nzoschke
There is a tremendous amount of awesome work happening in this space. Tsuru is
one such great project, thanks for adding it to the thread.

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).

------
volume
How does this compare to Cloud Foundry? Do they solve different problems and
therefore should not be compared directly?

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.

------
doomspork
This is really great! I'm interested in trying this out for our products in
place of OpsWork.

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?

~~~
ddollar
This was recently added by a contributor!

[https://github.com/convox/cli/pull/48](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.

~~~
doomspork
That's great. Is it possible to add additional servers after installation? I
looked into the CLI project but I haven't found anything yet, the scale option
appears to be for processes not servers.

~~~
ddollar
Woops, I ninja-edited my comment above before I saw this. Yes you can do this,
see the CLI command above.

~~~
doomspork
Very cool, thanks so much for your hard work!

------
jameswyse
Just getting started here and wondering if there's a way to choose the region
all this stuff is being installed to?

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 :)

~~~
mwmanning
Correct. It does default to us-east-1. The main reason is that we are using
some fairly new AWS services that aren't launched in all regions, but we do
want to and expect to expand to more regions.

------
foolinaround
What does it take it to adapt Convox to be installed on a baremetal server
like Hetzner?

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?

~~~
ddollar
It may be possible but it would take a substantial amount of work and I
wouldn't recommend it. Convox achieves much of its stability and scalability
from relying on hosted a AWS services.

------
muyfine
Great product - exactly what I'm looking for in infrastructure. Was able to
get a bunch of esoteric services up and running on AWS without having to pull
out my hair.

------
lsm
When you will support other vendors?

~~~
ddollar
We are considering other vendors but currently focused on AWS. What vendors
would you like to see?

~~~
boundlessdreamz
Google Cloud

~~~
mwmanning
Thanks for the input. Google's offerings are really picking up steam. We've
been in touch with Google and are excited about expanding onto their
infrastructure in the future.

~~~
kevinSuttle
What about IBM Bluemix?

~~~
mwmanning
That one hasn't been on our radar, but we'll definitely check it out.

~~~
kevinSuttle
It's based on CloudFoundry, and supports OpenStack and Docker, so lots of
choices.

------
general_failure
Funny, we have a similar tag line but quite different products.

[https://cloudron.io/](https://cloudron.io/)

(Cofounder of cloudron.io here)

~~~
mwmanning
Great minds think alike ;)

Cloudiron.io looks cool. I'll definitely check it out.

------
alphadeluxe
Is it even legal to use the phrase "The simplicity of Heroku. The power of
AWS." if you're all ex-Heroku engineers? Seems sketchy as hell.

------
icpmacdo
How is this different than Dokku?

~~~
ddollar
Unless it has changed since I last look Dokku only runs on a single server.

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.

~~~
josegonzalez
As one of the dokku maintainers, I wholeheartedly agree with ddollar. Convox
seems _extremely_ interesting to me, since our goal is a single-server heroku
experience. I personally would never be able use Dokku in production exactly
because of this, but its quite good for throw-away sites, as a test-bed for
side projects, etc.

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 :)

~~~
mwmanning
David had to go AFK, but thanks, on his behalf. I'll make sure he sees this :)

------
rjurney
So what does Convox, Inc. offer?

~~~
ddollar
Currently we only offer Convox the open-source platform :) In the future we
are considering paid support and other monetization strategies but the base
platform itself will always be open-source and available for you to do with as
you please.

------
badri
any plans to support stateful apps like Wordpress?

~~~
mwmanning
You could run Wordpress today, afaik. Anything that can run in a Docker
container can run on on Convox. You'd just need to use some sort of hosted
database service like Amazon RDS to persist your data.

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...

------
dark_knight3141
awesome!

~~~
mwmanning
Thank you!

------
thobakr
It's just another toy for AWS kids with "private cloud" buzzword.

~~~
aembleton
Don't you think it makes it easier to deploy a "private cloud" though. It
looks like it take away a lot of the tedium.

