Spring Boot Kubernetes HPA
Spring Boot Kubernetes HPA

English Version:

In questo articolo andiamo a vedere come effettuare un deploy di un Microservizio realizzato con Spring Boot su un cluster Kubernetes; successivamente andremo a configurare il meccanismo per rendere il nostro Microservizio scalabile in base alle necessità di utilizzo (in questo caso sul consumo della CPU), questa tecnica si chiama Horizontal Pod Autoscaler (HPA).

Tutto il sorgente Java e le configurazioni Kubernetes sono disponibili al seguente Git repos:

Realizzazione Microservizio con Spring Boot


English Version:

In questo articolo scopriremo come fare per conteinerizzare una Java EE Web Application su Docker, creando un cluster tra le istanze della nostra applicazione che andremo a deployare su Docker, mantendo i meccanismi tipici della clusterizzazione quali HTTP Session Replication ed EJB Clustering tra i nodi applicativi.

Clustering, Scalability & HA (High Availability)

Un Cluster è una serie di macchine connesse tra loro che lavorano in parallelo; L’utilizzo di un sistema Cluster permette di eseguire operazioni complesse distribuendo il carico di elaborazione su tutti i nodi che compongono il cluster.

I benefici che comporta l’introduzione di un Cluster sono le seguenti:

  • Scalabilità
  • Altà Affidabilità

Scalabilità


Apache Kafka
Apache Kafka

Post in English Version:

Apache Kafka è una piattaforma di Event-Streaming Processing, progettata per processare grandi moli di dati in tempo reale, abilitando la creazione di sistemi scalabili, con un elevato throughput e bassa latenza. Da Design prevede anche la persistenza dei dati sul cluster (server princiale e repliche) garantendo un elevata alta-affidabilità.

In questo post andremo a vedere come creare un cluster Kafka per l’ambiente di sviluppo, la creazione dei Topic, la logica delle partizioni e dei gruppi di consumer, ed ovviamente il modello publish-subscribe.

I requisiti per svolgere l’esercitazione sono i seguenti:

  • Java 8
  • Download dell’ultima versione di…

Photo by Kevin Ku on Unsplash

In this article we are going to create a SOAP Web Service with the WS-Security specification to apply security profiles to our WS.

The technologies used in this article are as follows:

  • Spring Boot 2.4.2
  • Apache CXF 3.2.4

All the Java source present in the article is available at the following Git repos:

What is WS-Security?

Web Services Security (WS-Security or WSS) is a SOAP extension to implement security for Web Services by guaranteeing authentication, integrity and confidentiality at the message level. The specification is drawn up by the OASIS body. …


Photo by Kevin Ku on Unsplash

English Version:

In questo articolo andiamo a realizzare un Web Service SOAP con la specifica WS-Security per applicare dei profili di sicurezza ai nostri WS.

Le tecnologie utilizzate in questo articolo sono le seguenti:

  • Spring Boot 2.4.2
  • Apache CXF 3.2.4

Tutto il sorgente Java presente nell’articolo è disponibile al seguente Git repos:

Cosa è WS-Security?

Web Services Security (WS-Security o WSS) è una estensione di SOAP per implementare la sicurezza ai Web Service garantendo autenticazione, integrità e confidenzialità a livello messaggio. La specifica è redata dall’ente OASIS. Il protocollo specifica come può essere rafforzata l’integrità e la confidenzialità e permette la comunicazione di…


Photo by Maxim Zhgulev on Unsplash

In this article we are going to see how to configure authentication using the standard SAML 2.0 (Security Assertion Markup Language) on an application built with the Spring Boot framework.

The dependencies used:

  • Spring Boot 2.4.2
  • Spring Security 5.4.2
  • Spring Security SAML2 Service Provider 5.4.2

As Identity Provider (free) we use Okta.

All the Java source present in the article is available at the following Git repos:

What is SAML 2.0?

SAML (Security Assertion Markup Language) è uno standard informatico per lo scambio di dati di autenticazione e autorizzazione (asserzioni SAML basate su XML) tra domini di sicurezza eterogenei.

In genere le entità che…


Photo by Maxim Zhgulev on Unsplash

English Version:

In questo articolo andiamo a vedere come configurare l’autenticazione tramite lo standard SAML 2.0 (Security Assertion Markup Language) su una applicazione realizzata con il framework Spring Boot.

Le versioni delle dipendenze utilizzate sono le seguenti:

  • Spring Boot 2.4.2
  • Spring Security 5.4.2
  • Spring Security SAML2 Service Provider 5.4.2

Come Identity Provider (free) utilizziamo Okta.

Tutto il sorgente Java presente nell’articolo è disponibile al seguente Git repos:

Cosa è SAML 2.0?

SAML (Security Assertion Markup Language) è uno standard informatico per lo scambio di dati di autenticazione e autorizzazione (asserzioni SAML basate su XML) tra domini di sicurezza eterogenei.

In genere le entità che…


In this article we will find out how to contain a Java EE Web Application on Docker, creating a cluster between the instances of our application that we will deploy on Docker, maintaining the typical clustering mechanisms such as HTTP Session Replication and EJB Clustering between the application nodes.

Clustering, Scalability & HA (High Availability)

A Cluster is a series of connected machines that work in parallel; The use of a Cluster system allows you to perform complex operations by distributing the processing on all the nodes that make up the cluster.

The benefits of introducing a Cluster are the following:

  • Scalability
  • High Availability

Scalability

It is…


Spring Boot Kubernetes HPA
Spring Boot Kubernetes HPA

In this article we are going to see how to deploy a Microservice made with Spring Boot on a Kubernetes cluster; later we will configure the mechanism to make our Microservice scalable according to the needs of use (in this case on CPU consumption), this technique is called Horizontal Pod Autoscaler (HPA).

All Java source and Kubernetes configurations are available at the following Git repos:

Spring Boot Microservice


Apache Kafka
Apache Kafka

Apache Kafka is an Event-Streaming Processing platform, designed to process large amounts of data in real time, enabling the creation of scalable systems with high throughput and low latency. Kafka provides the persistence of data on the cluster (main server and replicas) ensuring high-reliability.

In this post we will see how to create a Kafka cluster for the development environment, the creation of Topics, the logic of partitions and consumer groups, and obviously the publish-subscribe model.

The requirements to follow this tutorial are:

  • Java 8
  • Download latest Apache Kafka version

Note: All commands are launched on a Windows machine (KAFKA_HOME/bin/windows/)…

Andrea Scanzani

IT Architect and Project Leader, (PMI-ACP®, PRINCE2®, TOGAF®, PSM®, ITIL®).

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store