IBM Java CTO: Devs shouldn't have to learn Docker, K8s, 30 other things to deploy an app

Big Blue's Duimovich chats cloud and more to El Reg


Index At IBM's Index developer conference in San Francisco, on Tuesday, The Register sat down with Big Blue's Java CTO John Duimovich to talk about the Java programming language, IBM, the cloud and other developer-oriented concerns.

Duimovich made the case for IBM as a cloud platform partner, based on the company's Java expertise. He also argued for Java – 22 years old – as a vital, evolving language.

Oracle, Java's meddling uncle, last year said it would hand over governance of Java EE to the Eclipse Foundation.

For enterprise Java, that means a chance to accelerate the development and deployment of new features and to become more responsive to the needs of corporate developers.

"What they did is they gave control of the evolution of enterprise Java to a foundation," Duimovich explained. "They moved the code itself and the governance. And I think that was in part that acknowledgement of some of the momentum that MicroProfile has had."

MicroProfile is an initiative to make Java EE – or Jakarta EE, assuming the name change vote goes as expected – more suitable for the development of lightweight, composable microservices, as opposed to large monolithic applications.

"This is where the compatible future of cloud Java is being defined," he said. "You're going to see EE evolve to adopt many of these new technologies."

Image from IBM's Index conference

We sent a vulture to IBM's new developer conference to find an answer to the burning question: Why Big Blue?

READ MORE

IBM, said Duimovich, is interested providing support for any language that enough developers want. He said the company sees quite a bit of interest in Node.js, particularly for front-end applications, and more modest interest in Swift now that its ecosystem has become more mature.

"If you have any serious performance needs, Java's your story," he said. "If you want to integrate with all the systems you're going to have to integrate with terms of an enterprise, no question."

Duimovich contends enterprise Java is "actually a pretty interesting space" these days, pointing to developments like reactive programming, where you're dealing with asynchronous code and high event rates for IoT applications.

"Enterprise Java at the Eclipse Foundation is going to drive new features more quickly," he said. "And I think it will also be a more inclusive community that's easier to join."

For IBM, that's an opportunity to build relationships with the open source development community. "Now that IBM is open source, we have a much greater chance to actually engage with developers," he said.

Where once IBM kept its cards close to its vest, now as developer of open source technology, there's far more contact with the development community, which has the potential to translate into new customers.

"This excites me because I've much better contact points, a broader set of developers," he said. "People who may not be IBM customers still are able to interact with us and work with us and then, and hopefully from our perspective, turn into IBM customers because they can buy support and other things."

Embracing open source means opportunities for technical interaction between IBM personnel and outside developers. Duimovich recounts how IBM gave a university course in how to use the OMR technology to build a virtual machine called Base9.

"We got six people instantly who want to work with us because they knew we were doing this," he said, adding that being involved in open source means a better reception from developers.

Obscure bug reports

Open sourcing its JVM hasn't translated into a significant increase in community code contributions yet, but Duimovich voiced appreciation for the obscure bug reports where someone will fix some edge case with a line or two of code.

Seeing Java EE develop at a more rapid pace has pluses and minuses, Duimovich said.

"Developers who are waiting for language features and other stuff won't have to wait three years," he explained, pointing to aspects of Kotlin, Scala, or other languages that may be incorporated into Java EE sooner rather than later.

"Java this year got a shell, a read-eval-print loop (REPL)," he said. "Every other scripting language had that. Java is finally there."

The downside, he said, is that everyone has to move faster just to keep up.

"It's a great time to be a Java developer," he said, "and a VM developer," adding that competition between virtual machines benefits everyone.

Duimovich sees IBM playing a starring role in the cloud optimization of Java. As an example he pointed to VM startup time. A 40-second startup time didn't matter as much when app servers stayed up for months, but you can't have that for containers.

"So we've made both our startup time and ramp up time over 2x better than existing JVMs and we're continuing to focus on that," he said.

IBM's Java VM has also been optimized to return memory when it's not being used. "Our VMs will automatically give the system back memory when we go idle," explained Duimovich.

