Skip to content

Instantly share code, notes, and snippets.

@kyleboon
Last active December 14, 2015 05:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kyleboon/5039051 to your computer and use it in GitHub Desktop.
Save kyleboon/5039051 to your computer and use it in GitHub Desktop.
Conference stuff
About Kyle Boon
Kyle Boon is a Technology Lead for Bloom Health in Minneapolis, MN. He has been developing web applications professionally for 9 years including 3 in groovy. Kyle is passionate about building scalable, maintainable, robust software systems and having fun while doing so. When not programming he obsesses over Ohio State football, golfs poorly, and brews beer.
Bloom Health was started in December 2009 and has been using grails and other groovy technology from day one. The team has grown to 30 developers, 4 devops and 10 testers. Our architecture has evolved from a single monolithic grails application to five smaller grails applications and a suite of dropwizard services behind them.
Over the last (nearly) five years we've learned a lot and grown up with the groovy ecosystem. I'll share what went well, what didn't and what choices I'd make if I was building a brand new company. If you're new to grails/groovy or are wondering if it could increase your team's productivity, then this is the talk for you!
RESTful Web Services in Groovy
We will discuss three different frameworks for writing RESTful web services in groovy. We'll cover Grails, Dropwizard and Ratpack and talk about the pros and cons of each one. We'll examine each one in terms of code readability, maintainability, deployment, metrics collection, scalability and testability.
Dropwizard is a micro framework developed by Yammer for building production ready JSON web services quickly. It is based on proven Java libraries like jetty, jersey and jackson and is easy to use in groovy. Ratpack is a groovy framework similar to ruby's Sinatra. It is useful for building very small applications quickly.
As your team and software grows, its important to have a consistent development and testing environment for everyone. Vagrant is an open source tool for building and distributing virtualized development environments. Chef is a systems and cloud infrastructure automation framework. At Bloom Health we use vagrant and chef and some custom internal tools to deploy everywhere from a developers laptop all the way through production. This includes 5 grails applications, 5 dropwizard services, mysql, redis and rabbitmq.
Kyle will cover the basics of chef and vagrant and walk through getting a basic grails application running in a vagrant instance.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment