Network Programming in Elixir and Erlang (PragProg)

Andrea Leopardi @whatyouhide

edited by Jacquelyn Carter @jkcarter

TCP, UDP, DNS, HTTP, and more: these are the network protocols that make up the fabric of the Internet. Erlang and Elixir are the perfect fit for building network-intensive applications—the BEAM’s actor model perfectly mirrors the way nodes operate in a network. Learn about networking and the power of the BEAM to write performant and reliable network applications. Create systems that are scalable, resilient, and efficient, thanks to language primitives and OTP. Take advantage of an ecosystem that has been solving network problems for more than thirty years. Learn about design patterns and common pitfalls for network applications on the BEAM.

From smart appliances to gigantic data centers, from phones to satellites, networks are the way computers talk to each other. Learn how to use network protocols, choose or design serialization protocols, and architect systems with servers and clients.

Start with the most widely-used protocol on the Internet: TCP. Build a chat server where multiple clients can chat in real time. Explore client-side TCP by building a client for Redis. Scale and harden server and client, thanks to features of the BEAM. Then dig into UDP, TCP’s “looser” sibling. Code a system for reporting metrics capable of rivaling hardened software like StatsD. Learn about DNS, which powers domain resolution for the Internet. Next, secure your TCP traffic with TLS. Lastly, explore HTTP, the protocol that even your microwave could be using. Build a JSON API, client, and server. Learn the differences between HTTP/1.1 and HTTP/2, and add real-time features via WebSockets.

The BEAM was built for networks and has been honed for more than three decades. It’s the perfect fit. Leverage years of real-world experience building network-intensive applications from a member of the Elixir core team, and become an expert at network programming in Elixir and Erlang.


Andrea Leopardi is a software engineer and architect with a passion for computers and systems. He loves writing and reading code, as well as teaching others how to write code and design systems. He’s a member of the core team of the Elixir programming language. He’s also a published author, frequent public speaker, and trainer.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

36 Likes

And a welcome edition to my digital library it is!

3 Likes

Instant must-have :slight_smile: Thanks for this great book and for the tutorials on your blog site. Was useful recently to bootstrap some NIF coding.

2 Likes

Congrats @whatyouhide, for yet another great book!

2 Likes

Outstanding :star_struck: Purchased.

2 Likes

Wasn’t expecting this :rofl: buying it now … thank you

1 Like

This looks like a fun book that seems quite unique in the space - congrats @whatyouhide for coming up with it! :blush:

It’s also great seeing books still coming out for Elixir fast and strong! I wonder how long it will be before Elixir is the language with the most professionally published books!? :003:

6 Likes

JS might never be beaten in that area.

I still have that elixir algorithm book in my wish-list.

1 Like

Congratulations and thank you very much for your work!
Also have purchased the book to add it into my collection. :slight_smile:

1 Like

Unbelievable. Very much missed books on this subject.
Purchased :money_mouth_face: devtalk.com" :handshake:

1 Like

As soon as I’m a bit more familiar with the Erlang/Elixir/BEAM ecosystem, this book is going to the top of my reading list. Hoping to get a firm understanding of WebSockets.

1 Like

Read the second chapter. It’s quite good. I am working on an XMPP client, so the knowledge gained from his book could be invaluable.

1 Like

Hoping for more Elixir books from PragProg, maybe something similar to Domain Modeling Made Functional.

6 Likes

The Ash Framework book will be coming out from them soon, which is somewhat related to what you’re asking for.

5 Likes

@mercyf if you want to share your Elixir topics wish list, my email is margaret.eldridge@pragprog.org. I’m the acquisitions editor for PragProg. I’ll also share any suggestions with our series editor, Sophie DeBenadetto.

4 Likes

Hi! Have you checked out our book on Designing Elixir Systems with OTP? Designing Elixir Systems with OTP: Write Highly Scalable, Self-Healing Software with Layers by James Edward Gray, II and Bruce A. Tate

I think this title really digs into the topic of how to design your Elixir applications.

3 Likes

Oh nice. Can’t wait :slight_smile:

1 Like

Ok. Thanks!