You’ve been hearing about Microservices for months, and probably have taken a look about 12-factor and cloud-native apps too. But there’s a myriad of different frameworks and tools that you can use to craft your software and join the pieces together into a Microservices Architecture. You want to use the best tool for the job, and you need a hassle-free DevOps pipeline to orchestrate and deploy all of them.
Burr explains how you can combine a lot of different technologies and tools that will open your eyes for the huge possibilities that Microservices can enable you to achieve. Have it all: containers, Docker, Vert.x, Wildfly Swarm, Spring Boot, NodeJS, .NET, OpenShift, Jenkins, Kubernetes and perhaps much more.
6. Your Journey to Microservices :-)
Self-Service
On-Demand
Elastic
Infrastructure
(Cloud)
Re-Org to
DevOps
Automation
Puppet, Chef,
Ansible
CI & CD
Deployment
Pipeline
&
Containers
One
Microservice
Silicon
Valley
DotCom
Startup
11. Software creates real value for the organization when in production (not
in dev, test, stage). There are lessons you can only learn in production.
Many shops take 6 to 9 months for changed code to land in production.
36 Weeks
Monolithic System
Change
Request
12. Break Up Monolith - into independently deployable services -
microservices housed in Linux Containers (Docker)
36 Weeks
Monolithic System
Change
Request 12 Weeks
13. Some microservices change faster than others - drivers include
regulation, environmental, competitive, political
36 Weeks
Monolithic System
Change
Request 9 Weeks12 Weeks
16. Ensuring API backward compatibility allows for faster/safer deployment
36 Weeks
Monolithic System
Change
Request 9 Weeks 6 4 312 Weeks
17. 36 Weeks
Monolithic System
Change
Request 9 Weeks 6 4 3 112 Weeks
Blue/Green Deployments further aid reliability
A/B Testing in Production aids learning and improving
18. DevOps is an approach to culture, process and tools that emphasizes
collaboration and communication - delivering increased business value via
software delivery more rapidly, frequently, reliably
36 Weeks
Monolithic System
Change
Request 9 Weeks 6 4 3 1112 Weeks
21. The One ESB
One bus to rule them all,
One bus to find them,
One bus to bring them all
And in the darkness bind them
22. WITH GREAT POWER THERE MUST ALSO COME -- GREAT RESPONSIBILITY!
Amazing Fantasy #15 (August 1962)
Photo taken with Burr’s iPhone
The Amazing Spider-Man Omnibus Vol 1
23. Conway’s Law
"Any organization that designs a system (defined more broadly here than just
information systems) will inevitably produce a design whose structure is a copy
of the organization's communication structure."
https://www.thoughtworks.com/insights/blog/demystifying-conways-law
25. Microservice Principles/Characteristics
1. Deployment Independence - updates to an individual
microservice have no negative impact to any other component of
the system. Optimized for replacement
2. API Focused
3. Do one thing well - small enough and no smaller
4. Fit in your head
5. Decentralized Data Management
39. DropWizard
www.dropwizard.io
JAX-RS API
First to market
DropWizard Metrics
Embeddable servers:
Jetty
Spring Boot
projects.spring.io/spring-boot
Spring API (@RestController)
‘Starter’ POMs:
start.spring.io
Embeddable servers:
Tomcat, Jetty, Undertow
WildFly Swarm
wildfly-swarm.io
Java EE 7 APIs
‘Starter’ POMs: wildfly-swarm.
io/generator
Embeddable servers:
WildFly (Undertow)
Opinionated & java -jar myapp.jar
40. Vert.x
(Un-Opinionated) Toolkit for reactive, async applications
Every user has their own Vert.x way
Low-latency microservices that interact using the EventBus
Built in elasticity and resiliency
Interact with anything (.NET, Go, Rust, Cobol, Java EE, Spring...)
vertx.io
http://vertx.io/blog/my-first-vert-x-3-application/