For those of us that build phoenix umbrella projects with phoenix 1.3, stitched to an elm-lang frontend, and deploys to single VM Host with a bunch of single-purposed docker containers (e.g. phoenix app container, elixir OTP with Mnesia/ETS app containers, PostgreSQL container, VerneMQ container, etc) orchestrated via docker-compose, it would be helpful to see how to orchestrate to a horizontally scalable solution that auto-wires up Kubernetes resources and Kubernetes pods for a truely location-agnostic self-service-discovered OTP networked of BEAM nodes across VM Hosts (along with potentially a cluster pair of Master-Slave PostgreSQL servers, a cluster pair of VerneMQ servers and a bunch of clustered Mnesia servers, etc).
We're rejecting this proposal for now for a few basic reasons:
A course on the newly unveiled GlimmerJS. Glimmer is a React-like DOM-rendering engine in which components are written in TypeScript. Glimmer emerged from the Ember.js framework and will play a large role in Ember's future.
Glimmer is super new and likely going to change quickly over the next year or two.
Glimmer is not very popular (yet) and so the demand for and recognition of its virtues may be muted.
Just teach Ember (status quo).
Dedicated TypeScript material instead of clumping it with Glimmer.
Wait and see where Glimmer is going before committing resources to it.
Phoenix is great for building APIs for front-end frameworks such as Elm, Ember, React and more.
A course dedicated to the design and execution of an API-only Phoenix application would be truly useful to the full-stack and back-end developers among us.
An API-only approach might be a put-off for those who want to build a complete app The Phoenix Way. Teaching Phoenix outside of the Elixir course can increase the temptation to learn Phoenix without first understanding Elixir fundamentals. Patterns that are described in this course could be misconstrued as gospel and (as with Rails) lead to the reluctance of developers to break the mold and do think differently.
Full-stack Phoenix application development (a la Firestorm).
Include phoenix lessons within the Elixir track (status quo).
Teach Phoenix fundamentals without specifically limiting it to API-only design.
We'll be covering APIs in Phoenix as part of the Firestorm Forum project, thanks for the suggestion!
So many developers are giving up hot code reloading by using immutable Docker deploys for Elixir projects. That's not the Erlang way! Let's learn how to build an automatic deployment strategy using a library such as Gatling https://github.com/hashrocket/gatling
We'll be covering Elixir deployment as part of the Firestorm Forum project, thanks for the suggestion!
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps. (docker.com)
I think every developer could profit from in-depth knowledge about Docker, both for managing their local dev environment and production deployments. In addition it would be interesting to look at one or two solutions for orchestration (Swarm and Kubernetes for example).
We are working with Hosh, who is an expert on all things Docker and Kubernetes to do a two week series on this. The first will cover the basics of Docker, then the second orchestration with Kubernetes.
We all love Erlang and Elixir, but OTP is the true power behind it. The whole let it crash way of thinking, the supervision trees, naming strategies across nodes, replicating data, eventual consistency, enforcing business rules/invariants across a distributed system, etc.
I believe ElixirSips had touched this subject, but I don't know how up-to-date ElixirSips is (I feel Elixir evolved syntactically, but the ideas might still be there).
My proposal is to have a drip that is a little more code agnostic and more about distributed thinking.
We'll be doing this! I'm marking it accepted but we won't work on it for a month or two most likely - in general, it will come after Firestorm hits 1.0 (July 4th is the plan). There will be a little bit of OTP involved in Firestorm but probably not at the level you're looking for. Thanks for the suggestion, and thanks to everyone that upvoted it! :)
I'd love to see a week of videos on Crystal, covering the basics
I think we all need to learn a new Systems Programming language every now and then. A lot of people know and love Ruby. Being able to do Systems Programming in a language with familiar Ruby syntax seems amazingly powerful.
We are working on producing some Crystal content with the Crystal core team!