This week's book giveaway is in the Agile and Other Processes forum. We're giving away four copies of Real-World Software Development: A Project-Driven Guide to Fundamentals in Java and have Dr. Raoul-Gabriel Urma & Richard Warburton on-line! See this thread for details.
At our organization we have many internal Spring MVC applications running on Tomcat on a Windows server. The problem is that the number of applications make Tomcat take 10 minutes to start, so even a simple server bounce during the day is a problem. We also have no Tomcat sysadmins or deploy admins, so the job falls on developers, and we have no expertise on how to optimize servers... the best we have been able to do is to keep the servers stable.
We are looking at Spring Boot with embedded Tomcat as a way to allow us to bounce applications independently instead of an overall Tomcat container. We have a couple concerns and I am hoping someone can point me in the right direction:
- Since all of the embedded Tomcat instances will use the same version, is it possible for them to share the Tomcat code even as they have independent memory spaces for the apps? It seems wasteful to load so many copies of the same read-only thing. Same thing for Java itself, it would be even crazier to have to include a separate copy of Java for each webapp.
- What is the best way to deploy? Googling seems to point to using a container, and more specifically to deploy the embedded Tomcat Spring Boot apps on Docker.
- Is Docker included in the Windows Server license? Googling seems to hint so... but it is not clear.
I apologize if these are truly noob questions but google did not help, if anything it added to the confusion as every tutorial seems to be lobbying to sell you a tool instead of helping you choose the best fit.
Also, if going the Spring Boot way is overkill... please say so. Simpler is always better, if there is such a way.
A berm makes a great wind break. And we all like to break wind once in a while. Like this tiny ad: