Merging micrservices architecture with SOA Practices

56 %
44 %
Information about Merging micrservices architecture with SOA Practices
Technology

Published on September 17, 2014

Author: wso2.org

Source: slideshare.net

Description

-

Merging microservices architecture with SOA prac9ces Chris Haddad VP Pla&orm Evangelism 15 September 2014

2 About the Presenter • Chris Haddad ๏ VP Pla?orm Evangelism ๏ F500/G2000 Advisor ๏ Cloudy DevOps for Dev guy ๏ API Strategy and SOA Roadmap consultant ๏ Former Gartner research team leader Architect ๏ SaaS and PaaS ๏ Service por?olio and infrastructure ๏ Data management ๏ Java, .NET, JavaScript, Open Source Learn more about me • Follow me @cobiacomm on Twitter • Blog: http://blog.cobia.net/cobiacomm • Decks: http://www.slideshare.net/cobiacomm/ • Profle: http://www.linkedin.com/in/cobiacomm/ • On Google+ too

Agenda • Service Success and Service Angst • Are microservices the answer? • Microservice Mindset • How to properly define, decouple, and size a microservice. • What DevOps prac9ces overcome microservice deployment roadblocks • When microservices create fragile instead of an9fragile building blocks 3 View slide

Service Success – Extend Legacy Reach 4 View slide

Service Success – Extend Business Reach

Service Success – Useful Service Blocks 6 Customer Account Inventory Product Payment Order Invoice Fulfillment

Service Success – Agility at Scale ๏ How do you measure agility? ๏ Have services increased your agility? ๏ Does IT service agility exist? http://blog.cobia.net/cobiacomm/2013/03/19/accelerating-business-agility-with-app-factory-devops-paas/

Common Service Angst

Do SOA An9-­‐Pa_erns Prevail? Symptoms ๏ Isola9on, Uniqueness, Duplica9on ๏ Tight Coupling and Build Again Cause ๏ Lack of Trust -­‐ Not Invented Here [NIH] ๏ Shared Service Invisibility ๏ Teams do not know about a service ๏ Non-­‐func9onal and func9onal requirements are not well documented 9

Tired of Big SOA? ๏ Set up a cross-­‐func9onal SOA Working Group ๏ Develop a SOA Adop9on Plan ๏ Define Target Service Por?olio ๏ Develop a Business Case ๏ Plan and Fund Development of SOA Infrastructure ๏ Establish New Roles ๏ Plan Training and Mentoring for Staff ๏ Develop Corporate Policies, Guidelines, and Best Prac9ces ๏ Ins9tute SOA Governance Processes ๏ Establish New Incen9ves that Reward Good Behavior ๏ Iden9fy Candidate Projects ๏ Establish Priori9es ๏ Reassess Your Sogware Development LifeCycle (SDLC) 10

Can we MicroSize SOA? 11

Be Like Mike! – aka NetFlix 12

Microservices to the Rescue Microservices Defined ๏ A small problem domain ๏ Built and deployed by itself ๏ Runs in its own process ๏ Integrates via well-­‐known interfaces ๏ Owns its own data storage 13 Source: http://www.brunton-spall.co.uk/post/2014/05/21/what-is-a-microservice-and-why-does-it-matter/

Microservices to the Rescue “designing so<ware applica?ons as suites of independently deployable services.” Common Characteris9cs ๏ organiza9on around business capability ๏ automated deployment ๏ intelligence in the endpoints ๏ decentralized control of languages and data Source: Mar9n Fowler h_p://mar9nfowler.com/ar9cles/microservices.html 14

Microservices Scope ๏ Coarse Grained, Atomic, Business Capability ๏ Example ๏ Customer Profile ๏ Product Catalogue ๏ Shopping Cart ๏ Account Ac9vity ๏ Ra9ngs ๏ Recommenda9ons / Reviews 15

SOA == Microservices ๏ Services expose a business capability ๏ Factor applica9ons into composable services ๏ Re-­‐use service building blocks ๏ DRY (Don’t Repeat Yourself) ๏ Shared service delivery ๏ “Microservices is SOA, for those who know what SOA is” Source: Steve Jones 16

SOA != Microservices SOA ๏ Services Deployed in a Shared Bus ๏ One Team Goal ๏ Centralize Media9on ๏ Not prescrip9ve on the back-­‐end implementa9on pa_ern 17 Micro-­‐services ๏ Services Deployed at the Edge ๏ Teams aligned with Business Units ๏ Dumb Infrastructure ๏ Prescribes back-­‐end implementa9on pa_ern “SOA is a lame enterprise approach, whereas microservices are a cool hacker approach.” Source: Ycombinator

Microservice Roadblocks ๏ How big is a micro-­‐service? (UX-­‐first approach, data domain approach) ๏ How decoupled is a micro-­‐service? (Dependencies, versioning, rou9ng, linking data) ๏ How to micro-­‐size a business capability (granularity, user experience composi9on) ๏ How to take a RESTful approach towards managing micro-­‐service dependencies (DNS, /etcd, load balancing) 18

