0% found this document useful (0 votes)
456 views24 pages

Microservices Spring Cloud

This document discusses microservices and Spring Cloud. It provides an overview of microservice architecture, cloud native applications, and the 12 factor principles. It then describes the Spring Cloud family of tools, including the config server, discovery server, feign client, and API gateway. Finally, it mentions there will be a live demo of a microservices application using these Spring Cloud tools and distributed tracing.

Uploaded by

Endy Muhardin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
456 views24 pages

Microservices Spring Cloud

This document discusses microservices and Spring Cloud. It provides an overview of microservice architecture, cloud native applications, and the 12 factor principles. It then describes the Spring Cloud family of tools, including the config server, discovery server, feign client, and API gateway. Finally, it mentions there will be a live demo of a microservices application using these Spring Cloud tools and distributed tracing.

Uploaded by

Endy Muhardin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Microservices

Spring Cloud

http://software.endy.muhardin.com
Overview

● Microservice Architecture
● Cloud Native Apps
● 12 Factor
● Spring Cloud Family
○ Cloud Connector
○ Config Server
○ Discovery
○ Feign + Ribbon + Hystrix
○ API Gateway
○ Sleuth + Zipkin
● Live Demo … horee !!
Microservice
● Apa maksudnya?
● Apa bedanya dengan SOA?
● Apa plus/minusnya?
Architecture
Apa itu Microservice ???

● Jargon baru, mulai dipopulerkan sejak 2012


○ James Lewis : http://2012.33degree.org/talk/show/67
○ Fred George :
http://www.slideshare.net/fredgeorge/micro-service-architecure
○ Adrian Cockcroft :
https://www.slideshare.net/adriancockcroft/microservices-workshop-all
-topics-deck-2016
an approach to developing a single
application as a suite of small services,
each running in its own process and
communicating with lightweight
mechanisms

Martin Fowler : https://martinfowler.com/articles/microservices.html


Contoh

● https://www.amazon.com/Klean-Kanteen-12-Ounce-Insulated-S
tainless/dp/B00X6ZFPQ0/
● http://www.lazada.co.id/united-bike-wall-bracket-braket-d
inding-tempat-gantung-sepeda-2885105.html
● https://www.blibli.com/adidas-men-running-alphabounce-1-m
-sepatu-lari-bw0539-MTA.0756475.htm
Microservices vs SOA

● Microservice is subset of SOA (Martin Fowler)


○ https://youtu.be/wgdBVIX9ifA?t=13m10s
● Microservice is SOA Done Right
○ https://www.youtube.com/watch?v=ilmFJ0FK0bE
Plus Minus Microservices

+ Independent Development - Level of Modularity


+ Independent Data Management - Interoperability / Versioning
+ Independent Technology - Transaction Management
+ Independent Release - Deployment
+ Independent Scaling - Configuration Management
- Integration
- Discovery
- Tracing Error / Performance
Wat?
More Negatives??
Microservice Tooling

● Continuous Delivery
○ Travis CI
○ Gitlab CI
○ Jenkins
● Spring Cloud
○ Config Service
○ Discovery Service
○ Integration
○ Distributed Tracing
● Cloud Native App
● Apa itu Cloud Native?

Cloud Native ● Bagaimana cara


membuatnya?
● 12 Factor Apps
Application
Cloud Native Apps

Cloud-native is an approach to building and


running applications that fully exploits the
advantages of the cloud computing model
https://pivotal.io/cloud-native
12 Factor - https://12factor.net/

● Single Codebase Multiple Deploy ● Port Binding


● Dependency Management ○ Setiap app bisa menangani
● Configuration Management request
○ Embedded HTTP server
○ Environment Variable
○ Vault ● Concurrency / Scale Out
● Backing Services ○ Setiap app bisa direplikasi
○ Database, MQ, File ● Disposability
● Build, Release, Run ○ Kebalikan dari scale out
○ Continuous Delivery ● Environment Parity
● Stateless / Ephemeral Process ○ dev/staging/prod harus mirip
○ Instances come and go ● Logs
● Admin Process

More Factor : http://pivotal.io/beyond-the-twelve-factor-app


● Config Server
● Discovery Service

Spring Cloud ●

Feign Client
API Gateway
● OAuth
Family ● Distributed Tracing
Spring Cloud Family - http://projects.spring.io/spring-cloud/

● Config Server ● https://github.com/endymuhardin


● Registry & Discovery Service /belajar-springcloud
● Service Integration ● https://github.com/endymuhardin
● Routing / API Gateway /belajar-springoauth2/
● Load Balancing
● Failover / Circuit Breaker
● Distributed Tracing
● Authentication / Authorization
Config Server
Discovery Service
API Gateway
Live Demo
Live Demo

● Discovery Server
● Config Server
● Catalog Service
● Image Service
● API Gateway
● Distributed Tracing
Q&A
● software.endy.muhardin.com

Terima Kasih
● https://goo.gl/ITBCBI
● https://t.me/JVMUserGroup
● https://goo.gl/MHq3hZ

You might also like