From $erverless To Elixir | Prime Reacts

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ก.ย. 2024
  • Recorded live on twitch, GET IN
    / theprimeagen
    Reviewed Article: / from-erverless-to-elixir
    Author: Cory O'Daniel | / coryodaniel
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
    Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
    turso.tech/dee...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 156

  • @ycombine1053
    @ycombine1053 ปีที่แล้ว +151

    "we were using a logging sevice that was getting expensive" - cough cough datadog cough cough

    • @FinLogan
      @FinLogan ปีที่แล้ว +4

      Cloudwatch is also quite expensive. Not sure how they compare

    • @AMalevolentCreation
      @AMalevolentCreation ปีที่แล้ว

      @@FinLoganmuch more expensive, but is a better tool UX wise.

    • @anon-fz2bo
      @anon-fz2bo ปีที่แล้ว +4

      f# enjoyer? 🤔

    • @ocoolwow
      @ocoolwow 11 หลายเดือนก่อน +8

      Or you know just code a simple logging system yourself, it ain't that hard to write text to a file

    • @aldrickdev
      @aldrickdev 6 หลายเดือนก่อน

      @@ocoolwow Logging Services do more than just centralizing your logs into a file. Most Logging Platforms aggregate your logs and let you analyze and monitor them

  • @symbolslogic
    @symbolslogic ปีที่แล้ว +89

    Re: "let it crash"--the Erlang joke at 5:11.
    "Let it crash" is a core tenant of Erlang design and programming. Instead of writing "defensive code", you let a process crash or "die", and have its supervisor or monitoring process restart it. That said, in actuality, you probably do not want it to crash and will likely write some defensive code, however, in the off chance something unexpected happens, having a supervisor process and that philosophy lends to a greater peace of mind.
    I guess the intended joke was that the major change from serverless to Elixir initially resulted in some crashing, so the saying "let it crash" fit the bill.
    Re: "fit the bill"--wait, stop recursion.

    • @KManAbout
      @KManAbout ปีที่แล้ว +6

      Let it crash is a good philosophy as long as you have a good case for restarting services with the state intact everything is fine. Hence a graceful crash that returns a recoverable state

    • @draakisback
      @draakisback 10 หลายเดือนก่อน +8

      let it crash is a philosophy that works really well in practice as long as you aren't writing extremely stateful processes and to be honest not filling your processes with state is pretty idiomatic for both elixir/erlang. As with hardware when you have a state problem, you reset the device and it normally will correct the problem; this is how let it crash works too. With elixir/erlang, you also have tons of methods to pass the state back and forth between crashing processes; you can pass the old state from one process to the new one using some of the genserver callbacks. Other parts of OTP like ETS and Mnesia work well for making sure that you can move state from your processes to something more tangible.

  • @NibbleMeTwice
    @NibbleMeTwice ปีที่แล้ว +182

    This article was pretty awesome. I still have no idea what most of this means, but the big number turned into a smaller one.

    • @Kosake82
      @Kosake82 11 หลายเดือนก่อน +10

      Server go burrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

    • @Mbjonesss
      @Mbjonesss 7 หลายเดือนก่อน +4

      LOL same

  • @bryjbry
    @bryjbry 9 หลายเดือนก่อน +27

    Elixir is the “One Man Army”
    language

  • @zacbarnes2187
    @zacbarnes2187 ปีที่แล้ว +119

    Been writing elixir for 6yrs. I have that natural curiosity toward other languages and frequently try them out. EVERY SINGLE TIME I end up thinking, "this is just so much simpler in Elixir." I try not to fanboy over any language since they are just tools but man Elixir/Erlang just works.

    • @gorge464
      @gorge464 ปีที่แล้ว +12

      I had started using Elixir about almost 4 years ago and have had the same sentiment. If I want to get something going quick and easy, Elixir is such a quick solution for me and each time I try something else, I find something to appreciate but I can see an amount of work and shifting ideas that don't meet my internal effort-economy bar so I go back to Elixir.

    • @Hacking-Kitten
      @Hacking-Kitten ปีที่แล้ว +1

      currently trying to get into elixir. Feels harder to learn than other languages I worked with so far.

    • @adriankal
      @adriankal ปีที่แล้ว +13

      Its the case with every language. You solve problems that youranguage is good at, in the way that it's easiest in your language. Then you switch to another language and naturally you want to do same things, the same way. It would never be as easy as in your language. You need to use other language to do what it's good at in the way that is easiestin that other language.

    • @Hacking-Kitten
      @Hacking-Kitten ปีที่แล้ว +2

      @@adriankalI would agree, but learning Javascript, Rust, Go, Python, etc. coming from C++ did not feel so hard. All object oriented ofc, so that is probably why

    • @red13emerald
      @red13emerald ปีที่แล้ว

      What sort of projects are we talking about here?

  • @madlep
    @madlep ปีที่แล้ว +236

    The most underrated feature of Elixir/Erlang is how damn stable throughput is. May not have the same straight line performance as some other languages, but throw more and more load at it, and it’ll still be chugging along with good response times long after other systems have fallen over. Preemptive multitasking is a superpower.

    • @EdwardOrnelas
      @EdwardOrnelas ปีที่แล้ว +10

      It pipes really well

    • @draakisback
      @draakisback ปีที่แล้ว +34

      Yup, that's it's jam. Everytime I've used elixir, it's always been about constant latency and perf. Not to mention that you can write these apps with very few lines of logic. From what this guy was explaining, he probably had 3 modules and maybe some extra genserver modules to lift up the logic. My favorite thing to do with elixir though is to use rust NIFs. Elixir gives you fault tolerance and out of the box distribution, but it can be slow computationally. On the other hand, you can hook in some rust native interface functions to get back some of that speed.

    • @lmao4982
      @lmao4982 11 หลายเดือนก่อน +3

      idk much about any of this but when real-time system languages like erlang were introduced to us briefly in university, this was described as one of their main design criteria

    • @patricksmith8262
      @patricksmith8262 10 หลายเดือนก่อน +23

      I'm still dumbfounded how Elixir hasn't become more popular over that past decade.

    • @septuleptum
      @septuleptum 10 หลายเดือนก่อน

      @@patricksmith8262 I think it's a combination of factors. This is a functional language, and paradigm shift is hard for those who are used to writing oops, the language has a kind of unusual syntax inherited from Ruby, you will have to learn OTP (the gen-servers mentioned in the video), and the most interesting thing is that not everyone wants the kind of workload that can be afforded with this programming language. It's an odd take, I know. Nevertheless, Elixir is used a lot of places, even in Microsoft flight simulator.

  • @disguysn
    @disguysn ปีที่แล้ว +14

    The interprocess communication in Erlang/Elixir is actually really cool. Once I understood it, it became my favorite model for this.

    • @guledomer
      @guledomer 9 หลายเดือนก่อน

      the actor model

    • @binarysun_
      @binarysun_ 5 หลายเดือนก่อน

      Ever since I learned Erlang many moons ago and later switched to Elixir I wonder how in the world anybody would use any non BEAM language for anything web and still be able to look in the mirror

    • @disguysn
      @disguysn 5 หลายเดือนก่อน

      @@binarysun_ Go is a worthy contender. It's still not nearly as cool but it's better than most.

  • @benbowers3613
    @benbowers3613 ปีที่แล้ว +11

    Serverless is really only for small to medium sized projects/companies. I think the strategy is generally to use serverless in order to spit out functional apps as soon as possible and then if any of the apps in particular blow up in popularity you would move that app to a self-managed infrastructure to maximize profit.

  • @Kane0123
    @Kane0123 ปีที่แล้ว +8

    Stopped watching about half way to rewrite my services in Elixir to run on kubernetes.
    Will come back and watch the reminder after I deploy perfectly first time.

  • @ycombine1053
    @ycombine1053 ปีที่แล้ว +8

    And it was about that time that i realized that that girl scout wasnt no gurl scout. It was that damn lochness monster again trying to get my tree fiddy!

  • @daltonyon
    @daltonyon ปีที่แล้ว +29

    Every time that I hear serverless surprises me how much money they spend!!

    • @albertoarmando6711
      @albertoarmando6711 ปีที่แล้ว +6

      and how unnecessary complicated it might get. I was recently staffed for a company that assigned me to work on a serverless project. Considering what this project does, it is overkill.

    • @some84884
      @some84884 6 หลายเดือนก่อน

      They have to resist evil but not join it! Dumn lambdas

  • @dexterbanawon2449
    @dexterbanawon2449 ปีที่แล้ว +1

    the best article u read so far. i watch your videos for a month now. the other videos were good but this was the best. love it.❤

  • @kasvith
    @kasvith 8 หลายเดือนก่อน +4

    Why not go? well I came to elixir from go and rust...Elixir is simply pure joy compared to others

  • @sinom
    @sinom ปีที่แล้ว +11

    And the link was in fact not in the description

  • @nicco88
    @nicco88 ปีที่แล้ว +18

    I see elixir, I like

  • @EdwardOrnelas
    @EdwardOrnelas ปีที่แล้ว +20

    I learned Elixir earlier this year and had to do a CRUD’s table for a small company cause they asked for it using Phoenix table. When the project was completed, I haven’t touched Elixir since, that was back in January. Sadly not as much demand for it (right now).

  • @jesustyronechrist2330
    @jesustyronechrist2330 ปีที่แล้ว +9

    Elixir? I hardly know her.

  • @MrSpoomples
    @MrSpoomples ปีที่แล้ว +5

    When you look at the description looking for the links for the keyboard and find nothing...

    • @anarchoyeasty3908
      @anarchoyeasty3908 ปีที่แล้ว

      If you google "From $erverless to Elixir" it comes up (in case youtube doesn't like the link I dropped)

  • @emjones8092
    @emjones8092 ปีที่แล้ว +1

    Cory O’Daniel is a gangster. Stick with him, y’all.

  • @prsy
    @prsy ปีที่แล้ว +24

    🎉🍾🎊 elixir mentioned 🎊🍾🎉

  • @unowenwasholo
    @unowenwasholo ปีที่แล้ว +3

    20:52 I think "contrarianism" is a good product of critical thinking (to an extent). We know people are fallible and can get swept up in hype. When there's no counternarrative that's pointing out the downsides or nuance of a situation or thing, its generally a good thing to give some air to the skeptic so they can scrutinize the narrative. This isn't to say that things can't have a huge amount of pros and very little (relevant) cons, or that the skeptic themselves are going to be constructive; just that it's good practice to keep an open mind to nuanced views.
    "There's a time and place for everything," and that is never all the time and everywhere. The higher the stakes, the better it may be to seek said nuance out on your own or to play "Devil's advocate" in efforts to stress test an idea and play it out to its logical ends.
    PS: That said, sounds like TheFightagen just wants to throw a few "Oh really?"s.
    Edit: Better -agen.

  • @nevokrien95
    @nevokrien95 ปีที่แล้ว +13

    I am learning elixir it's fun

  • @sharkpyro93
    @sharkpyro93 ปีที่แล้ว +9

    another episode of: tech choices that you will never see happen in an enterprise/big company

    • @victorpinasarnault9135
      @victorpinasarnault9135 ปีที่แล้ว +1

      I agree, sadly, I agree.

    • @sharkpyro93
      @sharkpyro93 ปีที่แล้ว

      ​@@victorpinasarnault9135 every place i worked at were using java for literally every thing, even the smallest ones were spring boot apps, i created a flask server for 2 small endpoints once, senior came, overwritten with a java spring boot app and pushed, that was a miserable experience..."a very small api with 4 endpoints and you're using node or python? excuse me what the fuck?!" that basically sum it up the enterprise experience for me

    • @septuleptum
      @septuleptum 10 หลายเดือนก่อน

      Hehe, some of these big guys uses Elixir but never tells about it

  • @ANONAAAAAAAAA
    @ANONAAAAAAAAA ปีที่แล้ว +4

    Honestly, I doubt this is a good use-case of BEAM which is designed for handling large number of connections concurrently in IO bound scenarios.
    This problem looks more like CPU bound because the server doesn't need to keep connections while waiting for external API or something.
    If the requests from clients take time and cause large number of concurrent connections, then we can just put nginx or something to deal with the bloated connections.

  • @jeffwhite3867
    @jeffwhite3867 11 หลายเดือนก่อน +1

    Remember back in the day when developers threw their code over the fence and let the sysadmin handle deployments and infrastructure, and then they invented "devops" so developers became responsible for the infrastructure their code ran on, and then eventually nobody specialized in anything anymore, and then infrastructure became so complex that it became impossible to setup shitty infrastructure to run shitty code as fast as we deployed quality code on quality infrastructure, and now developers are throwing code over the fence to "devops" who spend most of their time trying to keep the costs down and wondering why nothing is stable anymore? Yeah, good times.

  • @steveoc64
    @steveoc64 ปีที่แล้ว +13

    Finally - elixir

  • @anon-fz2bo
    @anon-fz2bo ปีที่แล้ว +1

    never written elixir before so i can only assume what the code shown @10:56 means.
    im gonna apply the knowledge i have of languages in general but since this is a specific language with its own nuances im most def gonna be wrong about some things.
    im guessing defmodule is a keyword & as it implies it is used to define a module, which is essentially a namespace.
    now the syntax on the following lines that start with @ are just that; identifiers from what im guessing.
    so the first line would be an identifier for a struct/class/interface/namespace, since im unsure what Storage actually is or if elixir even has classes/structs/interfaces.
    the second would be an identifier for the string literal "
    "
    and the third identifier would be assigned to the returned value of the get_env function located in the Application namespace/module or, from a c#/java perspective Application would be a class and get_env would be a non void public static method. unsure about the arguments it takes in and the syntax associated with.
    then on the next line the def keyword is used to define a function which is exactly like ruby & python, following that would be the identifier of the function & its single argument, "do" would obviously indicate the begining block of the func.
    then the body of this function would be the actual procedure that this function does.
    Seems to me that another function is being invoked from the File module; the write function. Which makes sense if File is infact a module. You would want some kind of write functionality.
    it takes in the value of @log_file as the first arg which im assuming is a path to a file, and im assuming the result of concatenating its actual argument assigned to the identifier "msg" with the string literal "
    " would be the second argument.
    my reason behind guessing so despite not knowing what the token "" means is because it looks to me like an operator & the right operand is defined a string. so if im right, the code is actually readable compared to most typescript (especially generics) that u will find out in the wild & especially on yt.

    • @anarchoyeasty3908
      @anarchoyeasty3908 ปีที่แล้ว

      Pretty spot on. The creator of erlang is José Valim and he was formerly a core contributor for Ruby on Rails which is why it has similarities to ruby in design. He wanted elixir to be understandable and the logical next step for ruby devs to move to.

  • @russpalermo
    @russpalermo ปีที่แล้ว +1

    Prime's skepticism about serverless hype, lies, deception and the need to go along is better placed with the Typescript crowd.

  • @AKRIDASGAMWEKSOGIINI
    @AKRIDASGAMWEKSOGIINI 11 หลายเดือนก่อน +1

    the constant beef with elixir is so entertaining

  • @noext7001
    @noext7001 ปีที่แล้ว +3

    5m/h request, is this netflix ?

  • @NikosKatsikanis
    @NikosKatsikanis 18 วันที่ผ่านมา

    spent 1.3 hours trying to get phoenix to hello world on stream - no luck yet

  • @cahva2
    @cahva2 ปีที่แล้ว +1

    Someone broke your keyboard in half

  • @binarysun_
    @binarysun_ 5 หลายเดือนก่อน

    ... and now there is FLAME ... Serverless PLUS Elixir functions ....

  • @mrbit10
    @mrbit10 8 หลายเดือนก่อน +1

    nothing against the point of the author, BUT, i ran into the same issue wtih AWS api gateway costs and found i had to convert from REST to their lower tier HTTPS and it cuts the API costs in half.

  • @TheALahiri
    @TheALahiri 6 หลายเดือนก่อน

    Deep article and good commentary.

  • @kristun216
    @kristun216 ปีที่แล้ว +9

    Love Elixir

  • @MuskW-e9x
    @MuskW-e9x ปีที่แล้ว +1

    Serverless is a movement? Like bowel?

  • @thewayfaringshadow
    @thewayfaringshadow 8 หลายเดือนก่อน +1

    I really like that elixir juice.

  • @pauld2216
    @pauld2216 8 หลายเดือนก่อน

    Collecting metrics on your metrics is the circle of sadness.

  • @ankk98
    @ankk98 10 หลายเดือนก่อน +1

    People are getting over reliant on cloud based abstractions.

  • @MrDaAsif
    @MrDaAsif 9 หลายเดือนก่อน +1

    Wow that is some quite low hardware load

  • @dpcxx
    @dpcxx ปีที่แล้ว +2

    The whole thing can probably be handled by 20 hosts on Hertzner with haproxy, for $1000/mo, completely over-provisioned. Or (if you really need to) in AWS for somewhat more. But tell me more how KISS your setup is, with AWS, Elixir, Kinesis, Go, Node, k8s, and whatever else was utilized there.

  • @ddystopia8091
    @ddystopia8091 ปีที่แล้ว

    Kinesis links are not in description

  • @ANONAAAAAAAAA
    @ANONAAAAAAAAA ปีที่แล้ว

    >2018
    Now suddenly everything made sense.

  • @laughingvampire7555
    @laughingvampire7555 ปีที่แล้ว +6

    Elixir has little in common with Ruby, only surface syntax but in Elixir it means things that are very different to Ruby's
    In Ruby a module is define between the keywords "module" & "end" and it is just a bag of definitions for ruby, the only way you have to ship it is as a file and supports no versioning.
    In Erlang(or Elixir) a module is a distribution unit of code, is the minimum code the beam loads and it is binary and it is versioned and the BEAM (Erlang's VM) allows to load to different versions of the same module, and if you use correctly the supervision tree it comes with an automatic mechanism to update the module in all the running instances and if you have processes of the old version still doing job, it waits until they are done to kill them and replace them.
    So Ruby & Elixir are way to different.

    • @atkascha
      @atkascha ปีที่แล้ว +3

      tbh I never understand the hate for Ruby.
      Ruby 3 is faster than Python.
      It has great tooling
      There's a gem for everything
      The syntax is quite easy
      It has a crude form of types a la RBS/Sorbet but that tooling is getting better
      Its ecosystem, for everything other than machine learning, is pretty solid
      It has backing/usage by big companies
      I wonder if its just because of the close association with Rails? Even though DHH is kinda a douche, Rails is pretty solid as an API for CRUD apps (I'm not a fan of Rails/Ruby frontend things though)

    • @encapsulatio
      @encapsulatio ปีที่แล้ว +1

      @@atkascha Any proof that it is faster than Python 3.11 ?

    • @DisFunctor
      @DisFunctor ปีที่แล้ว +7

      not to mention Elixir is an FP language unlike Ruby and Python, and works with an actor system, which is requires a pretty different mental model to program with than your usual Ruby or Python programming.

    • @astroid-ws4py
      @astroid-ws4py ปีที่แล้ว +1

      ​@@atkaschaFor a fast Ruby you have Crystal

    • @atkascha
      @atkascha ปีที่แล้ว +1

      @@astroid-ws4py solely for Ruby, yes. you don't have a lot of Ruby's ecosystem (bundler, gems, etc) with Crystal though. Ruby has a nice that its cool for little tools, and APIs a la Sinatra or Rails. Sure, you can make games, do frontend web, embedded programming with it... but there are better alternatives for those

  • @Dev-Siri
    @Dev-Siri ปีที่แล้ว

    they have users?

  • @aaauto
    @aaauto 7 หลายเดือนก่อน

    Do they even need K8?

  • @jaymartinez311
    @jaymartinez311 ปีที่แล้ว +1

    raw dog me and append me 😂😂😂🎉

  • @h2_
    @h2_ ปีที่แล้ว

    As an Elixir bro, I watched this one live and thought it was never gonna get uploaded bc the article sucked :( It was just "serverless bad" for 20 minutes with not enough "elixir is goated" to compensate 😔I hope we'll see more elixir content soon though :)

  • @Redyf
    @Redyf ปีที่แล้ว +2

    W elixir

  • @SigSeg-V
    @SigSeg-V ปีที่แล้ว

    I like the tooling and fundamental concepts of elixir, I just can’t get over the Ruby-ness.

    • @verified_tinker1818
      @verified_tinker1818 ปีที่แล้ว +2

      I can get used to the Rubyness but not dynamic typing.

    • @SigSeg-V
      @SigSeg-V ปีที่แล้ว

      @@verified_tinker1818 that’s what I mean, having no explicit types yet the compiler not being able to coerce types is just a disaster.

    • @pipely
      @pipely ปีที่แล้ว

      @@SigSeg-V you can get pretty good type safety in Elixir if you use its TypeCheck feature (and Dialyzer/Dialyxir). That makes it WAY more type safe than Ruby.

    • @anarchoyeasty3908
      @anarchoyeasty3908 ปีที่แล้ว

      @@SigSeg-V Elixir definitely does have explicit types, there are 7 of them: integers, floats, Booleans, atoms, strings, lists and tuples. Typespec and dialyzer provide type checking and documentation on what types are expected, and Jose is actively working on implementing a more formal type system. The research part is finished and they are working on actually implementing it now.
      I will add that Elixir is based on Erlang which is extremely reliable and has been powering systems that are critical infrastructure for decades without any issues. All of BEAM (the VM that Elixir and Erlang run on) has the same typing system, and it works perfectly. So a disaster? Hardly. You just are having a hard time letting go of the things other languages and developers have convinced you are requirements, but when properly handled (like BEAM does) is not actually a requirement at all.

    • @septuleptum
      @septuleptum 10 หลายเดือนก่อน

      ⁠@@SigSeg-Vcore team is working on it right now but it’s a long road

  • @Nellak2011
    @Nellak2011 ปีที่แล้ว

    Why not client-side JSON schema validation? It would save you from using a Lambda.

    • @anarchoyeasty3908
      @anarchoyeasty3908 ปีที่แล้ว

      Relying on client side validation. Want to know how I know you have never written a high performance system that requires reliability? You can NEVER rely on client side validation for anything or you will shoot yourself in the foot.

    • @Nellak2011
      @Nellak2011 ปีที่แล้ว

      @@anarchoyeasty3908 I really haven't, I do front end stuff. Why cant you simply do client side validation?

    • @fghdfghdfgghdstwesdfjtykjyfgk
      @fghdfghdfgghdstwesdfjtykjyfgk 11 หลายเดือนก่อน

      @@anarchoyeasty3908 you actually don't need to write high performance systems to know that, it's basics of web development

  • @TheHackysack
    @TheHackysack ปีที่แล้ว

    no funny comment this time, just wanted to say hello :3

  • @annoorange123
    @annoorange123 ปีที่แล้ว +2

    Why is Erlang getting no love 😢

    • @jrrrohm
      @jrrrohm 11 หลายเดือนก่อน +2

      All that stuff they were saying about Elixir like genservers etc. is actually all Erlang under a metalanguage... Erlang is all the love.

  • @GrandpaRanOverRudolf
    @GrandpaRanOverRudolf ปีที่แล้ว

    cloud bad

  • @sp3cterproductions
    @sp3cterproductions ปีที่แล้ว

    I smell bs, either at a management or engineering level. If and only if the service is running optimally then the aforementioned 12k bill shouldn't be an issue if the service is actually providing value to the business to offset it's cost. Either the engineering is bs or management pricing the service to customers is bs.

  • @defnlife1683
    @defnlife1683 ปีที่แล้ว +11

    Elixir getting types soon sounds interesting. I did some programs on it and it was fun, but I guess I gravitate towards C syntax. (GO). Still, cool community that's hardcore in love with the language. Scales well (like Go), and has cool web stuff (like Phoenix). Also part of the "NOT JS" Crew. lmao.

  • @liquidcode1704
    @liquidcode1704 ปีที่แล้ว

    isnt this an old ass video

  • @IvanRandomDude
    @IvanRandomDude ปีที่แล้ว +32

    But serverless is very cheap.when you don't have users!

    • @kibels894
      @kibels894 ปีที่แล้ว +4

      Not as cheap as VPS

    • @ArisenDrake
      @ArisenDrake ปีที่แล้ว

      @@kibels894 But that doesn't S C A L E!!!!! Well, you sure have to hope your bank account scales as well as serverless does...

    • @albertoarmando6711
      @albertoarmando6711 ปีที่แล้ว

      @@kibels894 that is the joke

    • @thisguymartin
      @thisguymartin 3 หลายเดือนก่อน

      Why ??

  • @noredine
    @noredine ปีที่แล้ว +65

    This guy deserves a bonus and a raise

    • @Ellefsen97
      @Ellefsen97 ปีที่แล้ว +10

      It must feel pretty damn good to reduce the cost from $30k to $500. I remember I felt good for days when I optimized an API service from 20s to 3s on a school group project lol.
      And yes, give that man a raise

    • @zfarahx
      @zfarahx 2 หลายเดือนก่อน

      Nice try, Louis!

  • @colbyberger1881
    @colbyberger1881 ปีที่แล้ว +8

    Love this, been learning Elixir for the past week. Tried haskell in college and was told to look into Elixir by a class mate. Year later im checking it out and its enjoyable. Golang and Elixir are my languages of choice and im enjoy every second of it.

    • @possumkeys
      @possumkeys 6 หลายเดือนก่อน +2

      How would you compare the 2?

  • @ThomasWSmith-wm5xn
    @ThomasWSmith-wm5xn 9 หลายเดือนก่อน +2

    Loud ass Iago from Aladdin sounding mf, waking me up when I fall asleep to youtube.

    • @RobbenBanks153
      @RobbenBanks153 5 หลายเดือนก่อน +1

      Rofl so true. 😂

  • @ChatGTA345
    @ChatGTA345 ปีที่แล้ว +13

    This is also a great showcase for indie/hobbyist dev - it just shows that even if you think your pet project will have an overnight success (an unlikely event), you still rarely ever need more than one or a few small servers. No need for “cloud scale” with thousands of “serverless” instances, when 1-3 tiny servers can handle ALL of it, and then some. The cloud is a lie (and I’m saying this after being a “cloud architect” for 7 years)

  • @zach9850
    @zach9850 8 หลายเดือนก่อน +3

    Im surprised elixir isnt more popular, I fn love it

  • @jsonkody
    @jsonkody ปีที่แล้ว +1

    '' is string concatenation in Elixir. Most of the functional langs have something different than (ehm retarded) C-like syntax '+' .. OCaml use '^', Haskell '++'

    • @some84884
      @some84884 6 หลายเดือนก่อน

      It’s made for simplify and sped up compilers

  • @syncplop
    @syncplop ปีที่แล้ว +1

    "That's a lot of shards" I'm laughing at this phrase. Once we tried to calculate how many shards we would need it came out as 300 just counting bandwidth, in the end SQS was an order of magnitude less expensive

  • @suede__
    @suede__ 11 หลายเดือนก่อน +1

    Dang, this article is 5 years old.

  • @MrEnsiferum77
    @MrEnsiferum77 ปีที่แล้ว

    TLDR. They change it, because people finally realise ok, we don't need that k8s / terraform crap.

  • @TheBadFred
    @TheBadFred ปีที่แล้ว +1

    11:11 That is evil annotations black magic.

    • @roberttimis9682
      @roberttimis9682 ปีที่แล้ว +1

      They are not annotations, just constants (:

  • @glauco_rocha
    @glauco_rocha ปีที่แล้ว +8

    It is hilarious how passionately ThePrimeagen hates Elixir.

  • @Dontcaredidntask-q9m
    @Dontcaredidntask-q9m ปีที่แล้ว

    Complains about cost and moves to K8s hahaha good one

  • @KingDJRule
    @KingDJRule ปีที่แล้ว

    Why not making an express server and start off some child processes or clusters for processing and wait for a batch to be finished before sending it to this mysterious kinesis, if your server can handle the load?

  • @guicaraciolo
    @guicaraciolo ปีที่แล้ว

    where is the link for the keyboard?
    I want to check it out

  • @TheMrChugger
    @TheMrChugger ปีที่แล้ว

    Kinesis alone is a financial black-hole...

  • @kokoinmars
    @kokoinmars ปีที่แล้ว

    Upboated for the trippy elixir

  • @quarteratom
    @quarteratom 9 หลายเดือนก่อน

    Serverless means peer-to-peer, not what you think it means.

  • @greendsnow
    @greendsnow ปีที่แล้ว +1

    Which one to chose Elixir or Go
    for chat app?
    and for e commerce?

    • @gorge464
      @gorge464 ปีที่แล้ว

      Both have tradeoffs. I have an Elixir bias and did a little Go.
      In Elixir, spinning up a Phoenix Framework web server is super quick and easy and really only demands that you have PostgreSQL installed. Which on that note, making database changes with Ecto is easy too--once you get it though.
      Then once you learn a little about getting values onto HTML pages, you're off to the races.
      Phoenix framework feels nice to me because everything including a webpage is just a process that might have some state. Something going wrong elsewhere won't often break the entire web app. Hot reloading is a thing so the dev experience feels nice.
      When I was playing with Go, making an HTTP(s) server was certainly easy but for me I haven't got good. However, it feels hard in Go to start with a script that defines what your server is. Anytime something changes, at least in that server file, you have to close and restart the server script again. In Elixir I just type `recompile` and the whole app is recompiled in less than a second.
      As for a chat app--super simple in Elixir and there are many examples out there elixirbridge.org/03_Intro_to_Phoenix/01-creating-a-chat-app.html
      As for Go, probably also super simple to build a chat app.
      As for e-commerce, all you're really building is a store front with a stripe integration and an inventory database. You can use Phoenix for the store front, I've seen articles about integrating stripe with Elixir, and Ecto to PostgreSQL will be your database. Easy in theory, takes a bit of effort.

    • @PwrXenon
      @PwrXenon ปีที่แล้ว +1

      What language do you already know?

    • @greendsnow
      @greendsnow 9 หลายเดือนก่อน

      js and python @@PwrXenon

    • @AJewFR0
      @AJewFR0 8 หลายเดือนก่อน +2

      doing web apps, elixir no contest. Phoenix is just so far ahead of Gin or other go web libraries