Microservice Myths and Legends ๏ The NetFlix Legend – QoS and rapid delivery ๏ Micro-­‐services Foster Rapid Evolu9on ๏ Agility, Crea9ve Experimenta9on, and Dynamic Composi9on ๏ Silos are good (if Micro-­‐serviced) ๏ Containeriza9on Panacea ๏ Lifecycle Complexity is Overblown ๏ Micro-­‐services don’t require SOA principles to succeed 19

Agenda • How to properly define, decouple, and size a microservice. • What DevOps prac9ces overcome microservice deployment roadblocks • When microservices create fragile instead of an9fragile building blocks 20

DevOps Prac9ces Microservices Pre-­‐requisites ๏ Business Domain Responsibility Decomposi9on ๏ User Interface Integra9on ๏ Communica9on Protocols ๏ Data Formats ๏ Redundant Data ๏ Business Intelligence Interfaces ๏ Root Cause Analysis (Logging, Monitoring) ๏ High Availability and Fault Tolerance ๏ Dynamic Service Management Adapted From: Stefan Tilkov h_p://www.infoq.com/presenta9ons/Breaking-­‐the-­‐Monolith 21

DevOpS Pa_erns Loosely couple ๏ Bounded Context ๏ Tolerant Reader ๏ Consumer driven Contracts ๏ Ubiquitous Language 22 Source: Martin Folwer http://martinfowler.com/articles/microservices.html#MicroservicesAndSoa

DevOpS Pa_erns Loosely couple ๏ Bounded Context ๏ Tolerant Reader ๏ Consumer driven Contracts ๏ Ubiquitous Language ๏ Silos per business capability ๏ Separate database per product 23 Source: Martin Folwer http://martinfowler.com/articles/microservices.html#MicroservicesAndSoa

Agenda • How to properly define, decouple, and size a microservice. • What DevOps prac9ces overcome microservice deployment roadblocks • When microservices create fragile instead of an9fragile building blocks 24

Fragility and An9-­‐Fragility “An9-­‐fragility does not merely withstand a shock but actually improves because of it.” ๏ Redundancy ๏ Clustering, Service Farms ๏ Failover ๏ Watchdog monitors , Circuit breakers 25

Fragility and An9-­‐Fragility “An9-­‐fragility does not merely withstand a shock but actually improves because of it.” Achieve High Availability in Distributed Systems through: ๏ Redundancy ๏ Failover Tradi9onal Service way ๏ Dedicated ac9ve-­‐ac9ve, ac9ve-­‐passive instances Micro-­‐services way ๏ Dynamic instance provisioning, graceful degrada9on 26

Fragility and An9-­‐Fragility ๏ Redundancy Strategies ๏ Clustering – maintain session state ๏ Service Farms – iden9cal ac9ve nodes ๏ Infrastructure ๏ Load Balancers – route to available nodes ๏ Elas9c service provisioning – spin up/down based on load and availability 27

Fragility and An9-­‐Fragility ๏ Failover Strategies ๏ Load Balancers – route to available nodes ๏ Watchdog Health Monitors -­‐ iden9fy break points ๏ Circuit breakers [h_ps://github.com/Ne?lix/Hystrix ] ๏ Infrastructure ๏ Intelligent Content Rou9ng ๏ Topics / Queues ๏ Management Scripts – restart service instances ๏ PaaS Service Management 28

Start Small ๏ Implement SOA principles on a project-­‐by-­‐project basis ๏ Iden9fy rela9onship between services and business capabili9es ๏ Build a top-­‐down and bo_oms-­‐up data model ๏ Work with your Enterprise Architecture Team 29

SOA & Microservices Reconcilia9on ๏ When to create services ๏ Create a service when sharing a business capability ๏ When to create APIs ๏ Sharing a service outside a domain of control ๏ Targe9ng the widest possible reach and consump9on ๏ Offering the service across na9ve web infrastructure ๏ Maximizing asymmetric evolu9on between service clients, interface, and implementa9on. ๏ When to create and use microservices ๏ Building an applica9on crossing domains ๏ Ra9onalizing and consolida9ng your SOA por?olio 30

31 Accelerate Your IT Business Strategy with WSO2 Services

References ๏ SOA and API Convergence Strategy and Tac7cs ๏ Promo7ng service reuse within your enterprise and maximizing SOA success ๏ REST Easy: API Design, Evolu7on, and Connec7on ๏ Mar7n Fowler on Microservices ๏ Stefan Tilkov, Breaking the Monolith ๏ Brunton Sprall: What is a microservice and why does it maJer 32

Contact us !

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Architecture Soa | LinkedIn

Architecture Soa. Articles, ... Enterprise Integration, Cloud, SOA, EAI, IT Mgmt Practices. ... BPM Solution Architecture at IBM Singapore Past SOA & ...
Read more

Merging | LinkedIn

... 50 offices by merging with Toowoomba’s leading real estate ... Merging micrservices architecture with SOA Practices . 3,047 Views. Kmax. Merging ...
Read more

microservices architecture - Martin Fowler

... whether this is just Service Oriented Architecture (SOA) ... practices are becoming ... start with a microservices architecture.
Read more