Get Started With Cloud-Native Decision Automation on Quarkus

This article will guide you through creating a decision application based on Quarkus and trying out the business modeling in VSCode. You will experience hot reload of business assets during development and validate your decisions. 

Development of decision automation solutions has never been easier thanks to DMN (Decision Model and Notation), Kogito, and Quarkus. Kogito is designed from the ground up to run on cloud infrastructure at scale. If you think about business automation, think about the cloud — as this is where your business logic lives these days. By taking advantage of the latest technologies (Quarkus, KNative, and so on), you get amazingly fast boot times and instant scaling on orchestration platforms like OpenShift.

Golang and Event-Driven Architecture

On March 31, 2022, I gave a talk at Conf42:Golang about using Go in an event-driven architecture entitled "Gopher in an Event-Driven Playground." You can check out the talk here or read along to know more about event-driven systems and how different messaging protocols are used in Go!

What's All the Hype About?

For all of us Go enthusiasts out there, we truly understand the beauty of using Go in applications and microservices because of its lightweight, high performance, and elegant syntax, to name just a few (let the debate start! ).

The Most Popular Technologies for Java Microservices Right Now

My name is Viacheslav Aksenov, I am a backend developer and in recent years I have been writing web applications in Java/Kotlin. Throughout my practice, I have met with various systems both in production and in pet projects. Some systems had their own "bicycles," but most were based on very similar technical solutions.

The main idea of this article is to describe the main technical challenges facing modern web applications. And also list those frameworks and libraries that are most often used to solve these problems. We'll grab some infrastructure as a bonus.

Java Serverless Functions With Quarkus Quick Starts

Are you looking for the shortest path or cheatsheet to bring your Java application into a serverless platform based on Kubernetes? Perhaps you don't have enough time to stand up relevant infrastructure and configure settings for both the application and the platform. This article is a guide to developing Java serverless functions using a Quarkus quick start in the Developer Sandbox for Red Hat OpenShift. As you'll see, using quick starts in the Developer Sandbox lets you focus on the application development without needing to configure Knative.

The Developer Sandbox provides a shared, multi-tenant Red Hat OpenShift 4 cluster with a cloud IDE tool called Red Hat CodeReady Workspaces. All you need is a free account on Red Hat to get access for a limited time to a sandbox. Following the four steps in this article, you can stand up your own cluster in 10 minutes.

Simplify Java Persistence Implementation With Kotlin on Quarkus

For decades, developers have struggled with optimizing persistence layer implementation in terms of storing business data, retrieving relevant data quickly, and — most importantly — simplifying data transaction logic regardless of programming languages.

Fortunately, this challenge triggered the invention of Java ecosystems in which developers can implement the Java Persistence API (JPA). For instance, Hibernate Object-Relational Mapper (ORM) with Panache is the standard framework for JPA implementation in the Java ecosystem.

Spring Boot Secured By Let’s Encrypt

In this article, we will learn how we can do the following:

  1. Generate a valid certificate for free
  2. Configure a Spring Boot app with it
  3. Renew it when it expires

In my previous blog post, we became familiar with the configuration of a Spring Boot Application with a self-signed certificate. Self-signed certificates are good for specific purposes such as test and development. But, if one needs to ship his application to production, certificates should be signed by known and legitimate Certificate Authorities (CA).

Enhancing Istio Operations with Kong Istio Gateway

If you’re a developer for a service-oriented application, routing requests between services can be overwhelming. This work may force you to focus on operational details that take you away from building great features for your customers.

Fortunately, with Kong Istio Gateway, we can solve many inter-service networking concerns such as security, resiliency, observability, and traffic control with services-first networking policies. By offloading network-related problems to the service mesh, you can focus on building features that deliver business value.

Circuit Breaker Pattern With Netflix-Hystrix: Java

