Live data from Hacker News

Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

deploybot.com

31–40 of 41 posts

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#31
post #9

There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…

Please be aware of the gotcha of protected branch: https://help.github.com/articles/about-branch-restrictions/

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#32
post #9

There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…

Please be aware of the gotcha of protected branch: https://help.github.com/articles/about-branch-restrictions/

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#33
post #28
post #3

Seems like a pretty neat service. To save others some time, they don't have a free tier, you can't host it yourself, and they use Docker for builds before deployments: http://support.deploybot.com/article/1028-plans-and-pricing

DeployBot certainly does have a free use plan, afaik

If it does, it's not obvious.

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#34
post #9

There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…

An issue I have with these git driven deployment process (not your specifically which looks well thought-out) is that your are starting from source each time.

I like my deployment across environments to use the exact same binaries that have been validated. Is it just me that is afraid of introducing issues by not doing that ?

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#35
The problem with generic deployment services like this is that they don't account for scalability.

Different stacks have different requirements. I built my own deployment service for my open source project/stack specifically so that it would handle scalability too. See https://baasil.io/ I know Laravel followed this approach too with https://forge.laravel.com

I think using more sepcialized deployment stacks (as opposed to generic ones) is the best approach for non-trivial apps.

Though I guess if you use a microservices approach, you could have a different deployer for different kinds of services.

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#36
post #26

Earlier quoted context omitted.

The biggest issue I have with this model -- and git-flow as an opinion about how deploy works in general -- is that it doesn't take any account of rollbacks, and it doesn't scale well to arbitrary numbers of deployments. The history of my production deploys is not monotonically forward: if something breaks, it rolls back. Nor does production roll forward as one piece: different components of the stack roll in separat…

I'd say rollback is possible under a 'git driven' workflow. That said, sincerely I find rollback one of those inherently complex ideas: - Rolling back assumes going back to the previous commit will fix everything, an unproven (unprovable?) hypothesis in the face of database migrations, job queues, etc. - Making database migrations reversible can be nearly impossible (particularly at scale), aside from a significant e…

I heartily agree with your sentiment "rollback one of those inherently complex ideas" :) It's true that sometimes it's not even well-defined, such as for database migrations.

Some of this also depends on context. If I'm shipping a single primary deployment of a massive fairly monolithic SaaS product, I can do this time-marches-on stuff. If I'm actually shipping shrinkwrapware -- and as a sibling comment says, doing rolling blue-green deploys also looks like this, if briefly -- switching something back to a previous code version is very worth minding.

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#37
post #9

There's a number of startups doing some variation of this. What many don't seem aware of is that plain pull requests, in combination with CI, entirely kill the need for a deploy app/bot. This is how I do it at my current company: * use plain git flow (master/develop, hotfixes, etc) * use additional explicit branches per deployment target (e.g. master-spain for http://myapp.es, master-mexico for http://myapp.mx). * Pr…

An issue I have with these git driven deployment process (not your specifically which looks well thought-out) is that your are starting from source each time. I like my deployment across environments to use the exact same binaries that have been validated. Is it just me that is afraid of introducing issues by not doing that ?

Long shot, but you might be interested in http://repeatr.io/ -- it's a tool for our brave-new-container-world intended to make it easy (or at least easier) to suss out reproducible builds.

Or to answer your direct question: "no", it's definitely not just you who's afraid of that :)

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#38
post #26

Earlier quoted context omitted.

I'd say rollback is possible under a 'git driven' workflow. That said, sincerely I find rollback one of those inherently complex ideas: - Rolling back assumes going back to the previous commit will fix everything, an unproven (unprovable?) hypothesis in the face of database migrations, job queues, etc. - Making database migrations reversible can be nearly impossible (particularly at scale), aside from a significant e…

Code rollbacks are about immediate mitigation, not about pie in the sky snapshot rollback. If you are sane about deployment and don't go to 100% of traffic instantly, then halting a broken deploy and rolling back is certainly better than shifting into analysis mode. > I'd rather stay broken a little longer for avoiding further complications! Unfortunately analysis is slow and an unbounded process, and high leverage b…

Good point. Few solutions are apt for every scale and every business!

OTOH, if you really essay a given deployment again and again, you can become really confident that the operation will succeed in production.

Real example: the most important feature I've developed this year has been put 5+ times in staging across a couple months. Every time I've asserted all kind of stuff, gathered feedback from the business owner, etc.

The deployment going bad in production is just not a possibility.

At a larger scale than mine, I would probably introduce 'dark launching' as well. That would further reduce the possibility of needing rollback.

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#39
post #33
post #28

Earlier quoted context omitted.

DeployBot certainly does have a free use plan, afaik

If it does, it's not obvious.

Granted, I might have been grandfathered on the Free Plan:

http://imgur.com/a/GZU14

Free Plan includes 1 repository, unlimited servers, unlimited deployments, and unlimited users.

Re: Show HN: A Bot to Deploy to AWS, Digital Ocean Etc.

#40
post #39
post #33

Earlier quoted context omitted.

If it does, it's not obvious.

Granted, I might have been grandfathered on the Free Plan: http://imgur.com/a/GZU14 Free Plan includes 1 repository, unlimited servers, unlimited deployments, and unlimited users.

So Beanstalk does have a free tier still. And it sounds like Beanstalk includes some or all DeployBot functionality?
Post reply on HN