Presentation is loading. Please wait.

Presentation is loading. Please wait.

Extinction of Dinosaurs -> Rise of Microservices.

Similar presentations


Presentation on theme: "Extinction of Dinosaurs -> Rise of Microservices."— Presentation transcript:

1 Extinction of Dinosaurs -> Rise of Microservices

2 © Tieto Corporation 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 ;-)

3 © 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

4 © Tieto Corporation Monolith vs. Microservices Monolith All functionality in single process Scales by replicating the monolith Microservices Every element of functionality in a separate process Scales by replicating services

5 © Tieto Corporation What is it? “Java, the Unix way” -- James Lewis @ 33 rd Degree 2012 “Fine grained SOA” -- Adrian Cockcroft (Netflix)

6 © Tieto Corporation What is it? Set of small services Separate processes Lightweight communication Organized around business capabilities Independently deployable Scalable

7 © 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

8 © 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

9 © Tieto Corporation Decentralized Data Management vs.

10 © Tieto Corporation Decentralized Conceptual Model

11 Implementation details

12 © Tieto Corporation Component types Clients Business components Handlers Data access components

13 © Tieto Corporation Single component design

14 © Tieto Corporation Single component modules Schema OXM Component Server

15 © 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

16 © Tieto Corporation Supporting functions Logging & traceability Unique Process Call ID salsa.OrderManager#enterOrder.ProductManager#validateOrder Client Trace ID 4aacef0f2a69469d:-36fc953d:1449aee3f22:5730 Monitoring JMX & Rest Info, stats, probes Centralized configuration

17 © Tieto Corporation Pros vs. Cons Summary Pros Microservice is „small“ Can be deployed independently Development scalability Improved fault isolation Eliminates long-term commitment to a technology Cons Complexity of distributed system Testing Inter-service communication Distributed transactions Coordination between teams (?) Management and deployment complexity Resources consumption

18 Questions? About microservices and things we do, carnivorous plants, chameleons, crickets, ground worms or dinosaurs?

19 Thank you!!!

20 © Tieto Corporation Frameworks JCore Spring, Spring WS Hibernate / JPA Embedded Jetty Liquibase Constretto

21 © Tieto Corporation Decentralized Governance Use right language for the job Tools prior written-down standards Checkstyle, FindBug, SonarQube

22 © 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

23 © Tieto Corporation Traditional organization Focus on technology layer Changes lead to cross team projects Logic is forced to “home” layer – logic everywhere

24 © 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


Download ppt "Extinction of Dinosaurs -> Rise of Microservices."

Similar presentations


Ads by Google