Jboss LdapExtended
- Active Directory Authentications for Web Applications in JBoss AS7 (including AD role mapping)
- JBoss AS 7.2 Authentication
- Configure a Security Domain to use the LdapExtended Login Module for Active Directory
- LDAP authentication with JBoss 7 - web.xml login-config and jbos-web.xml security-comsin
Swiss RE and MS Azure
Swiss Re will transform its internal operating platform by modernising and moving it to the Azure cloud. Swiss Re decided to adopt Microsoft Azure. "Security, availability, and reliability. The reason for Microsoft's success in this country is the company's decision to build two data centers in Switzerland. In addition to the location, the US company has also accommodated the local banks and regulators with physical access authorizations to the server farms, as finews.ch Cloud solution providers also received a boost this spring beyond UBS and CS. The Bankers Association published a guideline that informs about the correct handling of the cloud. Consequently, it is to be expected that more banks will dare to use external computers. already reported.
- Cloud: Credit Suisse in UBS's footsteps
- Credit Suisse relies on Microsoft Azure
- UBS Group, Swiss Re Group, Swisscom and others turn to Microsoft for their digital transformation
- Credit Suisse relies on Microsoft Azure
- Swiss Re announces a strategic alliance with Microsoft – Microsoft Switzerland Newsroom
- Swiss Re: Fully automated insurance platform with Azure PaaS (codit.eu)
- Microsoft Customer Story-Swiss Re Magnum AI and cloud solution ready to enable data-driven underwriting and empower your automated ecosystem
- Azure API Management
- About API Management
- Azure Monitor
- Azure Synapse Analytics
Azure
- Deploying a Spring Boot app to Azure
- Azure CLI
- Azure portal
- Myportal
- Quickstart: Deploy your first application to Azure Spring Cloud
- Azure Pipelines
- Azure Pipelines documentation
- Azure DevOps
- Azure Command-Line Interface (CLI)
- Deploy an Azure Kubernetes Service cluster using the Azure CLI
- Kubectl Deploy an Azure Kubernetes Service (AKS) cluster
- Connect with SSH to Azure Kubernetes Service
- kubectl Cheat Sheet
- List of kubectl Commands
Azure DevOps
Azure DevOps Services, these cloud services, provide a scalable, reliable, and globally available hosted services. Are backed by a 99.9% SLA, monitored by 24x7 operations team, and available in local data centers around the world.
- Azure DevOps documentation
- Azure Pipelines documentation
- Create your first pipeline
- YAML pipeline editor
- Build Java apps
- Create a project in Azure DevOps
- About projects and scaling your organization
- Advanced Pipeline example
- How to deploy a spring boot restful API with Azure pipeline at stackoverflow
Spring on Azure
- Spring on Azure integration documentation
- Azure Toolkit for IntelliJ documentation
- Azure Toolkit for IntelliJ
- https://www.baeldung.com/spring-boot-azure
- Build your Spring Boot project using Azure Pipelines in Azure DevOps
- What’s new in Spring Boot 2.3?
- Cloud Native Buildpacks transform your application source code into images that can run on any cloud.
- Intro to Cloud Native Buildpacks
- Create a CI/CD pipeline for Java with the Azure DevOps Project
- Automate Spring Boot application deployments to Azure!
- Using Azure Pipelines to build, test and deploy a Spring Boot and Angular application
- Azure for Java developer documentation | Microsoft Docs
- Push images to Azure docker registry
- Create a Docker Image in an Azure DevOps CI Pipeline
- https://github.com/microsoft/azure-pipelines-tasks
Azure Pipelines Deploy AKS
- Build and deploy to Azure Kubernetes Service
- Build and push image to Azure Container Registry; Deploy to Azure Kubernetes Service (pipeline templates)
- Kubernetes core concepts for Azure Kubernetes Service (AKS)
- Deploying a multi-container application to Azure Kubernetes Services
- Deploy to Kubernetes
- https://github.com/MicrosoftDocs/azure-devops-docs/blob/main/docs/pipelines/tasks/deploy/kubernetes-manifest.md
- Built-in Example (Kubernetes Manifest Task)
- Kubernetes manifest task
- User Defined PipeLine variables
- Run quality tests in your build pipeline by using Azure Pipelines
- CI/CD pipeline with quality gates
- SonarQube's integration with Azure DevOps
Azure Test Plans
- Azure Test Plans documentation
- Deep dive into Azure Test Plans
- Azure Devops Pipeline: Code coverage Report for Spring boot using Jacoco
- Azure DevOps Pipeline setup SonarQube
Azure Spring Cloud
- 2021 Toolbox for developing micro services | by Praveen Manvi | Medium
- GitHub - microsoft/azure-spring-cloud-training: Guides and tutorials to make the most out of Azure Spring Cloud
What is Cloud Native computing
Almost everything you read on REST and MicroServices Architecture MSA is closely related to Cloud Native software development and computing. Let's first get the definition right.
"Cloud-native technologies are used to develop applications built as services(MSA), packaged in containers, deployed and managed on elastic infrastructure (like Kubernetes) through agile DevOps processes and continuous delivery workflows".
Read about the 10 KEY ATTRIBUTES OF CLOUD-NATIVE APPLICATIONS
About 12-Factor Principles
The Twelve-Factor App Methodology is suggested by developers for smoothly working and delivering Software as a Service (SaaS) Applications or Web Apps with a focus on Microservices.
- Best intro
- DZone on 12 Factor App Principles and Cloud-Native Microservices
- Medium on What is the Twelve-Factor App Methodology?
- Medium on Kubernetes & 12-factor apps
- Microservices in Practice - Key Architectural Concepts of an MSA (WSO2 whilepaper)
Running Spring Boot GraalVM Native Images with Docker
All those Micronaut, Quarkus.io & Co. frameworks sound great! But Spring is the undisputed forerunner in Enterprise Java. Wouldn't it be great to combine Spring Boot with the benefits of GraalVM?!
- What is GraalVM? (dev-insider.de)
- Running Spring Boot GraalVM Native Images with Docker & Heroku (codecentric.de)
- GitHub - jonashackt/spring-boot-graalvm: This example project shows how to compile a Webflux based Spring Boot application into a Native App using GraalVM Native Image locally & on GitHub Actions with & without Docker
-
Running Reactive Spring Boot on GraalVM in Docker (amis.nl)
- Convert Spring Boot Apps to GraalVM with Spring Native Beta (infoq.com)
Skaffold
If a developer has to wait for 30 minutes for their code to compile, that code lacks velocity. So, the developer experience is awful, and he/she is very frustrated. Skaffold automates the workflow for building, pushing and deploying applications into a Kubernetes cluster. With Skaffold, developers can iterate on application source code locally while having it continually updated and ready for validation or testing in their local or remote Kubernetes clusters. Developers can run Skaffold as a background process while they are developing their code.
- How Skaffold Enabled Me to Deliver Features 10 Times Faster | by Matan Cohen | Wix Engineering | medium
- Local Kubernetes development simplified with Skaffold (opcito.com)
- Kubernetes Development in Real-Time With Skaffold - DZone Cloud
Spring on Kubernetes
When it comes to building Java apps that run in the cloud, Spring and Spring Boot are clear favorites. It is also increasingly clear that technologies such as Docker and Kubernetes play an important role in the Spring community.
- https://spring.io/guides/topicals/spring-on-kubernetes/
- https://spring.io/guides/gs/spring-boot-kubernetes/
Developing SpringBoot on Kubernetes
In the cloud-native world, where microservices are developed, distributed, and operated, the operational burden becomes more complicated as the services become smaller and smaller. Fortunately, there are technologies available to vastly reduce both the time and costs associated with development and operations.
- Getting Started with Spring Boot and Kubernetes
- Developing and deploying Spring Boot microservices on Kubernetes
- Okta about building a Microservice Architecture with Spring Boot and Kubernetes
- Baeldung about Guide to Spring Cloud Kubernetes
- https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud
- https://developer.okta.com/blog/2019/02/28/spring-microservices-docker
SpringBoot and ISTIO
Istio is currently the leading solution for building service mesh on Kubernetes. Thanks to Istio you can take control of a communication process between microservices. It also lets you secure and observe your services. Spring Boot is still the most popular JVM framework for building microservice applications.
- Service mesh on Kubernetes with SpringBoot and ISTIO
- Integrating a Spring Boot Application into an Istio Service Mesh
- Getting Started with Istio Service Mesh Routing
SpringBoot OIDC flows
- Authorization Code Flow
- Spring Security and OpenID Connect
- Authorization Code Grant Flow With Spring Security OAuth 2.0
About Skaffold
Skaffold is a simple command-line tool that is able to handle the workflow for building, pushing and deploying your Java application on Kubernetes. It saves a lot of developer time by automating most of the work from source code to the deployment.
Jib, is dedicated only for Java applications. It allows you to build optimized Docker and OCI images for your Java applications without a Docker daemon. It is available as Maven of Gradle plugin, or just as a Java library. With Jib you don't need to maintain a Dockerfile or even run a Docker daemon.
- Local Java Development on Kubernetes
- Continuous Spring Boot deployment in Kubernetes using Jib and Skaffold
- Simplify development on Kubernetes with Decorate, Skaffold and Spring Boot
About JIB Java Image Builder
Jib is a container tool that builds, pushes the Docker images of Java applications without a Docker daemon. Means, you don't have to have a docker daemon installed on your machine!
- Dockerizing Java Applications with Jib
- Containerizing Java Applications with Jib InfoQ
- DZone Containerizing SpringBoot Application With Jib
Distroless Docker images and JIB
"Distroless" images contain only your application and its runtime dependencies. They do not contain package managers, shells or any other programs you would expect to find in a standard Linux distribution.
- Distroless at Google
- Dockerizing with Distroless at Medium
- Distroless and Jib: Lightweight Java Container Images
SpringBoot OIDC, Keycloak, ISTIO
Keycloak is an open source Identity and Access Management solution targeted towards modern applications and services.
Keycloak offers features such as Single-Sign-On (SSO), Identity Brokering and Social Login, User Federation, Client Adapters, an Admin Console, and an Account Management Console. To learn more about Keycloak, please visit the official page.
- A Quick Guide to Using Keycloak with Spring Boot
- Securing Spring Boot Applications with Keycloak on Kubernetes
- Keycloak and Istio, Envoy and JWT auth envoy filter
- OIDC Authorization Code Flow
- Microservices using JHipster, Kubernetes, Istio
Kustomize
Kustomize is a standalone configuration management tool. The basic idea is to create a collection of these configuration files as a ‘base’ configuration and apply ‘overlays’ to change them by the environment. Kustomize has been integrated with kubectl.
- Kustomize: A Tool for Kubernetes Configuration Management - DZone Cloud
- Kustomize - Kubernetes native configuration management
- Deploy to Kubernetes with Kustomize · Codefresh | Docs
Writing Kubernetes Operators in Java
Java is no doubt one of the most popular programming languages in the world but it's been difficult for a period time for those non-Golang developers to build up their customized controller/operator due to the lack of library resources in the community. In the world of Golang, there're already some excellent controller frameworks. Driven by the emerging need of further integration into the platform of Kubernetes, we not only ported many essential toolings from the Golang SDK into the kubernetes Java SDK including informers, work-queues, leader-elections, etc. but also developed a controller-builder SDK which wires up everything into a runnable controller without hiccups.
- About k8s operators
- Develop a Kubernetes controller in Java at kubernetes.io
- Your own Kubernetes controller - Developing in Java
- Another good post
- Kubernetes Java Client at Github
- Coding K8S resource in Java — Part 2 (Java Client)