Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Spring Boot & Spring Cloud for Legacy Application

Spring Boot & Spring Cloud for Legacy Application

Spring Boot and Spring Cloud are very nice and popular technologies. However a lot of developers are still working on existing (aka Legacy) applications.

This presentation gives an overview on why, how and the challenges and solutions of introducing both Spring Boot and Spring Cloud into an existing application.

Code for the talk is available on Github. (https://github.com/mdeinum/legacy-boot-cloud)

Marten Deinum

May 20, 2016
Tweet

More Decks by Marten Deinum

Other Decks in Programming

Transcript

  1. • By Day • Software Developer / Architect / Consultant

    / … • By Night • Husband & Father • Lifeguard (Instructor) • Scuba Instructor • Author • Spring Contributor Who Am I
  2. –Wikipedia “In computing a legacy system is an old method,

    technology, computer system, or application program,"of, relating to, or being a previous or outdated computer system." Often a pejorative term, referencing a system as "legacy" often implies that the system is out of date or in need of replacement.”
  3. Bookstore from Pro Spring MVC • Spring Framework 3.2 •

    JPA with Hibernate 4.2 • Using Tiles and JSP • XStream • Jackson 1 • Configuration using XML and JavaConfig • Deployed as a WAR • No Monitoring/Metrics/Health etc. The Application
  4. Spring I/O 2016 Why • You want to use Spring

    Boot / Cloud • Migration of Monolith to Microservices • Strangler Application / Pattern • Migration Strategy
  5. Spring I/O 2016 How • Go full Spring Boot /

    Spring Cloud • Use selective parts of Spring Boot / Spring Cloud • Auto Configuration is still just Configuration!
  6. Spring I/O 2016 Challenges • Full Spring Boot / Spring

    Cloud • Probably requires library upgrades • Deprecated library support • Removed library support • Auto Configuration
  7. Spring I/O 2016 Challenges • Use selective parts of Spring

    Boot / Spring Cloud • No benefit of auto configuration “magic” • Manual configuration can be a PITA • Requires digging into auto configuration sources • Incompatible library versions
  8. Spring I/O 2016 Solutions • Library Upgrades (and incompatible libraries)

    • Spring is generally very backwards compatible • Others require code upgrades
  9. Spring I/O 2016 Solutions • Deprecated Library support • Update

    your code to supported versions • Deprecated isn’t removed!
  10. Spring I/O 2016 Solutions • Removed Library support • Rewrite

    your code to supported versions • Include the older support in your project
  11. Spring I/O 2016 Solutions • Auto Configuration • Is just

    configuration • You can do manual configuration • Might require some workarounds