Elixir Wizards

Dan Ivovich from SmartLogic - Elixir in Production


Listen Later

We talk with developers from the team here at SmartLogic about our current practices on deploying Elixir and Phoenix in production.

Dan Ivovich - Director of Development Operations @ SmartLogic

Learn more about how SmartLogic uses Phoenix and Elixir.

00:00 - Fade In

00:30 - Introductions to Eric, Dan and SmartLogic

Dan Ivovich - Director of Development Operations @ SmartLogic

Eric Oestrich - Developer, Elixir Lead @ SmartLogic

Justus Eapen - Full stack developer @ SmartLogic

Introduced to Elixir by an old colleague.

1:20 - What Elixir projects do you have in production?

Several client projects in production. Several Mobile Apps with APIs powered by Phoenix and Elixir.

Baltimore Water Taxi.

A digital marketplace.

And more!

1:57 - Advantages and disadvantages to using Elixir.

We made the switch when a colleague was stoked about Functional Programming and introduced us to Elixir. We were won over by the performance and rich feature sets, OTP, etc.

2:43 - Where are we hosting our Elixir Apps?

  • Heroku
  • AWS
  • Linode
  • Digital Ocean
  • 6:20Deployment process, tools, scripting

    • Ansible - for underlying VPS’s, servers, and more recently deployment itself. (Similar to Capistrano).
    • Distillery
    • Mix.release
    • 7:18 - Zero Downtime Deployments

      • Old school load balancers and rolling restarts
      • 7:46 - What are the performance metrics like? Comparatively.

        • Ruby ends up with memory leaks. That doesn’t happen with Elixir.
        • Memory utilization is flat and low no matter what.
        • “Phenomenal response times”
        • 8:54 - How does Eric think about clustered applications in Elixir?

          • Going Multi Node (https://www.youtube.com/watch?v=lCUKQnkjajo)
          • Pg2 - process groups
          • Mnesia distributed database (beware!)
          • “Just sending messages to pids because Erlang is great”
          • Swarm / Horde
          • 12:40 - How do we handle background tasks?

            • Started with verk
            • Recently becoming more comfortable with spinning up GenServers
            • “The language itself is built to be concurrent.”
            • 15:06 What libraries are we using in prod?

              • First thing: You don’t need a whole lot because the language is so well designed.
              • Phoenix - web framework
              • Ecto - sort of an ORM
              • Distillery - for releases
              • Bamboo - for sending emails
              • Quantum - for task scheduling
              • Timex - for dates and times, and timezones
              • Cachex - for caching
              • 18:20- What third party integrations have we attempted

                • Stripe
                • Square
                • Twilio
                • Mindbody
                • Always building our own clients.  Using HTTPoison

                  19:58Has Elixir ever saved the day in production?

                  It’s saved many days by PREVENTING ISSUES. Systems are architected for reliability and fault-tolerance.

                  21:48 - Where do supervision trees come from? What is OTP?

                  • OTP is an Erlang standard lib
                  • Includes supervision trees, genservers, ETS, and a lot of stuff we don’t even know about!
                  • gen_tcp
                  • Mnesia
                  • dets
                  • 23:43- Tips for devs considering running elixir in production.

                    • Jump in and read the docs
                    • Understand how systems boot, distillery releases, config providers, etc.
                    • “Good server monitoring hygiene”
                    • “DIVE IN!”
                    • 19:54 Outro

                      Learn more about how SmartLogic uses Phoenix and Elixir.

                      Special Guest: Dan Ivovich.

                      Links:

                      • Going Multi-Node
                      • PG2
                      • mnesia
                      • Swarm
                      • Horde
                      • Verk
                      • Bamboo
                      • Quantum
                      • Cachex
                      ...more
                      View all episodesView all episodes
                      Download on the App Store

                      Elixir WizardsBy SmartLogic LLC

                      • 4.9
                      • 4.9
                      • 4.9
                      • 4.9
                      • 4.9

                      4.9

                      22 ratings


                      More shows like Elixir Wizards

                      View all
                      Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

                      Software Engineering Radio - the podcast for professional software developers

                      272 Listeners

                      The Changelog: Software Development, Open Source by Changelog Media

                      The Changelog: Software Development, Open Source

                      283 Listeners

                      Startups For the Rest of Us by Rob Walling

                      Startups For the Rest of Us

                      693 Listeners

                      Software Engineering Daily by Software Engineering Daily

                      Software Engineering Daily

                      624 Listeners

                      Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                      Syntax - Tasty Web Development Treats

                      982 Listeners

                      REWORK by 37signals

                      REWORK

                      211 Listeners

                      CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

                      CoRecursive: Coding Stories

                      189 Listeners

                      Elixir Mix by Charles M Wood

                      Elixir Mix

                      13 Listeners

                      The Stack Overflow Podcast by The Stack Overflow Podcast

                      The Stack Overflow Podcast

                      64 Listeners

                      Thinking Elixir Podcast by ThinkingElixir.com

                      Thinking Elixir Podcast

                      32 Listeners

                      Beam Radio by Lars Wikman

                      Beam Radio

                      11 Listeners

                      Software Unscripted by Richard Feldman

                      Software Unscripted

                      26 Listeners

                      Oxide and Friends by Oxide Computer Company

                      Oxide and Friends

                      47 Listeners

                      Elixir Mentor by Jacob Luetzow

                      Elixir Mentor

                      2 Listeners

                      Elixir Friends by German Velasco

                      Elixir Friends

                      0 Listeners