Archive from June 2019

Eclipse MicroProfile Fault Tolerance 2.0

On the surface, the changes between Fault Tolerance 1.1 and 2.0 are straightforward. The main new feature is allowing use of the @Asynchronous annotation on methods returning CompletionStage which allows for more elegant composition of asynchronous computation.

 

Tips for Building Cloud-Native Applications

An increasing number of organisations have moved, or are planning to move, to cloud-based hosting and are developing their applications to run in the cloud. However, once it's decided that your next application is going to run in the cloud, there are still a lot of architectural choices ahead of you. Besides obvious benefits like cost reduction, scalability and easier administration, cloud environments bring their own disadvantages and potential risks. In this blog, I'll share with you some tips on how to take care of the most important disadvantages and risks when you decide to build your applications for the cloud.

We will look at the various options for running your application:

Deploy Docker Containers On Azure

 

Several Cloud Providers have the possibility to run your Payara Platform Docker Images on their infrastructure. In this blog, I will describe to you how you can run your application on Microsoft Azure using a Docker Container. All the steps required to perform this are described using the Azure Portal (web-based application) and the Azure Command line.

What Is Kubernetes and How Does It Relate to Docker?

Kubernetes is most commonly used with Docker managed containers, although it doesn't strictly depend on it. Kubernetes defines a Container Runtime Interface (CRI) that container platforms must implement in order to be compatible. These implementations are colloquially known as "shims". This makes Kubernetes platform agnostic so that instead of Docker you're free to use other platforms with corresponding shims, such as CRI-O or KataContainers.

HK2: The Hundred Kilobyte Kernel

HK2 is a rather old dependency injection (DI) framework and is used as the core of Payara Server. Created in 2007 by Kohsuke Kawaguchi (who is also the creator of the Hudson project, now Jenkins) at Sun Microsystems, it followed JSR 330 closely, which was the JSR that introduced the @Inject, @Named and @Qualifier annotations, the very annotations which are also heavily used in CDI.