Netflix/Priam — pull request #50 by matthewbogner (2012-08-09 22:53:01+00:00)
Title: DropWizard integration, IAM Roles/Instance Profiles, Configuration management, VPC support

* Integrated [DropWizard](http://dropwizard.codahale.com/) so that priam can be run as a shaded jar without needing a separate web container (will use Jetty + Jersey internally)
* Eliminated priam configuration via SimpleDB (still uses SimpleDB for the instance registry) in favor of a straightforward dropwizard yaml
- this is preferrable to us since we are avid users of puppet to do configuration management instead of storing configuration in another repository
- priam configuration is now modularized into three separate areas of concern, which makes keeping track of configuration a lot less chaotic (CassandraConfiguration, AmazonConfiguration, BackupConfiguration)
* Enabled usage of temporary access credentials via IAM Roles (instance profiles) for access to S3 and other AWS SDK apis. This makes it possible to not put access credentials out on the nodes themselves.
* The SDBInstanceRegigistry now creates the domain on the fly instead of requiring it to be created ahead of time manually.
* Switch from using public hostnames and IPs to using private IPs almost internally
- this is preferrable given the growing proliferation of using VPCs which only deal with internal addresses until you intentionally expose a service to the internet.
* Ton of code refactoring and renaming to accurately reflect it's purpose.

Unfortunately (for the pull request) I've reformatted the code to not put the curly braces on separate lines. I never really expected this pull request to be consumed in it's entirety anyway, I really just wanted to share the improvements I've made so that you guys can learn and apply whatever of these ideas you like... I had to do the reformat for my own personal sanity.

Any comments or feedback are welcomed. Thanks for the work you guys did to create this and get it out here for the rest of us to learn from and iterate on.