Tomasz Lelek tomekl007 @tomekl007
Dec 17, 2014
Tomasz Lelek
tomekl007
@tomekl007
How to rebuild monolithic application to micro services architecture?
Presentation Plan
1. Business context2. Technology3. Architecture4. Configuration management5. Monitoring6. Aggregating logs7. Deploying ( vagrant, docker )8. Modern documentation
Monolith
Application Domain
One entity – multiple identities
Same functionality – new architecture
Redirecting request
Url Rewriting
#Apache rewrite url, work for post requestRewriteEngine OnRewriteRule /generate http://reportservice.no/generate [P]
Needs
i
Embedded Container
Starting Service
./sbt>container:start[info] Started [email protected]:8090[success] Total time: 2 s
How microservice looks like?
Using via imported client
Many clients
Scala java - interoperability
Rest, json, http
Architecture
Architecture Evolve
Managing configuration
Configuration Service
Asking for configuration
Switching configuration dynamically
Services monitoring - status
Monitoring of dependencies
Graph visualization
Visualization of dependencies
Where is service with configuration?
etcd
Circuit Breaker
Hystrix
Implementation
Many services = many logs
One aggregation point
+ logstash
Configuration of Logstash
/_search?pretty&type=batch-staging
Amazon EC2
vagrant plugin install vagrant-aws
vagrant up --provider=aws
vagrant ssh <MACHINE NAME>
Technology stack
Proper documentation
Documentation
Generated json
Swagger-ui
https://github.com/wordnik/swagger-ui
Documentation as a client
Time for building microservices !
Thank You, Questions ?