microservices: why should businesses care?

Download Microservices: Why Should Businesses Care?

Post on 18-Jul-2015

192 views

Category:

Internet

2 download

Embed Size (px)

TRANSCRIPT

What are microservices

MicroservicesWhy should business care? 2015 Akana., Inc All Rights Reserved. What are Microservices?Microservices are a new way to build applications by breaking them up into small, independent servicesNo specific languageNo heavy middleware Mostly open-source

Loosely coupled service oriented architecture with bounded contexts - Adrian CockcroftSmall autonomous services that work together - Sam Newman

2015 Akana., Inc All Rights Reserved. Microservices ArchitectureMicroserviceRegistryHealth and ResiliencyClientMicroserviceMicroserviceMicroserviceMicroserviceConventionWhatever you wantMicroserviceLoad BalancingAutogen 2015 Akana., Inc All Rights Reserved. What defines a Microservice?SOA + DevOps + Containers

2015 Akana., Inc All Rights Reserved. What is DevOps?The developer interacts with the infrastructure directlyNeed fewer Operations staff saves moneyIncreases agility by removing roadblocks

2015 Akana., Inc All Rights Reserved. What is Containerization?

Easier to useMore efficientSmaller hence suited to Microservices

2015 Akana., Inc All Rights Reserved. Are Microservices different to SOA?Vendor-driven SOA gave us SOAP and ESBsMicroservices are a reaffirmation of SOA principles and a reaction to vendor-driven SOAdefacto standards/frameworksdovetail in agiledovetail in devopsdovetail in containerization Microservices is unabashedly anti ESB

2015 Akana., Inc All Rights Reserved. What are SOA, APIs and Microservices used forSOA is about reuseBuilding services that support multiple different applicationsAPIs is about supporting web and mobile applications its about integrationGeared towards easier and better consumption of servicesMicroservices is about agility and scaleServices enabling scalability and rapid feature cadence for a specific application 2015 Akana., Inc All Rights Reserved. Why are Microservices so popular?UnscalableHard to manageHard to learnSlow to deployScalableEasier to manageEasier to learnQuick to deploy 2015 Akana., Inc All Rights Reserved. How hard is it to adopt Microservices?Requires 4 things:Maturity of ops (need DevOps, Containerization)Willing to re-architect entire appWilling to invest in the App must be strategicApp must need to scale

2015 Akana., Inc All Rights Reserved. Additional GuidanceTwo-pizza teams Microservices are highly focused on providing one capability - micro means singly focused, not sizeLightweight communication protocolsRight tool for the jobMicroservices should have their own datastore separate from other microservicesA Microservice owner is responsible for its lifecycle (incl deploy and operations) 2015 Akana., Inc All Rights Reserved. Why should business care?BenefitsImproved agilityBetter reliability, elasticityGlobal scalabilityChallengesRestructuring the IT organization Agile, DevOpsInvestments in new frameworks & platformsGreenfield vs. Re-architectingNew skills developmentDesignDevelopmentTesting 2015 Akana., Inc All Rights Reserved. DevOps OrchestrationMicroservices framework

3 people that understand microservices12Re-Architecting an Application

Monolithic ApplicationMonolithic Application 2015 Akana., Inc All Rights Reserved. Re-Architecting an Application

2015 Akana., Inc All Rights Reserved. Re-Architecting an Application

2015 Akana., Inc All Rights Reserved. Re-Architecting an Application

2015 Akana., Inc All Rights Reserved. New Skills: Microservices Principals (Fowler)Componentization via services [best technology for the job, common interface (restish)]Organized around Business CapabilitiesProducts not Projects [Conways law of organizational slippery slope]Smart endpoints dumb pipes [choreography vs. orchestration; choreographer leads]Decentralized Governance [built into the service - share useful patterns via libraries; less overhead; consumer-focused service contracts]Decentralized Data Management [domain driven design bounded context, etc.]Infrastructure AutomationDesign for FailureEvolutionary Design 2015 Akana., Inc All Rights Reserved. DesignTraditional design oversight is out the window - everyone will use the best tools available to create the microservice Control the interfaceFacilitate a design-time review of available services and a request for service Adopt convention - interface must provide for health/resiliency informationDesign for failure - services should provide health statusDesign for robustness - services can self-proxyDistributed data design - domain-driven design patterns

2015 Akana., Inc All Rights Reserved. DevelopmentDevelopment team must know about other available services, etc. - toolingDevelopment team must know what libraries, strategies, patterns will provide for resiliency, health, bulkheads, alternativesDevelopment team will get to know a lot more about the SDLC before them and after - full lifecycle responsibilityDevelopment team agile with QA intimately involvedDistributed data management requires eventual consistency accommodation 2015 Akana., Inc All Rights Reserved. TestingUnit, Integration and Component level testing still exists but have nuances specific to microservicesEnd-to-end and Integration testing will have to account for new paradigms for microservices - registry, health dashboard - and build in these scenarios

2015 Akana., Inc All Rights Reserved. test mode20Questionswww.akana.com 2015 Akana., Inc All Rights Reserved.