Gigalixir: Platform-as-a-Service designed just for Elixir/Phoenix

Good question. I haven’t tried “running gigalixir locally” yet.

I’m not exactly sure if this answers your question, but gigalixir’s runtime Docker container is open source and can be found here.

Running this locally should be a matter of setting a few environment variables with docker run -e ..., but to do clustering locally in the same way as production, you’ll probably have to run Kubernetes locally because libcluster accesses the Kubernetes API to discover other nodes.

Feel free to email me at #{my first name}@gigalixir.com if you’d like to work together on making tokumei gigalixir compatible.

Very interesting. As you are in the google infra, how is performance impacted with an S3 and RDS in us-east AWS?

Thanks, had a quick look at your docker setup. unfortunately a long time since I looked at python so will have to look again when I have more time.

I am not keen to run kuberneties locally. However with a library like peerage doing the clustering with a switch for development vs production environments we might get something very close.

Gigalixir runs in Google’s us-central1 region which is in Iowa. Connecting to S3 or RDS in Amazon’s us-east-1 would increase latency for sure, but I haven’t measured it myself.

1 Like

Following up here, gigalixir.com now has a free tier, no credit card required. For anyone who had questions about postgres, gigalixir now offers Postgresql-as-a-service.

5 Likes

First of all, thanks to everyone who helped with the beta test earlier this year.

Gigalixir, a Platform-as-a-Service for Elixir, now has a free tier so you can try it without a credit card. We also added Postgresql-as-a-service, and is no longer invitation-only.

If you’re interested, we highly recommend following the quick start to get started.

As always, feel free to contact me directly for help. You can find me in the Slack channel as @jes.

11 Likes

That seems like a very acceptable Free tier for testing that it works, that helps a lot. :slight_smile:

1 Like

Support mysql ?

@dsslimshaddy Gigalixir works fine with MySQL, but the Gigalixir database-as-a-service doesn’t offer MySQL yet. If you provision one yourself in Google Cloud SQL us-central1 it’ll be on the same low-latency network.

1 Like

I just skimmed the topic, but I think the analogy is a bit not accurate. It’s not the difference between starbucsk and growing, roasting and grinding coffe.

It’s rather the difference between reading a manual thoroughly and learn to do your homework in minutes (bare metal) or don’t read and pay a stranger to do your homework every time. The difference is that once you learn how to do those dev-ops you will know how to do it and won’t be left out cold ever, and even if it’s not something you will ever use in production environment it will definitely help you in your dev environment (and you might not even be aware why you know how to do some things on your dev machine :wink: ). It’s like with this proverb: Give a man a fish, and you feed him for a day; show him how to catch fish, and you feed him for a lifetime.

And I’m not saying that services like Gigalixir are not needed or bad or whatever, I used some of similar for some projects and was as satisfied as one can get with them. What I mean is that there are areas of IT, that every developer should know, at least basics, even if he does not foresee himself ever using it. Simple scenario: You upgrade PostgreSql and your data is gone, or server does not start… what you do? spend few minutes to migrate data? Or take precious times of your colleagues because you can’t into dev-ops, because you use PasS in production? :wink:

3 Likes

It’s like with this proverb: Give a man a fish, and you feed him for a day; show him how to catch fish, and you feed him for a lifetime.

Show him where the fish market is and he can accomplish something
meaningful in his day without wasting most of it trying to catch dinner…

4 Likes

Doing your own devops, once learned, does not take much time at all, I’ve been doing it since the late 1990’s and I can spin up a new server from scratch in minutes.

Doing your own devops, once learned, does not take much time at all, I’ve
been doing it since the late 1990’s and I can spin up a new server from
scratch in minutes.

That’s delightful but irrelevant. No matter how experienced you are,
building and maintaining infrastructure is still time taken from other
items on – for at least at most startups – a 110% full plate.

And when I started at Sun Microsystems in 1989, the first day was
“there’s your workstation, here’s a SCSI tape cartridge so you can
install an operating system on it” – so I’ve been doing this a while
as well.

It’s good to know how, and it’s good to have the option to delegate
when you have other higher-priority things to do.

IMO.

1 Like

It generally boils down to setup time.

This business analogy would be that you are looking at something close to a fixed time requirement that isn’t going to change much regardless of the size of your project or traffic level. If you’ve got a project where you are actively working, paying this cost is very low-investment and high reward. If you have a side project or are splitting time on multiple projects then it’s time you are spending not focused on the project itself.

If you’ve never done it before then the up front investment and uncertainty can also be a deterrent.

When you are looking at a language like Elixir where you are already coming into new language, environment, tooling, expansive clustering options and deployment options, OTP and the like…having one less thing to learn is a huge benefit.

It’s worth learning eventually, but it’s very understandable for people to want to have options that don’t require it up front.

In my case, I did PHP professionally for about 4 years before I signed up for a Slicehost account and started tinkering with my own server setup for personal stuff. About a year later I started running my own servers for everything and still rabbit holed down options for log management, monitoring, debugging, keeping things up to date, security patches, rotating SSL, managing user permissions, etc. Most of the reason that I got into that was because back in 06-07 you had to dive into server configure heavily to performance tune PHP.

It was a great experience for me to learn…but it was a lot of time and I’m still learning. Its not for everybody and services like Gigalixir and Heroku are invaluable in helping people bridge those gaps.

3 Likes

My main issue with the instant-setup things is not even the instant-setup part or the lack of knowledge part (I really don’t think people should use something without knowing how it works, from their servers to their cars to how their house is standing), but rather the monstrous cost most of them are (look at aws or so, they could have hosted one of my last big sites for, oh, $30k/month minimum, where I hosted it on my own servers for <$200month with room to spare). My spending a few hours to set it up is worth it when I’m saving over $30k/month. ^.^

At the point where your costs would be that high, it’s also something that would factor into the formula.

Very similar to the rails thought process in terms of time to market being most important in most cases until you really start growing. You can always move. You can’t go back and start getting users sooner.

1 Like

funny
doing

 gigalixir
gigalixir: command not found

never mind, was a sudo issue

@jesse

I am using the older phoenix 1.2.x version and running an umbrella project.

during git push gigalixir master

 Creating .profile.d with env vars
-----> Writing export for multi-buildpack support
=====> Downloading Buildpack: https://github.com/gjaldon/heroku-buildpack-phoenix-static
=====> Detected Framework: Phoenix
       
-----> Loading configuration and environment
       Loading config...
       WARNING: phoenix_static_buildpack.config wasn't found in the app
       Using default config from Phoenix static buildpack
       Detecting assets directory
       WARNING: no package.json detected in root nor custom directory
       * assuming phoenix 1.3.x and later, please check config file
       Will use phoenix configuration:
       * assets path assets
       * mix tasks namespace phx
       Will use the following versions:
       * Node 6.9.2
       Will export the following config vars:
       * MIX_ENV=prod

no package.json detected in root nor custom directory ??

Hey @codecakes, I responded to you privately, but for anyone else interested, umbrella apps need a little extra configuration. See http://gigalixir.readthedocs.io/en/latest/main.html#do-you-support-umbrella-apps

2 Likes