Reducing a system's memory footprint in the cloud translates to reducing the system's cost. That's not so much of an issue with JVMs that are maxed out all the time.

"But I can tell you from our mainframes and from our deployments, we've seen there's a lot of idle VMs that wake up once in a while," he said.

The most pressing technical issue for Java and containers, said Duimovich, is having Java memory adapt to container sizes, because if you exceed that, it kills the container.

Low level

"You want them to dance as one, so to speak," he explained. "If you reduce the memory in the container, you reduce the memory in Java. Those are the kinds of things we're working on at the low level."

In its effort to reduce the footprint of Java, IBM is also working on moving its JIT compiler outside of the address space and have it as a service.

"That opens up a huge bunch of opportunities for us," said Duimovich, noting that each instance saves 200 to 400 MB of footprint, which is what you want for microservices and moves Java closer to the memory requirements of other languages.

And as a service, he said, it has more visibility across instances, which provides the opportunity to compare performance data in A/B testing.

"The easy way to think about it is if I'm bringing up 100 or 1000 microservices, did every one of them need to compile Object?" he said. "Clearly not. And you can get that with AOT – ahead-of-time compilation static – but then you've giving up some of the things Java can do like dynamic bytecode modification."

Beyond Java, Duimovich expressed interest in making development easier overall by making it more dev and less ops. "The notion that as a developer you'll have to learn Docker, Kubernetes, and 30 other things before you can even deploy an app is something I'd like to get rid of," he said.

Maybe there's a cloud for that. ®

Broader topics


Other stories you might like

  • Talos names eight deadly sins in widely used industrial software
    Entire swaths of gear relies on vulnerability-laden Open Automation Software (OAS)

    A researcher at Cisco's Talos threat intelligence team found eight vulnerabilities in the Open Automation Software (OAS) platform that, if exploited, could enable a bad actor to access a device and run code on a targeted system.

    The OAS platform is widely used by a range of industrial enterprises, essentially facilitating the transfer of data within an IT environment between hardware and software and playing a central role in organizations' industrial Internet of Things (IIoT) efforts. It touches a range of devices, including PLCs and OPCs and IoT devices, as well as custom applications and APIs, databases and edge systems.

    Companies like Volvo, General Dynamics, JBT Aerotech and wind-turbine maker AES are among the users of the OAS platform.

    Continue reading
  • Despite global uncertainty, $500m hit doesn't rattle Nvidia execs
    CEO acknowledges impact of war, pandemic but says fundamentals ‘are really good’

    Nvidia is expecting a $500 million hit to its global datacenter and consumer business in the second quarter due to COVID lockdowns in China and Russia's invasion of Ukraine. Despite those and other macroeconomic concerns, executives are still optimistic about future prospects.

    "The full impact and duration of the war in Ukraine and COVID lockdowns in China is difficult to predict. However, the impact of our technology and our market opportunities remain unchanged," said Jensen Huang, Nvidia's CEO and co-founder, during the company's first-quarter earnings call.

    Those two statements might sound a little contradictory, including to some investors, particularly following the stock selloff yesterday after concerns over Russia and China prompted Nvidia to issue lower-than-expected guidance for second-quarter revenue.

    Continue reading
  • Another AI supercomputer from HPE: Champollion lands in France
    That's the second in a week following similar system in Munich also aimed at researchers

    HPE is lifting the lid on a new AI supercomputer – the second this week – aimed at building and training larger machine learning models to underpin research.

    Based at HPE's Center of Excellence in Grenoble, France, the new supercomputer is to be named Champollion after the French scholar who made advances in deciphering Egyptian hieroglyphs in the 19th century. It was built in partnership with Nvidia using AMD-based Apollo computer nodes fitted with Nvidia's A100 GPUs.

    Champollion brings together HPC and purpose-built AI technologies to train machine learning models at scale and unlock results faster, HPE said. HPE already provides HPC and AI resources from its Grenoble facilities for customers, and the broader research community to access, and said it plans to provide access to Champollion for scientists and engineers globally to accelerate testing of their AI models and research.

    Continue reading

Biting the hand that feeds IT © 1998–2022