Pepsi: https://elixir-lang.org/blog/2021/04/02/marketing-and-sales-...
Heroku: https://elixir-lang.org/blog/2020/09/24/paas-with-elixir-at-...
Change.org https://elixir-lang.org/blog/2020/10/27/delivering-social-ch...
And of course Bleacher Report, which has been on Phoenix since 2014, well before 1.0.
On the sponsorship side, DockYard invested in my work for the last six years where I spent the majority of the year working on oss, and I've just joined https://fly.io where I'll spend 85% of my time working on Phoenix and related libraries. So we are well covered on the corporate sponsorship side. We also have Michael Crumm on the Phoenix team who works at Cargo Sense, where they support a portion of his time working on LiveView. Of course it would be great for other large companies leveraging value out of our work to give back, but we're well established on the sponsorship side :)
It could be that the marginal performance gain from using Elixir is not worth the hassle of training and hiring in a whole new language. It remains to be seen.
I am flattered to be critiqued by you!
I mean...the argument about "the hassle of training and hiring in a whole new language" applied just as much when Rails took off. While Ruby had been around since the mid-90s, it was definitely an esoteric language for the decade or so prior to Rails.
Will Phoenix penetrate as broadly as Rails? Probably not, since Rails already exists, and now benefits from having a lot of people who know it. But being able to reduce hardware costs by 90% while giving up little of the flexibility, and bundling in a lot of real time features can be quite compelling; we'll just have to see.
I hope it does one day, but not to replace Rails.
It's a really hard sell because I think eventually we're all going to converge to the same real-time, low server cost setups. At this point it becomes how fast is it to build my app and what is it like to maintain it.
Rails 7 is coming out with a neat feature that will build in encrypted fields at the DB level for Active Record with a way to situationally decrypt them in case you need to debug something specific in production. Then, any time a developer accesses those decrypted fields an audit log will be generated. It'll also audit log any Rails console access[0].
These are really big things to not have to deal with. Will Ecto ever get this sort of thing? Maybe, maybe not. But I think the bar is raising overall where if things like this aren't added in the future you have a less chance of being adopted by the masses because not everyone has the resources to spend months developing stuff like this in house.
Did we exist without it in the past? Absolutely, but I think we need to be comfortable with adjusting our expectations that higher standards are coming as there's more framework competition and languages coming out. LiveView is a great example of this, only a few months after it was announced a bunch of popular frameworks released their take on it that play to the strengths of that framework of choice. Now there's kind of an expectation that it shouldn't take an SPA to develop a mostly document driven application with a nice user experience.
Personally I would want features that help me build apps faster and more securely while having to pay $40 / month to host my app instead of a framework that doesn't have these features but it costs me $20 / month to host it instead. Sure if you take this to completion and say but if you have 10,000 servers running it's double the cost but for most applications you can host a pretty popular and profitable app for less than $100 / month with any modern tech stack without making performance compromises (ie. <= 100ms page responses for the p95).
[0]: https://twitter.com/gregnavis/status/1431149713470930944
Usually I reply something like "You know Discord?".
That said, I think one important asset of Elixir (in my view) is not the raw performance, but the overall "total cost of ownership" (including maintenance work, and software is a lot of maintenance).
Being able to simplify architectures is something that is nicely done with Elixir, actually.
If a part of an app needs to play a "proxy" role (like here https://github.com/etalab/transport-site/tree/master/apps/un...), then I just add a component to the app, and I can keep the incoming connections under hand, all while issuing external queries etc.
If there is a need to do some rich interactive dashboards, I can use LiveView.
If I need to demonstrate some simple stuff, I can use "Mix.install" to create one-off scripts.
If I need to do more data-science, I can tap into LiveBook, VegaLite etc.
All this with a small team or as a solo developer, is quite great, much more than raw performance, in my eyes.