Cloud native and Knative at W-JAX 2019
Hot topics at the November 2019 W-JAX conference were cloud-native development, Knative, and open-source technologies.
The W-JAX conference in November 2019 in Munich, Germany, is a popular conference for Java, architecture, and software innovation with highly renowned speakers and sessions. Hot topics at this year’s conference included cloud-native development and open source technologies. Knative is one of the hottest topics, particularly here in Germany, it even has prime position on this month’s Java Magazin front cover.
It was a pleasure to welcome Jason McGee, IBM Fellow, VP and CTO of the IBM Cloud Platform, whose keynote “The 20 Year Platform – bringing together Kubernetes, 12-Factor and Functions” revealed the next twenty years of application development. Jason showed the open source technologies that define how developers can rapidly build and operate high scale applications, discussing the key role Kubernetes plays in cloud platforms. However, in the future, Kubernetes will not be enough. Jason stressed the importance of up-and-coming tools such as Knative, Kabanero, Tekton and Razee, for the cloud-native landscape of the future.
Niklas Heidloff and Harald Uebele shared their latest open source project: a cloud-native starter for Java applications. For this session, it didn’t actually matter which language the app was written in. The duo used a concrete example to demonstrate how to build microservices with JakartaEE, MicroProfile, OpenLiberty, Quarkus, Kubernetes, and Istio. Learn more at Cloud Native Starter for Java EE based Microservices on Kubernetes and Istio.
Java Champion and Liberty Architect Emily Jiang hacked, live on stage, demonstrating how to build a 12-Factor Microservice. Emily used a MicroProfile starter and deployed to Kubernetes, making sure they were talking to each other, showing how to fulfill the 12-Factor app rules.
Jeremias Werner presented “How Knative changes the serverless landscape”, diving deep into one of the hottest topics in Kubernetes. Knative uses open source building blocks for a serverless approach on Kubernetes. Because serverless means far more than functions as a service (FaaS), serverless models already allow developers to focus more on the code and less on the architecture. Knative can be much more cost-effective, charging only for what is used, and scaling is not a problem. Jeremias focused on serving, how it controls the deployment and workload lifecycle. Knative allows you to run your traditional application and container in a serverless fashion, scaling your app and container both up and down easily, by the number of requests instead of CPU/memory. Jeremias presented the Knative community, its strengths and weaknesses, how to get involved and where you can try it out. To learn more, see his slides.
Following the session from Jeremias, Dr. Roland Huß from Red Hat presented a session entitled “Knative for Java Devs”. Roland gave us a quick overview of the Knative subcomponents, based on custom resources and operators, which facilitate deploying and managing modern serverless workloads. Roland also gave live demonstrations of serving and eventing with Knative on Minikube, allowing quick start-up times and easy scaling.
Honeybees and hives for more reactive, responsive, and resilient software
Grace Jansen presented “Reacting to the Future of Application Architecture”, demonstrating what makes honeybees some of the most efficient architects. Honeybees are highly skilled in quickly communicating about food availability and equally prompt in responding to this information, reducing the time needed for foraging. Bees have high resiliency, feeding larvae early to create new queen bees to ensure no interruption in hive operations. They are also flexible to respond to risks, easily changing roles to protect the hive. These qualities are similar to what developers seek for their applications and architectures. Grace drew on reactive tools such as event-sourcing and CQRS, bulkheading, sharding, and circuit breaking to protect resources and work resiliently. She also shared a variety of frameworks worth checking out: Akka, Reactive X, Eclipse MicroProfile, Play Framework, Spring Reactor, Lagom, and Eclipse Vert.x. Grace showed how the nature of honeybees, honeycomb, and hives can be a source of inspiration for effective and efficient application architecture.
“W-JAX was a vibrant conference with a broad range of topics being discussed,” Grace said, adding that attendees were engaged and excited to listen and learn. “I loved being able to attend some of the other conference sessions to learn more about evolutionary architectures, containerization and 12-factor applications. My session went well with many kind attendees expressing positive feedback afterwards. I loved being able to share this analogy with them to enable them to contextualize and visualize these back-end concepts and architecture patterns!”
For more information, see her slides.
Programming is the Easy Part
“…It’s easy compared to the other stuff.” In this keynote, former IBMer J. B. Rainsberger suggested how to become a better programmer, key ideas that helped J.B. most in his career. How to improve design? Get comfortable with evolutionary design. Remove duplication and improve names. How to organize your work? How to navigate people? It was a fascinating talk! There were many insights into how to improve all the auxiliary aspects of working in tech, when you look beyond the coding.
You can watch the replay on YouTube.
How to Talk like an Engineer
The title and abstract of Laurie Barth‘s keynote on talking like an engineer caught my eye, I was intrigued. Laurie is a Software Engineer on the GatsbyJS Learning team, she is an avid technical blogger, and she advocates communication as your most critical skill. We are communicating all the time, on Slack, GitHub, email, and so on. Effective communication is important to ensure that you build the right thing in the end, but it is especially tricky to navigate when working in cross-functional teams. How can you communicate better? Here are some of the helpful suggestions from Laurie: If you are using overloaded terms, give some context to your definition. Stop assuming everyone knows all the acronyms, and do not use product names instead of concepts (we are all guilty of this!). Make product names appropriate rather than unintuitive. Ensure that you are looking outside your point of view. These tips are valid for seniors and juniors alike.
You can watch the replay on YouTube.
All in all, the W-JAX conference was once again a highlight of our developer advocacy year – a great opportunity to get all the latest developments in open source and cloud technologies. We went home with a great deal of food for thought. We had lots of interesting conversations at the booth with enterprise developers from across the German-speaking countries (Germany, Austria, and Switzerland). Many developers were interested in what we were sharing at the conference and how they could interact with us further.
Here are our Twitter highlights from W-JAX 2019: