The “Bootiful” Microservice

Tuesday, 9:00 AM – HIMMARSHEE

The economics of the cloud and the demand created by new platforms (mobile, social) have led the giants of the web to the microservices architecture style. Microservices sit at the intersection of devops, web services, big-data and the cloud. They scale out, embrace – and are resilient to – failure, and promote using the best technology for the job.

In practice this means a lot of things:

  • centralized and journaled property configuration
  • small, singly focused web services
  • bounded contexts; services own their data and nothing else and should manage that data using the best technology for the job (NoSQL, SQL, Hadoop, whatever!)
  • awareness of and resilience to service failure (at a certain scale, you simply can’t afford to ignore outages)
  • service-to-service discovery and invocation
  • single sign-on
  • a platform that supports ad-hoc scale out

In this workshop, we’ll look at how to build a modern microservices-based architecture using Spring Boot, Spring Cloud and Cloud Foundry.

Workshop Requirements

This session is a workshop. Please come prepared.

We will not have much/any time during the workshop to resolve any setup issues. Out of respect for the time of your fellow attendees, please arrive with a laptop with the following installed:

  • Java 8 SDK
  • Maven and/or Gradle. I’ll likely use Gradle, but Maven is fine if that’s what you prefer.
  • A Spring-equipped IDE. I strongly recommend Spring Tool Suite 3.7.1 (or higher), but you’re welcome to use IntelliJ if you want (I just won’t be able to help you much with any IntelliJ-specific issues you may encounter)
  • The Spring Boot CLI
  • The Spring Cloud CLI
  • The CloudFoundry CLI. This is OPTIONAL in the sense that we may not get to the point where we’re ready to deploy to CloudFoundry, but you should have it installed just in case.
  • Sign up for a trial account at Pivotal Web Services. This is OPTIONAL in the sense that we may not get to the point where we deploy to CloudFoundry. But you should have an account ready just in case we have time. Also, since this is a trial account, you may want to wait until just before arriving at the workshop to sign up so that you get maximum benefit of the trial after the workshop concludes.
  • Go to the Spring Initializr and specify the latest milestone of Spring Boot 1.3 and then choose EVERY checkbox except those related to AWS, then click generate. In the shell, run mvn -DskipTests=true clean install to force the resolution of all those dependencies so you’re not stalled later. Then, run mvn clean install to force the resolution of the test scoped dependencies. You may discard this project after you’ve installed everything.

About Craig Walls

Craig Walls

Craig Walls is a senior engineer with Pivotal as the Spring Social project lead and is the author of Spring in Action and Spring Boot in Action. He’s a zealous promoter of the Spring Framework, speaking frequently at local user groups and conferences and writing about Spring. When he’s not slinging code, Craig spends as much time as he can with his wife, two daughters, 2 birds and 2 dogs.

More About Craig »