DevSecOps Deployment of Spring Boot for Banking on AWS EKS

DevSecOps guide to deploy a web banking application with Spring Boot on AWS EKS: CI/CD with Jenkins and ArgoCD, OWASP/Snyk security, Prometheus/Grafana monitoring, and Helm.

domingo, 17 de agosto de 2025 • 5 min read • Q2BSTUDIO Team

Artificial-Intelligence-

Summary: Complete and secure web banking application developed with Spring Boot, using modern web technologies and enterprise-level security. This article describes the deployment of the Spring Boot Banking Application Deployment using DevSecOps on AWS EKS and DevSecOps practices to ensure quality, security, and availability in production.

Main technologies and tools: GitHub for code control, Docker for containers, Jenkins for continuous integration, OWASP dependency check for dependency analysis, SonarQube for code quality, Snyk for vulnerability detection, ArgoCD for declarative continuous delivery, AWS EKS as managed Kubernetes platform, Helm for deployment and chart management, Grafana and Prometheus for monitoring, Spring Boot and Spring Security on the backend, MySQL as database, and Maven for project build.

Fundamental prerequisites: root access to the machine that will serve as master, an AWS account in the us-east-1 region, an IAM user with access keys, configured AWS CLI, and a public SSH key available for the nodes. Make sure to open the necessary ports in the security group for access to Jenkins, ArgoCD, applications, and monitoring ports.

Create the EKS cluster: install AWS CLI, kubectl, and eksctl on the master machine. Use eksctl to create a cluster named bankapp in the us-east-1 region, associate the IAM OIDC provider, and create a nodegroup with t3.medium instances, 25 GB volume, and the corresponding SSH key pair. Verify that the SSH public key for the nodegroup exists in the AWS account.

Install and configure Jenkins: update packages, install OpenJDK 17 and Jenkins. Change Jenkins default port from 8080 to 8081 to avoid conflict with the banking application that will use 8080. Reload systemd and restart Jenkins after modifying the service file. Install the recommended plugins: OWASP, SonarQube Scanner, Snyk, Docker, and Pipeline Stage View.

Install Docker on the Jenkins machine to allow image building. Grant permissions to the Docker socket when necessary so that build and push stages work correctly, for example by adjusting permissions of /var/run/docker.sock with appropriate security policies.

SonarQube and OWASP: deploy SonarQube in Docker for quality analysis and create a SonarQube token to integrate it into Jenkins credentials. Deploy OWASP dependency check in Docker for dependency analysis and configure its API key if available to speed up vulnerability database updates.

ArgoCD for continuous delivery: create the argocd namespace in the cluster and apply the official installation manifest. Verify that all pods in the argocd namespace are in Running state. Install the ArgoCD CLI on the master machine, change the argocd-server service to NodePort type to expose the panel, obtain the initial password from the argocd-initial-admin-secret secret, and update the password from the web interface in User Info.

Cluster and repository integration in ArgoCD: from the ArgoCD CLI, log in to the argocd server URL, list available clusters, add the EKS cluster context to ArgoCD with argocd cluster add, and verify the connection from the console in Settings Clusters. Connect the project Git repository in Settings Repositories and confirm that the connection is successful.

CI and CD pipeline: create two main jobs in Jenkins, BankApp-CI and BankApp-CD. Configure build steps with Maven, run SonarQube Scanner for quality analysis, launch OWASP and Snyk for security analysis, build Docker image and push it to the configured registry. Add credentials in Manage Jenkins for SonarQube, Docker Hub, and any other necessary service. Set up webhooks in SonarQube to notify Jenkins when appropriate.

Declarative deployment with ArgoCD: create an application in ArgoCD pointing to the Kubernetes manifest or Helm chart within the repository. Select the Auto Create Namespace option so that ArgoCD manages the namespace automatically. ArgoCD will sync and deploy resources to the EKS cluster, providing rollback and observability of synchronizations.

Monitoring with Helm, Prometheus, and Grafana: install Helm on the master machine, add prometheus-community and stable repositories, create the prometheus namespace, and deploy kube-prometheus-stack using Helm. Verify pods and services in the prometheus namespace. Change Prometheus and Grafana services to NodePort type to expose them externally and open the corresponding ports in the security groups. Obtain the Grafana password from the stable-grafana secret and access the dashboard to view cluster, node, and workload metrics.

Resource cleanup: when it is necessary to remove the environment, run eksctl delete cluster with the cluster name bankapp and the region us-east-1 to delete the EKS cluster and associated resources automatically.

Security and operations best practices: integrate security analysis at every stage of the pipeline, scan Docker images with Snyk and container tools, apply least privilege policies in IAM, rotate keys, and use secrets management mechanisms for sensitive credentials. Enable monitoring and alerting in Prometheus and Grafana, and use centralized logs for auditing and incident response.

Recommended resources for further study: official Spring Boot and Spring Security documentation, AWS EKS guides, Docker and Helm documentation, and SonarQube and OWASP dependency check manuals for configuring advanced analysis.

About Q2BSTUDIO: Q2BSTUDIO is a software development company that designs custom applications and custom software for businesses of all sizes. We are specialists in artificial intelligence, cybersecurity, and AWS and Azure cloud services. We offer business intelligence services, AI solutions for companies, AI agent creation, and Power BI dashboard development to turn data into actionable decisions. Our experience integrates DevSecOps practices to deliver secure and scalable software, combining CI CD automation, continuous vulnerability scanning, and deployment on managed cloud infrastructures.

Strategic keywords: custom applications, custom software, artificial intelligence, cybersecurity, AWS and Azure cloud services, business intelligence services, AI for companies, AI agents, Power BI. Including these capabilities in your digital strategy improves positioning, reduces risks, and accelerates value delivery.

If you want Q2BSTUDIO to help you deploy this architecture, optimize CI CD pipelines, configure ArgoCD, or design business intelligence and AI solutions, contact our team for personalized consulting and a migration and security plan tailored to your needs.

Final summary: this DevSecOps flow integrated with Jenkins, SonarQube, OWASP, Snyk, ArgoCD, and AWS EKS provides a robust platform to deploy and operate a Spring Boot-based banking application with industrial security controls and visibility. Congratulations on getting this far and good luck with your deployment.

OUR SERVICES

How we can help you

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.