Spring Boot and Microservices

 

If you were developing web applications 5 or 10 years ago, you would appreciate the advancements in the web apps and microservices space. Microservices architectural pattern has disrupted the way we create applications for the cloud. With the introduction of Spring Boot, the microservices adoption skyrocketed in every sector of the tech landscape. 

New Era

Spring Boot 1.0 was released for General Availability by Pivotal on 1st April, 2014. This opinionated framework was created as a need to address the github issue on Spring Framework (which took almost 18 months for the team to release the Spring 1.0 GA version) — Improve support for “containerless” web application architecture, dated Oct 2012.

Microservices has been in the industry for more than a decade and companies like Netflix had adopted them since 2010 (references). Even the 12factor App creator Adam Wiggins started drafting the principles in 2011(references) — these some of the basic principles one would fulfill in creating microservices.

A health Open Source eco-system developed by companies like Pivotal, Netflix and many more., created easy ways for developers to adapt to these technology practices and patterns. Honestly, I got to know about Spring Boot only in 2016 and I have been inspired, amazed and rejuvenated since then; I even started to learn, code and share the same via TechPrimers.

How?

I still remember my first session on Spring Boot by Josh Long, Spring Developer Advocate of Pivotal who is also a contributor to the Spring framework(and it’s bugs — that’s how he addresses himself). His famous phrase,

Make JAR, not WAR

inspired me to start exploring the spring boot’s way of creating microservices and I never stopped exploring the spring ecosystem since then. There are other developer advocates likes Mark Heckler, Matt Stine, etc., and Phil Webb — the creator of Spring Boot, who evangelized the framework to every nook and corner of the tech industry.

In addition to that, platforms like medium.com helped evangelise the developer community with useful explanations, tips, and documentation on microservices architectures and use cases to drive adoption.

Why Spring Boot & Microservices?

With the growing need to create apps as quickly as possible, an opinionated framework like Spring Boot which brings in all the kinds of dependencies right to you is a big win. Adding to the excitement is the Spring Cloud which provides rich libraries for supporting microservices architecture patterns open-sourced by Netflix as part of Netflix OSS to create resilient, scalable and effective communication across microservices. According to me, the main selling point is the developer efficiency in creating microservices with tools like Spring Initializer, Spring Cloud and Spring’s very own annotation based processing.

Not to mention the contribution of Netflix by open sourcing most of its internal frameworks which were used to make microservices ecosystem better with patterns like Hystrix, Eureka, etc., The most unique groundbreaking engineering done by the team is the Chaos Engineering part with their Simian Army.

Future

I’m looking forward to see how Spring Boot counter attack’s the rise of new frameworks like — Micronaut (has faster application boot up using ahead of time compilation), from the developers of Grails framework which takes inspiration from lessons learned over the years building real-world applications from monoliths to microservices using Spring, Spring Boot, and Grails.

 

Related blog:

 

Java training in chennai