Owens

Owens

Cost of running Gigalixir in Production

Hello all, I am wondering if anyone here is using Gigalixir in production and:

  1. What your setup is
  2. How much you pay
  3. What type of users activity/usage it supports (concurrent users, for example)

Let’s take a basic chat application as an example using Phoenix and websockets.

The free version supports 1 instance, 1 database (read somewhere this means pool size of 1), 200 MB of memory

Here is the pricing: https://gigalixir.com/pricing

How would we estimate the cost for a chat app (and the hardware needed according to Gigalixir pricing model) that has:

  1. 100 concurrent users sending 1 message per 5 minutes (connected through Phoenix Websockets)
  2. 1000 concurrent users sending 1 message / 5 minutes
  3. 1000 concurrent users sending 1 message / 10 minutes
  4. 10,000 concurrent users sending 1 message / 5 minutes
  5. 100,000 concurent users sending 1 message / 5 minutes
  6. 1M concurrent users sending 1 message / 5 minutes

This would help me get a much better understanding of how it works than the current pricing estimator which just dials up the hardware and cost.

Most Liked

Owens

Owens

As an update, I’ve been procrastinating a ton on getting my app deployed to a server.

As someone who has only used Heroku in the past, I decided to just give the free tier of Gigalixir a try and I must say that it was a total breeze to deploy to compared to what I needed to get running on my Digital Ocean cluster. Having my app online now is super encouraging and gives me a small sense of accomplishment to keep going and learning more.

My current plan is to continue to use the free tier of Gigalixir until my app exceeds 10k connections (or until I notice any performance roadblocks/limitations).

I actually don’t think setting up Digital Ocean is that laborious, it just feels* risky and I’m concerned something will go wrong considering I haven’t worked with it before.

ConnorRigby

ConnorRigby

Nerves Core Team

For what it’s worth i’ve been running https://turtletube.net/ on Gigalixir’s free plan for a few weeks now.
It’s a Nerves app that streams a base64 jpeg over phoenix channels about ~25 times a second and broadcasts it to how ever many clients are connected at once. Not efficient or scalable at all, but i have yet to have any hicups.

johnkacz

johnkacz

I’ve had nothing but good experiences with Gigalixir. Great support on Slack too.

I also got things working on Digital Ocean, a little more work but not too bad.

jdumont

jdumont

I wouldn’t compare DO to Heroku or Gigalixir because they are very different products. DO provides very affordable, flexible access to solid infrastructure but it takes work to make the most of it. A PaaS does the heavy lifting for you and makes it a breeze to start deploying, but you get less oomph for your money.

You’ll always get more out of a VPS like Digital Ocean than a PaaS. I’ve been running a small Phoenix app with modest traffic on a $5 per month DO droplet and it barely moves the needle.

Getting a deployment setup sorted can be intimidating still, and it might take a bit of practise to get right; but the result is just as easy as using a platform, but you’re free to use any infrastructure/hardware you like. (Just my tuppence).

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

Doesn’t this depends entirely on your application’s performance though? If the messages are simply routed to end users then that will require very few resources at each of those levels, but if you’re also persisting everything to the DB that’ll impose some additional work, and if you’re doing some highly complex processing that may require yet more hardware for the same number of users.

Where Next?

Popular in Questions Top

pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
tduccuong
Hi, is there any work on GUI with Elixir, that is similar to Electron/Javascript? My idea is to bundle Phoenix and BEAM into a single se...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
chewm
Hi guys, nice to meet you to the whole forum, I’m new here, I’m trying to configure visual studio code for elixir, right now the intellis...
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
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
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New

Other popular topics Top

JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
AstonJ
You’re a programmer, so you don’t need spoon feeding with the conventional drivel about “this is an integer.” No. You need to know what’s...
New
polypush135
As many of you may have realized by now (sorry for all the posts here) I’ve been working on a db problem where I’m trying to aggregate a ...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New

We're in Beta

About us Mission Statement