InfoQ Homepage Development Content on InfoQ
-
Developing a Cloud-Native Application on Microsoft Azure Using Open Source Technologies
Cloud native is a development approach that improves building, maintainability, scalability, and deployment of applications. My intention with this article is to explain, in a pragmatic way, how to build, deploy, run, and monitor a simple cloud-native application on Microsoft Azure using open-source technologies.
-
Data Oriented Programming in Java
Project Amber has brought a number of new features to Java in recent years. While each of these features are self-contained, they are also designed to work together. Specifically, records, sealed classes, and pattern matching work together to enable easier data-oriented programming in Java.
-
Reproducible Development with Devcontainers
Devcontainers provide a reproducable, reusable, simplified developer experience. Get a tour of a devcontainer including how they work, how to use them most efficiently, and how they differ to deployment containers.
-
Reduce Carbon Dioxide Emissions with Serverless and Kubernetes Native Java
Moving application workloads to multi- and hybrid cloud platforms causes more carbon dioxide emissions, although better scalability and performance. Serverless and Kubernetes Native Java enable developers to solve the global climate changes by reducing carbon dioxide emissions by natively native features with milliseconds first boot time, tiny resident set size memory and scalability.
-
Building Effective Developer Tools to Enable an Entire Organization to Move Faster
Building effective tooling can help bring down the time to delivery and increase the number of changes delivered safely. This article demonstrates the tools that Monzo has built to enable developers, and how these tools are being used within the engineering function to deploy hundreds of times per day and beyond the engineering function to run a bank at scale.
-
How Do We Utilize Chaos Engineering to Become Better Cloud-Native Engineers?
Engineers these days are closer to the product and the customer needs—there is still a long way to go and companies are still struggling with how to get engineers closer to their customers to understand in-depth what their business impact is: what do they solve, what’s their influence on the customer, and what is their impact on the product?
-
A Minimum Viable Product Needs a Minimum Viable Architecture
Creating a Minimum Viable Architecture as part of an MVP helps teams to evaluate the technical viability and to provide a stable foundation for the product that can be adapted as the product evolves.
-
Introduction to Apache Beam Using Java
Apache Beam is a stream processor, helping developers migrate work between different processes to offload work onto runners that leverage external resources.
-
Standardizing Native Java: Aligning GraalVM and OpenJDK
Native Java is essential for Java to remain relevant in the evolving cloud world. But it is not a solved problem yet. And the development lifecycle needs to adapt as well. Standardization through Project Leyden is key to the success of native Java. Native Java needs to be brought into OpenJDK to enable co-evolution with other ongoing enhancements.
-
Go Native with Spring Boot and GraalVM
Spring Boot 3 & Spring Framework 6, due in late 2022, will have built-in support for native Java. For Spring Framework 5.x & Spring Boot 2.x, Spring Native is the way to go. Spring Native provides integrations for Spring's vast ecosystem of libraries. It also has a component model that allows you to extend native compilation support for other libraries.
-
The What and Why of Programmable Proxies
A question which gets often asked is “What is a programmable proxy, and why do I need one?” This article tries to answer this question from different perspectives. We will start with a brief definition of what a proxy is, then discuss how proxies evolved, explaining what needs they responded to and what benefits they offered at each stage. Finally, we discuss several aspects of programmability.
-
Connecting Goals to Daily Teamwork
While we all believe that goal setting is important, it’s work that often doesn’t feel quite urgent enough to be included in our daily routine. It is critical to team success for managers to implement a regular cadence that connects daily work more directly to high-level goals, removing administrative roadblocks while helping teammates focus on what matters most.