
Deploying a Rails 5.2 PostgreSQL App on AWS Elastic Beanstalk - evrimfeyyaz
https://evrim.io/deploying-a-rails-52-postgresql-app-on-aws-elastic-beanstalk/
======
wastedhours
As an alternative to both, I'm a very happy user of HatchBox [0] (even happier
having been grandfathered into a much cheaper plan).

It's really simple with a growing featureset.

[0] [https://www.hatchbox.io/](https://www.hatchbox.io/)

~~~
smnrchrds
Is there a similar product for Python?

~~~
brylie
Divio offers a "platform as a service" for django, Django CMS, Wagtail, and
Oscar commerce projects:

[https://www.divio.com/](https://www.divio.com/)

However, they lack a basic support ticketing system on the lower-tier price
plan. It is also not obvious if/how you can deploy a pre-existing app from an
arbitrary Git repo, as their service is geared to use Divio project
scaffolding (including their own SSO).

While the Divio service seemed appealing at first, the above issues are a bit
disappointing (and it has been nearly 24 hours with no response, since I
contacted their support.) Overall, Divio seems to leave a bit lacking when
compared with other hosting options like WebFaction (a shared hosting provider
with good Python support.)

[https://webfaction.com](https://webfaction.com)

~~~
brylie
Addendum: I received a response from Divio while typing the above review. The
respondent said they would put me in contact with a technical support person.

~~~
brylie
Addendum: Divio have been really helpful in explaining their upcoming feature
to allow Git remotes, which will allow projects to be managed via any Git
service.

------
maxehmookau
You're a brave person. As you say, Heroku has spoiled me and Elastic Beanstalk
is a pile of trash. I'm usually an AWS evangelist, but I run as far and as
fast as possible from EB. Configuring it for anything other than the most
basic of use cases is a massive headache. Even AWS itself offers much better
PaaS-style solutions like OpsWorks.

IMO, stick with Heroku if you want a PaaS.

~~~
SnowingXIV
Echoing this. Heroku is still such a treat, super reliable, and communicates
when issues arise. I've even gotten support via reddit from them. I do like
seeing things like this though in the event Heroku goes away. Being able to
spin up a clone quickly with another service is good to have in the back
pocket.

------
Lukas_Skywalker
I started using Dokku in production a few years ago. It tries to provide an
open source alternative to Heroku and ia compatible with their buildpacks.
Deployments work via git pushes. And there is a large number of plugins
available for different services like Redis, a plethora of databases,
letsencrypt e.t.c.

You can host it on any compatible server.

~~~
digianarchist
I love Dokku but I wouldn't use it in production. Maybe it's more stable than
it was 2 years back.

------
mooktakim
Under "Allowing access to the database" theres: Click on “Add Rule.” For
“Type,” choose “PostgreSQL,” and for “Source” choose “Anywhere.”

Would recommend not to do that. Create Security Group, add EB to it and allow
that only.

~~~
alttab
I'd also ponder the implications of storing your RDS password in an
environment variable. There's no reason to potentially open up this
information unencrypted to other applications.

------
lettergram
Yeah, that's not even bad... What AWS doesn't tell you, is elastic beanstalk
creates new security groups and what not. So if (like me) you manage 12 Apps
and you try to destroy one environment, the environment won't delete.

Apparently, they all try to create the same named security group (as well as
other components). This happens even if you change the security groups after
launch. So it'll error out and be unable to delete the rest of the components.
Leaving a "ghost" environment.

That's just one of my many, many frustrations with it. I'm considering moving
back to digitial ocean (where I was). However, the billing breakdown is nice
to share with clients

~~~
nicoburns
My understanding is that EB is a packaging together of lower-level AWS
components (like auto-scaling groups) that you can use individually and patch
together yourself if you wish. Maybe that could be a route to look into?

~~~
lettergram
It is, I've gone through before and done that, took me a couple hours. But
either way, this seems like it should be obvious to the AWS maintainers and
should be fixed.

------
squid3
Another alternative to deploy a Rails and PostgreSQL app is on NodeChef where
developers have three simple options to choose from to deploy apps.
[https://www.nodechef.com/](https://www.nodechef.com/)

------
khnov
I just finished installing my spring boot app on elastic beanstalk, I think
features introduced in EB are not that important, I've mainly setup all by
myself, except creating EC2 instance. I scratched by head for 3 days to
install a free certification on nginx ...

------
auslander
> Allowing access to the database .. and for “Source” choose “Anywhere.”

Nice n easy. Well done :)

~~~
alttab
Certainly sarcasm, right?

------
masternda
Have you looked at AWS Lightsail, I think it a better alternative to using
Heroku given the level of your experience with setting up infrastructure?

------
taf2
Do people not deploy rails anymore with Capistrano?

~~~
TheRealDunkirk
Well, Jenkins does.