If you are familiar with the circuit breaker pattern then you may have heard about Netflix-hystrix. But, before diving into our topic, let's make sure we have an understanding of what circuit breaker is and how Netflix-hystrix is implementing this pattern.

What Problem Are We Trying to Solve?

When in a distributed environment, our service may interact with other services or applications via remote call and these external services may be unavailable anytime for several reasons such as downtime, unavailable resources, etc. This unavailability due to the fault in an external application will also affect our perfectly working application. 

GraphQL Core Concepts You Should Definitely Know

GraphQL is a remarkable tool to build APIs. However, it is quite different from REST. This can make it difficult for developers who have been accustomed to working with REST. There are some core concepts of GraphQL that are important to understand how GraphQL actually works.

We will be covering those core concepts in this post. However, if you are completely new to GraphQL, you should start with our Introduction to GraphQL and then, return to this post.

The Role of CI/CD Pipeline in Software Development

The CI/CD pipeline includes continuous integration, delivery, and deployment. DevOps teams use it to generate, test, and release new software automatically. This pipeline benefits from regular software changes and a more collaborative and agile team process. You've probably heard about the benefits of CI/CD tools, which are used to provide code more frequently and reliably. Let's examine what it is and how it benefits software development.

What Does CI/CD Pipeline Stand For?

There are two abbreviations for CI and CD: CI stands for continuous integration and CD for continuous delivery and deployment. The software development methodology is known as Continuous Integration, and Continuous Deployment (CI/CD) is based on the idea that incremental code changes are made frequently and consistently. Continuous Integration (CI)-triggered automated build and test stages ensure that code changes submitted into the source are trustworthy.

MSA as a Project

Have you ever heard of such a strange thing as “MSA as a Project”?

You look at the title and ask, "What nonsense is this?"

ServiceStarter Tutorial: Controlling Services

This article is a tutorial for a new utility ServiceStarter. The purpose of ServiceStarter is to control the lifecycle of independent services, ensuring that services start and stop in the correct order and predictably degrade if a required service fails at runtime. This tutorial is based upon a notional order processing system connected to an exchange.

As background, this is my Christmas project. Due to a COVID-cancelled skiing holiday, I was left with time on my hands. A friend, who is building an event-driven HFT trading system, asked me to help solve the problem of starting and stopping trading services in a predictable order.  The solution morphed into the ServiceStarter project.

Everything You Need to Know About AWS Graviton2

Graviton2 processors are a type of server processor released by AWS in 2020. They’re a successor to the first generation of Graviton processors (simply called Graviton).

They’re custom-built by AWS using 64-bit Arm architecture, with the goal of offering better performance across EC2 instances vs competitors. 

Self-Hosted Gateway Design Patterns Discussion

Microsoft Azure provides the default API management platform tool call API Management, which provides rich features to manage and monitor APIs in the Azure environment. However, for the hybrid on-prem/off-prem cloud environment and multi-cloud environment, the organization may want to simplify the API communication to make it more efficient, flexible on executing external workflow, or plugin a security module to manage APIs hosted on-premises or across clouds. 

The self-hosted gateway feature extended from Azure API Management enables those hybrid and multi-cloud API management requirements and allows the organization to customize the API implementation, integration, communication, routing management, monitoring, traffic, and security controls in the cloud environment.  It supports APIs hosted in either on-prem or off-prem across different cloud instances.

Create a Multi-tenancy Application In Nest.js – Part 3

Recap

In the first part, create a Multi-tenancy Application In Nest.js - Part 1, we set up the Nest.js framework and configured and tested the microservices architecture application using Nest.js. In its second part, we used Sequelize and Mongoose to access the database and tested for both MySQL database and MongoDB.

Async Connection

In this part; we will see how to let the application connect to multiple databases depending on the request. Since it is a multi-tenancy application, each tenant has their own database containing their data accessing the same application, thus the application needs to connect to different databases. We will change the pass repository option method and use forRootAsync() instead of forRoot(), we need to use a custom class for configuration.