Francesco Cesarini: “Keep your eyes open for emerging, non mainstream tech”

Francesco Cesarini is the founder of Erlang Solutions. He has used Erlang on a daily basis since 1995, starting as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang.

He is also the co-author of ‘Erlang Programming’ and ‘Designing for Scalability with Erlang/OTP’ both published by O’Reilly and lectures at Oxford University. You can follow his ramblings (mainly on Erlang and Elixir) on twitter.

What is your background and what sparked your interest in distributed systems?

I started computer science at Uppsala University in Sweden, and got into distributed systems early on at Ericsson, working on fixed and mobile broadband solutions. In the telecom space, you needed to ensure there were no single points of failure. That meant at least two computers (three if you ask Leslie Lamport), which by default, result in a distributed system.

Reactive is a new buzzword for many traditional developers. What is your prediction for its importance in application development over the next couple of years?

With systems having to be scalable and resilient, they will by default have the properties described in the reactive manifesto, even if they will not necessarily be called reactive. And thanks to programming models, systems which do not have to scale or be resilient will have these features built in, but hidden from the developer.

What is the biggest challenge companies deploying Reactive systems are facing?

Fighting legacy code and old paradigms and outdated technology.

What is the best solution to this challenge?

Use the right tool for the job rather than the tool at hand. Keep your eyes open for emerging, non mainstream tech, and remember that most problems have already been solved, we are just not aware of these inventions, as they were probably ahead of their time.

What is your most ambitious professional dream that you hope to achieve one day?

Become an organic vegetable farmer and make my own wine.

Who should attend your talk at Reactive Summit and what will they learn?

Anyone who wants to understand how, in technology, we’ve always made two steps forward and one step back, and wants to understand the frustration of an Erlang developer in seeing wheels being reinvented, but not being made round. Based on lessons learnt in the last twenty years, from Erlang and the Kubernetes space, Veronica and I will offer our view of the future.

Do not miss Francesco Cesarini’s and Verónica López‘s keynote  “The Future of Programming” at virtual Reactive Summit on November 10. Book your ticket now!

Clement Escoffier: “Reactive will be a necessary trend”

Clement had several professional lives, from academic positions to management. Currently, he’s working for Red Hat as Vert.x core developer. He has been involved in projects and products touching many domains and technologies such as OSGi, mobile app development, continuous delivery, DevOps… His main interests include processes, methods, tools that make the development of software more efficient and also more fun. He is also a Java Champion and an active contributor to many open-source projects such as Apache Felix, iPOJO, Wisdom Framework, and obviously, Vert.x.

What is your background and what sparked your interest in distributed systems?

I have a Ph.D. in software engineering, and after that, I spent a couple of years on the academic side. Even after years in the industry, my heart is still on the academic side.

Distributed systems have always been an interesting subject of study, but I’ve tried to avoid working on distributed systems for years. When you are a student starting your software study, and it was the very beginning of the Internet, distributed systems look amazing. But, after a few classes learning ISO, ARP, RMI, and so on, you are quickly disappointed. It does not look like the extraordinary landscape you imagined.

Fortunately, step by step, the curiosity sparked again, and I’ve spent most of my professional career working on middleware and distributed systems.

Reactive is a new buzzword for many traditional developers. What is your prediction for its importance in application development over the next couple of years?

I wouldn’t say it’s new. It’s a buzzword, and probably one of the less understood buzzwords. Want to make something look cooler than it is: put reactive in front of it.

There is a lot of explanation to explain Reactive’s primary goals and why it does matter today.

We are now living in a Kubernetes/Container era. Microservices and serverless are slowly becoming prominent architectural styles. Data streaming systems, that have always been there, start to expand their niche.

Reactive has a lot of essential characteristics to build such systems. So, Reactive will be a necessary trend for the next five years, but maybe under a form that is not there yet. 

What is the biggest challenge companies deploying Reactive systems are facing?

I would not say it’s a single challenge. There are at least two. First, the development model and the shift in understanding asynchrony is probably the most challenging. It’s not a technical issue; it’s a mind shift. It is a barrier for many developers. When you read a book, you read sentence after sentence. Asynchrony changes this, and that confuses many people. Fortunately, there is a lot of effort made to solve this issue.

The second issue is the operation side. Building a resilient and elastic system is fantastic. Understanding what happens at runtime, observing to understand the system’s decisions, integrating the infrastructure layer and the application layers; these are the issues we are currently facing. That’s challenging and exciting at the same time!

What is the best solution to this challenge?

For several years, we have worked on multiple solutions. We have integrated most of them in Quarkus. It offers both imperative and reactive support; it’s designed for container and Kubernetes and provides observability support.

By no means is this work complete! But, the feedback is very encouraging. 

What is your most ambitious professional dream that you hope to achieve one day?

Reactive systems lead to autonomous systems in some ways. Systems able to automatically react to situations to always ensure the best service and reduce costs. We may soon see the integration of reactive and autonomic computing concepts, which could change the way we build software. We already start to see such touchpoints. Kubernetes operators, for example, are a first step in this direction, KNative serving is another one. Exciting times ahead! 

Who should attend your talk at Reactive Summit and what will they learn?

Everybody that is involved in the construction of distributed / Cloud / Kubernetes applications. We are all struggling to build better distributed systems. It’s an immense challenge for everyone. Reactive Summit is the place where you will see new approaches and feedback. 

Do not miss Clement and his talk “Reactive Programming with Quarkus – A Reactive Mutiny!” at virtual Reactive Summit on November 10. Book your ticket now!

Bernd Ruecker: “There is quite some value in going for reactive, asynchronous or event-driven architectures”

Bernd is an author of “Practical Process Automation” and co-author of “Real-Life BPMN”. He is a regular speaker at conferences around the world and a frequent contributor to several technology publications. He focuses on new process automation paradigms that fit into modern architectures around distributed systems, microservices, domain-driven design, event-driven architecture, and reactive systems.     

What is your background and what sparked your interest in distributed systems?

I am a software developer at heart. I worked in a lot of process automation projects in a lot of big companies. I contributed to various open-source workflow engines for more than 15 years and I’m the Co-Founder and Chief Technologist of Camunda – an open-source process automation vendor.

More and more customers distribute their systems, so I got intrigued by the challenges that come with that.

Reactive is a new buzzword for many traditional developers. What is your prediction for its importance in application development over the next couple of years?

I think there is quite some value in going for reactive, asynchronous or event-driven architectures to be able to handle the increasing complexity of todays systems. So I think almost every bigger system will have some degree of reactiveness.

 What is the biggest challenge companies deploying Reactive systems are facing?

Most developers are not very experienced with reactive systems, asynchronous communication or event-driven architecture. In fact, even a solid understanding of the challenges of distributed systems is missing for many people. This is a huge problem and quickly leads to brittle architectures.

What is the best solution to this challenge?

Learning – and speaking about learnings 🙂

 What is your most ambitious professional dream that you hope to achieve one day?

Getting workflow engine technology (or at least a solid understanding what it does and when it is useful) to almost every developer on the planet. I am on it 😉

Who should attend your talk at Reactive Summit and what will they learn?

Some interactions require state, for example as part of a so-called Saga, a long running business transaction, that is split into multiple small technical ones.  The challenge is to keep state in a way that allows your overall system and its components to stay reactive.

Every developer that has to occasionally deal with sequences of tasks will benefit from learning about Sagas and different ways to implement them, which is what I will talk about.

Do not miss Bernd and his talk “Orchestration, Conversations and the Saga Pattern: How State Helps you to Stay Reactive” at virtual Reactive Summit on November 10. Book your ticket now!