Setting up a GeoServer can sometimes be deceptively simple. However, going from proof of concept to production requires a number of steps to be taken in order to optimize the server in terms of availability, performance and scalability. The presentation will show how to get from a basic setup to a battle ready, rock solid installation by showing the ropes an advanced user already mastered. The topics that will be covered in details include: - Optimize vector and raster data for the deep multi-resolution displays typical of web GIS - Optimize styling to provide a good balance between map navigability and performance, identifying common performance pitfalls in the styling options - Setting up caching with GWC for the background layers, identify layers and situations that are not suitable for caching - Defend against peak hour load by setting service limits and using the control-flow extension - Using the monitoring extension to control the server in production and identify sources of trouble (long request, clients making too many/too heavy requests, layers and services used the most that could use more tuning attention) - Solutions for clustering GeoServer 2.3.0 and GeoWebCache 1.4.0 - Challenges in scaling beyond the few hundreds concurrent requests, and solutions to get there The presentation will end with real world examples of enterprise deployments of GeoServer implemented by the author as well as its colleagues at GeoSolutions during the years.