Open Source, Vue.js, Microservices, Cloud Native – the third day of W-JAX 2018 was exciting and enlightening! We summarize here briefly and crisply what we have learned at the conference and have seen something exciting. As always, we do not claim to be complete.
Take-away # 1: IBM, Red Hat and an open source story
IBM tells an open source story. On the keynote stage of the W-JAX. Why?
Think about it … Does it have anything to do with the Red Hat acquisition? Hmm, actually Red Hat does not appear in the IBM talk. Or is it? Let’s take a closer look!
The keynote is Who Pays for Open Source? A Case for Open Governance & Enterprise Contributions, and it is none other than Christopher Ferris of the IBM Digital Business Group, former Sun Chief Architect, involved in the development of SOAP and XML, today co-lead the blockchain framework’s Hyper-ledger Fabric, which is based in the Keynote asks the question: who actually pays for open source?
Open Source from, Ferris said. In the meantime, large companies have realized that open source mechanisms train the skills that make good developers.
Ferris distinguishes three types of open-source projects: Firstly, projects that are put to free use on GitHub (like a sofa to be given away on the street) that you can grab, but whose future you are responsible for. Secondly, projects such as TensorFlow, Redis, Linux, which are driven by a benevolent dictator, who can flourish but are always associated with the risk of single-point-of-failure or vendor-lock -in. Thirdly, projects that are under open governance, ie developed by a diversified community, often under the umbrella of an open source foundation.
IBM, so Ferris’ story, stand for the last model, that of open governance. IBM, few people realize, is one of the largest open source companies, just behind Google and Red Hat, well ahead of Microsoft and many others. IBM does that largely in the background, because projects with an open governance would have proven to be the most durable, innovative, stable.
How credible is that? Now, IBM has been involved in founding the Apache Foundation, initiating the Eclipse Foundation, making numerous contributions to open source projects such as Apache Xerces, Cloud Foundry, Hadoop, Open Liberty, OpenJ9, Fabric, Qiskit. So far, the story is consistent. Nevertheless, it remains history, because currently has little reputation IBM, one of the cool open-source stalls to be on the spearhead of (cloud) innovation.
And then IBM bought Red Hat. A community of developments with open source skills that drives the (hybrid) cloud theme with great street credibility.
IBM has another open source story to tell.
Take-away # 2: Vue.js has arrived
The biggest advantage of Vue is the lightweight, expand-ability and beginner-friendly documentation, according to Marc Teufel. In terms of GitHub Stars, Vue Angular has long passed and is on par with React. By contrast, Angular has significantly more issues, which Marc Teufel interprets in such a way that Angular is firmly established in the enterprise sector.
But maybe Vue.js comes along with the great interest from the Java camp too soon?
Take-away # 3: Framework Battle – Angular vs React
Yes, replies Springer, but one is forced at Angular but to follow exactly this overall package with its sometimes stubborn specifications. React give the developer just the freedom to use only what you really need.
The new Angular Compiler will make a huge leap forward in terms of performance. React is the tool of choice for functional programming and predestined for the Redux application.
But actually, the two were more unanimous than disagree: Both frameworks were first-class, moving towards each other more and provide innovations at a speed that the Java world could only dream of.
“Then check out what else can be taught to the Java people, here on the W-JAX,” the two say at the end and say goodbye to their next sessions “Speed up your web application” and “Angular on Rails : Model driven Angular with Schematics, the scaffolding tool behind the Angular CLI, and the TypeScript Compiler API “
Take-away # 4: So you do not stumble on microservices
Bernd Rücker (Camunda) warned of three pitfalls in microservices integration in his session. Because mastering distributed systems is not trivial.
1. Communication is complex. This starts with the question of how to communicate (REST? GRPC? Messaging? Event-driven?) And goes all the way to difficult decisions around choreography vs choreography. Orchestration. It is not easy to really understand the problem area and to select a meaningful solution – aside from current hypes or simplified platitudes – says Rücker.
2. Asynchrony requires the implementation of time-outs. The resilience can be increased significantly, if you can wait not only milliseconds, but also minutes or even hours.
3. Distributed transactions can not simply be delegated to protocols such as XA. Instead, you have to implement the requirement for consistency in new ways.
“Microservices only make sense if I work with several teams,” says Rücker. “This approach then typically requires a high degree of maturity of the organization, as many topics come along: automated deployment pipelines, registries, contract-based testing, observability, etc.”
So developers should be prepared to learn a lot. But that’s probably why they came to the W-JAX ….
Take-away # 5: Cloud-native versus Java
There is no way around the cloud. Increasingly, new technologies are being developed that are specially adapted for operation in cloud scenarios. Sometimes you say “cloud-native”. And cloud-native is then in contrast to older, “general-purpose technologies” that emerged before the cloud hype. Like Java.
In a keynote panel, Elisabeth Engel (interfacewerk GmbH), Uwe Friedrichsen (codecentric AG), Roland Huss (Red Hat), Eberhard Wolff (INNOQ) and Sebastian Meyen (Software & Support Media) discussed the question of what cloud native actually is for Java developers means.
Java has been optimized for long-term processes and high availability for many years, begins Sebastian Meyen. In the cloud context, on the other hand, there are other values, such as fast startup of services and low memory consumption. How well is Java actually set up for the cloud?
Java is just the Cobol of the 21st century, commented Uwe Friedrichsen, adding: “I mean that, but quite appreciative.” Java is so common in many core systems that it will have its place even in a cloud-native environment. On the other hand, there are also approaches to make Java itself a cloud-native technology: Spring Boot, MicroProfile and GraalVM are the keywords here. Roland Huss also leads the huge Java ecosystem into the field, in which there is enormous innovation and from which not least also capable developers can be recruited.
What advantages does the cloud bring us? “The fences are less,” says Elisabeth Engel. Devs and Ops move closer together as applications can no longer be abstracted from the operation.
Does Dev have to master all Ops discipline then? No. But as a developer, it’s a good idea to be aware of the consequences my actions have on production. In addition, there is a growing trend towards abstracting infrastructure issues more and more, making it easier for both devs and ops, adds Roland Huss. Knative, Istio, and Serverless are buzzwords.
For Eberhard Wolff Cloud-native is a continuation of the discussion about Continuous Delivery. With the new techniques it is possible to deliver projects in a few months, even weeks, for which it would have taken years before. There is still enormous potential for many companies to improve the time-to-market margin.
And finally, as a developer, you do not have to work through the weekend every two months just because the release does not work as planned. At the latest with this reference to the better work-life balance, it should be clear: cloud-native is worthwhile!