anchor.diff:  * Look at the all the existing Kill Bill JMX metrics (using VisualVM, jconsole, ...) and set some alerts (for instance by using the following https://github.com/killbill/nagios-jmx-plugin[script])
   * Configure your system properly, especially when it comes to the https://github.com/killbill/killbill/wiki/Kill-Bill-Bus-and-Notification-Queue-Configuration[settings of the bus and notification queue].
   
  +=== Deployment options
   
   When deploying Kill Bill, the following pieces will need to be deployed in addition to your OS, VM or container (Docker, ...):
   
  
positive.code: In addition to KPM, we also provide https://registry.hub.docker.com/u/killbill/killbill[Docker images]. Those images internally rely on KPM for fetching the various artifacts and install them at the right location on the image. The docker `run` command allows to override existing Kill Bill system properties.
  
  Note that one can decide to only use KPM for fetching and installing artifacts, and bypass docker to deploy on VMs or bare metal. Or alternatively one can use other tools, manual steps to fetch those artifacts from http://search.maven.org/[Maven Central], or by using our convenient http://killbill.io/downloads[download page].
  
negative.code: === Best practices
  
  Kill Bill (whether used as a Billing System and/or Payment System) is fundamentally a backend system, so the following considerations should apply:
  
  * Don't make the system visible to the outside world, instead you should have a front end system, or a reverse proxy in front of it; if you need to handle gateway notifications (e.g. IPN/Internal Payment Notification), we developed an https://github.com/killbill/killbill-notifications-proxy[app] for that specific purpose
  