Big
All in one
If fail, all fails ...
costly
deployment !!!
Sofware/Application - Single unit
not cloud ready
small
componentization via service
easily scalable
cost-effective
What is microservices ?
In computing, microservices is a software architecture style, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs.[1] These services are small, highly decoupled and focus on doing a small task
Product vs Project
tend to serve one business capablility at a time
Decentralized : CI pipeline, Automated build, testing and development
( JAVA )
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.
Spring-Boot
Based on Popular Spring Framework
Large community support
Good Documentation
Experience in Spring based Java project
Short development time
Simple
choice of container Embadded Tomcat, Jetty, Undertow
Configuration support: YAML, property files, env. variables, command-line arguments.
And many more ...
<groupId>com.meteogroup</groupId>
<artifactId>weatherapi</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(SampleController.class, args);
}
}
{ code }