danschultzer

danschultzer

Pow Core Team

Terraform, AWS ECS, Github Actions, clustering, and more DevOps fun!

TLDR

This repo got all Terraform IaC files to setup AWS ECS for Elixir apps that includes web server(s) and database. It includes auto deployment with Github Actions, and shows how to deal with exposing multiple ports and blue-green deployment strategy.

https://github.com/danschultzer/elixir-terraform-aws-ecs-example

Background

AWS is an insane timesink. There are only few articles that detail full Terraform setups and all were missing different pieces that I needed to have a full production setup. I spend so much time trying to understand how to setup infrastructure properly and deploy to ECS. To save others from this pain I’ve put it all together in a repo detailing step by step with git commits how to set up an Elixir project with Terraform code for continuous delivery.

In our company we use it for umbrella projects with multiple Phoenix apps. Unfortunately AWS is very microservice happy so it’s not an ideal setup with multiple task files and deployment steps. But it works!

Furthermore I’ve enabled CI testing of this repo using LocalStack simulating AWS. So you can be sure that the IaC files in the repo actually works.

I’ve also tried to set up logic that creates a phoenix app from scratch and deploys it right there in Github Actions validating that it connects to db and other nodes :exploding_head: Unfortunately LocalStack has a bunch of issues around this so won’t work for a while.

I’ll keep updating the the repo as I learn from dealing with AWS. Let me know what you think!

Most Liked

Raees678

Raees678

This is awesome!

soyjeansoy

soyjeansoy

woot lots to learn!

Where Next?

Popular in Other Resources Top

ErlangSolutions
Webinar announcement :loudspeaker: We’re kicking 2020 off with a live coding demonstration of how you can build Tetris in Elixir. It’s a ...
New
New
mkunikow
Microsoft: DEVOPS200.9x Architecting Distributed Cloud Applications Note: This course is not related to Elixir at all, but I found it ver...
New
halostatue
I wanted to share an exercise I did that I found useful for refining my knowledge of SQL internal implementations and list comprehensions...
New
ErlangSolutions
We’re excited to announce that Juliana Helena will be joining us on the webinar this month. She’ll be expanding on the talk she gave at ...
New
zenw0lf
Hello all! I just finished a full step-by-step tutorial on how to build a JSON API with Phoenix: https://lobotuerto.com/blog/building-a...
New
ErlangSolutions
Following up from his talk at ElixirConf EU Virtual, our colleague Oleg Tarasenko will be joining us on the webinar to dive deeper into C...
New
aifrak
tl;td: My solutions are here and here. Elixir is awesome. Exercism is awesome. Thank you Elixir community. Recently, I have solved all t...
New
danschultzer
TLDR This repo got all Terraform IaC files to setup AWS ECS for Elixir apps that includes web server(s) and database. It includes auto d...
New
djaouen
Has anyone seen this paper on static typing for Elixir? It kind of goes over my head, but I’m interested in what the community thinks ab...
New

Other popular topics Top

minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement