How to Effectively Support Java Spring Boot Applications?

0
1
Asked By CuriousCoder42 On

Hey everyone! I've primarily worked with other languages and have avoided Java for most of my career, but now I've found myself in a position where I need to support a Spring Boot monolith that's gradually being refactored. We're a small team of 7 developers in a company of about 20 people, and the tech stack we're using is a bit outdated. Right now, the app isn't containerized, and our deployment process essentially consists of dropping a .jar file onto an EC2 instance and using Liquibase to manage the database updates.

I've been assigned to clean up the neglected Terraform code and transition our build and deployment processes into CI/CD so that we're not relying on just one engineer to handle these tasks. I'm looking for any best practices for DevOps support specifically tailored for Java apps and their ecosystems. Please keep in mind that suggestions to simply "delete the app" aren't very helpful. If I had a say in the stack choice, it wouldn't have been this one. Any advice would be truly appreciated! Thanks!

2 Answers

Answered By SpringSupporter On

Maven Jib is a great choice! It automatically handles building your images without the need for a Dockerfile. Also, consider using Spring Cloud Config—it's been a lifesaver for my team. It eliminates the need to mount external config files, and you can track configuration changes in Git.

CuriousCoder42 -

That sounds helpful! I'll definitely look into Spring Cloud Config, thanks!

Answered By DevOpsDynamo On

I highly recommend starting by containerizing your app. It simplifies almost everything else. A Dockerfile is usually just a few lines, and it allows you to version your deployments instead of just crossing your fingers that the .jar file on disk matches what's in your Git repo.

CodeWhisperer88 -

I was leaning towards that too, but I worry about adding complexity for the developers during local development. Their setup is a bit of a mess, and I'm not a Java expert, so I don't want to disrupt their workflow too much. How would this change their local setup?

ContainerNinja -

I get that concern! If you use something like Maven Jib, you can avoid a lot of Dockerfile configuration, making it more straightforward for everyone.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.