4 ms·
If you're going to go the redis route Amazon has a managed service: https://aws.amazon.com/elasticache/ https://aws.amazon.com/elasticache/ It shouldn't be to
by cdoxsey 7y ago
If you're going to go the redis route Amazon has a managed service: https://aws.amazon.com/elasticache/ https://aws.amazon.com/elasticache/
It shouldn't be to expensive and can save you a lot of time in setup.
I think I'd also recommend using ansible instead of plain SSH. It has a lot of stuff built in and for simple deployments shouldn't be too hard to pick up.
Future you will probably appreciate an off-the-shelf solution, instead of something custom :).
It is nice seeing something like this put together though. There are so many moving pieces in a project it can lead to decision making paralysis where you find yourself going down rabbit holes, second guessing everything you do and seemingly never getting ahead. At least that's what happens to me when I'm doing something new.
- cies 7y agoAWS can also do load balancing for you (ELB) which can deal with SSL for ya, and possibly with auto scaling. It allows for deploying containers (fargate).
- fpereiro 7y agoWow, I didn't know that AWS had a managed redis service! I thought Elasticache was only for Elasticsearch. Thank you for pointing this out. In my experience, setting up redis is very easy and not time-consuming; what is not trivial is to store large amounts of data in it, which requires either getting more RAM or considering a clustering option. I'll very much have this option in mind for upcoming projects where I'm not the sole owner. Regarding Ansible vs bash/ssh, I'll probably (hopefully!) come to the point where I'll need something more sophisticated. Ansible is definitely my benchmark for an elegant solution to idempotent provisioning and infrastructure as code. I might not help writing something custom in js, but I definitely will have to go beyond bash and purely imperative approaches. I'll be sure to share what I learn along the way.
- devjam 7y agoAnother option over Ansible/Saltstack for managing remote hosts, is using something like Fabric [1]. It's a "remote execution framework"; basically a Python wrapper around SSH for defining hosts and writing tasks that are executed in a shell on your fleet. [1] https://www.fabfile.org/ https://www.fabfile.org/
- fpereiro 7y agoWill take a look at Fabric, thank you!
- sciurus 7y agoElasticache is for redis or memcached, not elasticsearch. AWS does have an elasticsearch service too, although I haven't heard good things about it. https://aws.amazon.com/elasticache/ https://aws.amazon.com/elasticache/ https://aws.amazon.com/elasticsearch-service/ https://aws.amazon.com/elasticsearch-service/
- pbowyer 7y agoI used to use Ansible, but recently have gone back to Bash scripts. I only set up a few VMs a year, and found the open-source Ansible modules I used weren't maintained any longer or weren't updated. So I was having to maintain them to keep my playbook working. In the end I decided bash plus some manual work to copy / update files was going to be quicker overall.