What are the pros and cons of using an embedded server in Spring Boot?

An embedded server bundles Tomcat, Jetty, or Undertow directly inside the Spring Boot JAR, trading some server-level control for a much simpler, more portable deployment model.

Key Points: • Pro: deployment is a single self-contained JAR runnable with java -jar, with no separate server installation. • Pro: faster local setup and a natural fit for containerization, since a Dockerfile just needs the JAR. • Pro: each service can run its own isolated server instance, which suits a microservices architecture well. • Con: less fine-grained control over server-level configuration compared to a dedicated, hand-tuned external server. • Con: not ideal when many applications need to share one centrally managed server for licensing, resource pooling, or administrative reasons.

Example: A team running dozens of small microservices benefits from embedded servers since each service is independently deployable, whereas a large enterprise consolidating many legacy apps onto one shared, centrally administered Tomcat cluster benefits more from external deployment.

Interview Tip: A concise interview answer is:

"Embedded servers make deployment trivially simple and portable -- one JAR, run with java -jar, which fits microservices and containers well. The tradeoff is less control over shared server-level configuration, which matters more in enterprise setups where many applications need to run on one centrally managed server."