Extinction of Dinosaurs Rise of Microservices Dinosaurs What
- Slides: 24
Extinction of Dinosaurs -> Rise of Microservices
Dinosaurs • What were they like? • • Big Heavy Clumsy Ancient • Why did they extinct? • • Massive asteroid impact Catastrophic effect on an environment Haven‘t adapted fast enough They didn't have a space program ; -) © Tieto Corporation
A little bit of context • Enterprise Applications • Client-side user interface • HTML pages and javascript • Running on user’s machine • Server-side application • • Handle HTTP requests Execute domain logic Access database Select and populate HTML • Database © Tieto Corporation
Monolith vs. Microservices • Monolith • All functionality in single process • Scales by replicating the monolith © Tieto Corporation • Microservices • Every element of functionality in a separate process • Scales by replicating services
What is it? “Java, the Unix way” -- James Lewis @ 33 rd Degree 2012 “Fine grained SOA” -- Adrian Cockcroft (Netflix) © Tieto Corporation
What is it? • Set of small services • Separate processes • Lightweight communication • Organized around business capabilities • Independently deployable • Scalable © Tieto Corporation
Services not Libraries • Component – independently replaceable and upgradeable • Libraries • Components linked in a program • Called using in-memory function calls • Services • Independently deployable and runnable • Called using web service request or RMC – more expensive • More explicit component interface © Tieto Corporation
Dumb pipes and smart endpoints • Dumb pipes • Lightweight communication • HTTP or lightweight messaging • “Be of the web, not behind the web” -- Ian Robinson • Smart endpoints • As decoupled and cohesive services as possible • Doing routing and choreography decisions © Tieto Corporation
Decentralized Data Management vs. © Tieto Corporation
Decentralized Conceptual Model © Tieto Corporation
Implementation details
Component types • Clients • Business components • Handlers • Data access components © Tieto Corporation
Single component design © Tieto Corporation
Single component modules • • Schema OXM Component Server © Tieto Corporation
Integrations • Interface versioning • Tolerant Reader • “Be conservative in what you do, be liberal in what you accept from others. ” -- Jon Postel • Consumer-Driven Contracts • Error Handling • Client vs. Server exceptions © Tieto Corporation
Supporting functions • Logging & traceability • Unique Process Call ID • salsa. Order. Manager#enter. Order. Product. Manager#validate. Order • Client Trace ID • 4 aacef 0 f 2 a 69469 d: -36 fc 953 d: 1449 aee 3 f 22: 5730 • Monitoring • JMX & Rest • Info, stats, probes • Centralized configuration © Tieto Corporation
Pros vs. Cons Summary Pros Cons • Microservice is „small“ • Can be deployed independently • Development scalability • Improved fault isolation • Eliminates long-term commitment to a technology • Complexity of distributed system © Tieto Corporation • • Testing Inter-service communication Distributed transactions Coordination between teams (? ) • Management and deployment complexity • Resources consumption
Questions? About microservices and things we do, carnivorous plants, chameleons, crickets, ground worms or dinosaurs?
Thank you!!!
Frameworks • • • JCore Spring, Spring WS Hibernate / JPA Embedded Jetty Liquibase Constretto © Tieto Corporation
Decentralized Governance • Use right language for the job • Tools prior written-down standards • Checkstyle, Find. Bug, Sonar. Qube © Tieto Corporation
Organized around Business Capabilities “Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure. ” -- Melvyn Conway, 1967 © Tieto Corporation
Traditional organization • Focus on technology layer • Changes lead to cross team projects • Logic is forced to “home” layer – logic everywhere © Tieto Corporation
Infrastructure & Automation • Git on Gerrit • Every component is separate project • Build pipeline • Gerrit -> staging -> peer reviews -> merge build • Automate deployments and testing • System “configuration” verification and propagation © Tieto Corporation
- Emblem
- Rise and rise again
- Tricky dick
- Rise again and again until lambs
- Rise and rise again until lambs become lions origin
- Microservices data aggregation
- Microservices data analytics
- Sudhir tonse
- Cap microservices
- Accenture microservices
- Features of microservices decoupling and componentization
- Microservice design principles
- Low latency microservices in java
- Microservices
- Actor model microservices
- Azure microservices architecture
- Microservices message bus
- Hvad er microservices
- Different types of dinosaurs
- Eras of dinosaurs
- Dinosaurs lived millions of years ago what did they eat
- The presence of coal in antarctica indicates that
- Dinosaurs
- Substance use addictions and related behaviours
- Are flying dinosaurs dragons