In focus: Reactive programming
Oh boy, how does one explain what reactive programming is?
The explanation that most resonated with us says that reactive programming is “what spreadsheet applications do when you change one value and other cells recalculate because they depend on it” 🙂 Now, imagine that cells change as a result of user action or API call and voila! you have reactive application 🙂
As opposed to traditional programming model where we have a lot of threads calling external services, databases and other slow I/O operations (which all BTW block thread execution), reactive model works with only couple of threads in fully asynchronous and non-blocking mode. Thread executes a task and as soon as it is finished with it, it takes over the next task. Thread is never idling because all operations are implemented as non-blocking. For this reason reactive model doesn’t need a huge thread pool of let’s say 200 threads. Typically, you use that many threads as you have available cores.
Why do we care? Because using reactive model with couple of threads proved faster and more efficient (higher throughput) under heavy load. Under light load you won’t notice any difference compared to traditional model. But under heavy load differences are staggering: sometimes as much as 3x more efficient while using 50x less threads! How cool is that?
Why now? What happened? Cloud happened. More efficient applications that handle significantly more load with significantly less resources cost less when running in the cloud.
Check out this talk with performance comparison of these two models in various test scenarios and under different load. Amazing.
Riding with the Kings
Apart from hosting his keynote talk on our QED conference, we spent some time with Sam Newman talking about sports, food and politics. Since this is not a lifestyle magazine, we will skip that and share our conversation regarding microservices, integrations and serverless… Thank you Sam for this really cool interview!
–“Riding with the Kings” is our new series featuring short interviews with super interesting people from the field of technology.
Worth of your time
+ It took you some time to become scripting guru, and now comes Ansible promising all that with cherry on top? Should you retire your scripting skills or can you still put them to good use? Hint: yes you can! Bruno will show you how to write your own custom Ansible modules.
+ How to hide credentials and other sensitive data in Ansible scripts? Ansible Vault is the solution and Marin will tell you why.
Read with us
Monolith To Microservices
How do you detangle a monolithic system and migrate it to a microservices architecture? How do you do it while maintaining business-as-usual?
Full disclosure: this book is currently in “early access” and we still haven’t completed it but knowing the author we can’t wait for it to be published. In the meanwhile, you can also access “early access” version.
Quote of the Day
“Behind every dangerous and unmaintainable codebase is a set of human problems that was never properly solved.
Behind every codebase that is a joy to work with, you will find an unbroken chain of skillful human interactions all the way from the coder to the customer, and beyond.”
– We don’t know who exactly said this. If you do, please let us know. You will get cool 0800-DEVOPS t-shirt. Thanks!