This reminds me of Keith Gautreaux’s cool Elixir Conf 2017 Talk. He’s also using Elixir in a primary care setting:
Putting together a blue-green deployment pipeline for a multi application Elixir cluster with Docker, Docker-Compose, Swarm and Vagrant virtual machines as a PoC.
I wondered for a quite some time what was the best way to achieve fully automated continous deployment for large Elixir projects and teams with stateful’ish apps, long lived connections and long running tasks. I’m used to deploy in production at least 50 times a day at my day job and I can’t imagine life without continous deployment anymore . Hot code swapping is not viable for this kind of pace AFAIK. I came to the conclusion the best way was probably draining connections and isolating stateful concerns in separate apps as much as possible, although all connected to the same cluster (when not relying on foreign external storage such as Redis). This way, the main app of the cluster can be updated at will with zero downtime.
Also, dumping the state of a GenServer at termination is doable but somewhat messy when you don’t want to drop connections and you have long running tasks mutating its state, hence my decision to try a blue-green approach and isolating concerns.
Anyway, just messing around, I’ll probably put a repo online once I’m done if anyone is interested by the approach. I’m no devops and still somewhat of an Elixir newb but I’m having tons of fun.
Checking in on this forum.
Building a bot that scrapes the web with an interface through Telegram.
Sadly I haven’t done much recently outside of selling the idea to convert from ruby to elixir
I’m reading The Little Elixir & OTP Guidebook, and working on feed parsing for podcasts.
Working on the foundations of a platform of reactive agents to gather, analyze and act on data. Think Huginn, but in Elixir.
I’m making it with Drab, which is pretty much the ultimate choice for the frontend of a platform like this because it’s just one massive self-hosted admin panel for one person. You can pretty much ensure low latency and low workload.
I am working on a project that needs real time communications between mobiles and a web interface. I use phoenix on the backend, react for web interface, react-native for IOS/Android.
I am working on an Elixir/Phoenix/Elm based application for managing my cookbook recipes (as in food, not IaC)
I’ve been trying to solve Exercism’s exercises since yesterday. Also reading as much as I can from the Elixir official website, I love how it’s written in an easy to understand without any assumptions about the knowledge of the user.
Thanks for all the community for this effort.
I just wrote a library that implements a balanced, merkle binary hash tree. All this bitcoin talk has gotten me inspired to learn more about merkle trees, so I figured writing one would help. I wrote it while hanging out in the desert and mountains of Southern New Mexico (which is beautiful…). Please kindly take a look at it and play with it.
It’s on hex and here on github.
I’ve been working on a personal project to track recurring bills and payments.
It’s an umbrella project with a Phoenix app serving a React frontend.
I’ve been drafting on the project wiki an article about the deployment process I’ve created.
Reading Phoenix book and building a site.
Working on building my understanding of how what and when to use from OTP. Also building a weather station using Nerves and a Raspberry Pi 3. I came across supervised tasks and I’m glad I did, I was having reservations about using a GenServer when what I was doing was stateless but needed to be supervised
Writing a TodoList example program that uses GenServer and has a simple Plug/Jason API, that I will live program at a functional programming day at my work. Can’t wait to spread the good word more!
I just published the article I was talking about, a guide to deploy an Elixir/Phoenix app to AWS ECS https://joaquimadraz.com/guide-to-deploy-an-elixir-phoenix-app-to-aws-ecs
That’s something me and my wife want to build so bad as well, but never found the time so far. Is it open-source?
Indeed it will be. I have not yet made the code public as I do not feel I have an MVP yet. Pretty close. I just switched jobs and have not worked on it in a month or so but hope to resume soon.