InfoQ Homepage Development Content on InfoQ
-
Designing Secure Tenant Isolation in Python for Serverless Apps
Software as a Service (SaaS) has become a very common way to deliver software today. While providing the benefits of easy access to users without the overhead of having to manage the operations themselves, this flips the paradigm and places the responsibility on software providers for maintaining ironclad SLAs, as well as all of the security and data privacy requirements.
-
Native Java in the Real World
Microservices on Kubernetes are the native Java sweet spot: they have the most significant framework and Java runtime overhead. Native Java needs more effort to build, debug, test, deploy & profile. The application framework should fully support native Java in production. Native Java adoption can be incremental. But a native Java application only works if all its libraries support native Java.
-
Kubernetes Native Java with Quarkus
Quarkus is an industry leader in startup time and memory utilization for native and JVM-based Java applications. This reduces cloud costs. Kubernetes is a first-class deployment platform in Quarkus with support for its primitives and features. Developers can use their Java knowledge of APIs like Jakarta EE, MicroProfile, Spring, etc. Applications can be imperative or reactive - or both!
-
Kubernetes Crosses the Chasm, and Other Lessons from the 2021 CNCF Survey
You know I love a good survey, so let’s take a look at the Cloud Native Computing Foundation’s 2021 annual survey. They asked 2,302 respondents how they use Kubernetes and the more general category of cloud-native tools. The major conclusion of the report is that Kubernetes usage is mainstream, as the sub-title of the report labeled 2021: “The year Kubernetes crossed the chasm.”
-
Revolutionizing Java with GraalVM Native Image
GraalVM Native Image is an ahead-of-time compiler that generates native Java executables. These executables start very fast and use less CPU and memory. This makes Java in the cloud cheaper. GraalVM can even achieve peak throughput on par with the JVM. Many Java frameworks already support GraalVM, such as Spring Boot, Micronaut, Quarkus, Gluon, etc.
-
Two Must-Have Tools for Jakarta EE Developers
The wildfly-jar-maven-plugin and the brand new wildfly-datasources-preview-galleon-pack from the WildFly project are worthy of your attention. These tools add on-the-fly generation of an Uber JAR including configuration for containerization and datasources, and make it a pleasure to write applications for Jakarta EE and WildFly.
-
Writing Automated Tests on a Legacy Node.js Back-End
Let’s explore why some Node.js codebases are more challenging to test than others. Then, we explore several techniques to write tests that are simple, robust and fast to check the business logic, including inversion of control, approval tests and - spoiler alert - no mocks!
-
Data Patterns for the Edge: Data Localization, Privacy Laws, and Performance
With growing competition to get data that power experiences to the end-user closer and closer and the advent of local data privacy laws, let's look at different enterprise data patterns like “synchronous data retrieval”, “subsequent data retrieval” and “prefetch data retrieval” on data center.
-
A Standardized, Specification-Driven API Lifecycle
At QCon Plus last November, Kin Lane, Chief Evangelist with Postman, and the Open Technologies Team lead presented on API specifications. API specifications are essential to him and at Postman. So he wanted to share a bit of how they see API specifications impacting how they produce and consume APIs.
-
Ballerina for Full-Stack Developers: a Guide to Creating Backend APIs
This article explores Ballerina’s intuitive syntax for writing REST APIs. We also discuss authentication, authorization, OpenAPI tool, observability, SQL/NoSQL client libraries, and key language features. At the end of this article, you will have a good understanding of why Ballerina is a prominent candidate for writing your next backend API.
-
Low-Code Tools Optimize Engineering Time for Internal Applications
Internal tools are critical pieces of software, often custom-built, and requiring significant developer bandwidth. Low-code platforms can optimize developer productivity, facilitate collaboration, and allow less technical employees to be more active in the development process.
-
Level up Your Java Performance with TornadoVM
GPUs, FPGAs, or multi-core CPUs are present in almost every computing system today. These devices help increase performance and run more efficient workloads, but most frameworks are built on C or C++ only. At QCon Plus, Juan Fumero spoke about TornadoVM, a high-performance computing platform for the JVM, allowing to offload, at runtime, Java code to run on heterogeneous hardware accelerators.