overcoming obstacles to success with microservices

33
Overcoming Challenges with Microservices Architecture Expert Strategies + One Client’s Story

Upload: perficient-inc

Post on 16-Jan-2017

323 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Overcoming Obstacles to Success with Microservices

Overcoming Challenges with Microservices ArchitectureExpert Strategies + One Client’s Story

Page 2: Overcoming Obstacles to Success with Microservices

2

About Perficient

Perficient is the leading digital transformation consulting firm

serving Global 2000 and enterprise customers throughout North

America.

With unparalleled information technology, management consulting, and creative capabilities, Perficient and its Perficient Digital agency deliver vision, execution, and value with outstanding digital experience, business optimization, and industry solutions.

Page 3: Overcoming Obstacles to Success with Microservices

3

Perficient Profile• Founded in 1997• Public, NASDAQ: PRFT• 2015 revenue $473.6 million• Major market locations:

Allentown, Atlanta, Ann Arbor, Boston, Charlotte, Chattanooga, Chicago, Cincinnati, Columbus, Dallas, Denver, Detroit, Fairfax, Houston, Indianapolis, Lafayette, Milwaukee, Minneapolis, New York City, Northern California, Oxford (UK), Southern California, St. Louis, Toronto

• Global delivery centers in China and India• 3,000+ colleagues• Dedicated solution practices• ~95% repeat business rate • Alliance partnerships with major technology

vendors• Multiple vendor/industry technology and growth

awards

Page 4: Overcoming Obstacles to Success with Microservices

4

Eric RochPrincipal, IT Modernization

Perficient

Manisha DatyeVP of Integration

Center of ExcellenceTCF Bank

Presenters

Page 5: Overcoming Obstacles to Success with Microservices

MICROSERVICES

Page 6: Overcoming Obstacles to Success with Microservices

6

Microservices: The Journey to Digital• Elastic infrastructure• Modernize IT• Increase velocity

• Ready the business for the digital age

• Improve business agility • Foster environment of innovation

DevOpsNot my problem

Separate tools, varied incentives, opaque process

Continuous DeliveryRelease once every 6 months

More bugs in production

MicroservicesTightly coupled componentsSlow deployment cycles waiting

on integrated tests teams

Page 7: Overcoming Obstacles to Success with Microservices

7

Architecture Goals

SOA APIs Microservices

Microservices are a more concrete and modern interpretation of service-oriented architectures (SOA) used to build distributed software systems.

Reuse Integration Scalability and Agility

Page 8: Overcoming Obstacles to Success with Microservices

8

Microservices Versus the MonolithA method of developing software where code is contained in small, self-contained units enabling specific

capabilities and that communicate through a lightweight mechanism (e.g.an API)

Monolithic Deploy

Service Deploy

Service Deploy

Service Deploy

Cloud

Server

Monolithic Microservice

123

Page 9: Overcoming Obstacles to Success with Microservices

9

Microservices Architecture Benefits

• Spur innovation

• Speed time to market

• Improve availability

• Shift spend from maintenance to new functions

The journey to microservices is an opportunity to modernize IT with many benefits along the way.

Page 10: Overcoming Obstacles to Success with Microservices

10

Microservices RequirementsTo realize the benefits of microservices, an organization must begin a journey to modernize IT technology and processes.

• An Agile lifecycle: A primary goal of microservices is to speed innovation

• Engineering skills: Build capabilities with new technologies

• Automated provision and deploy: Many services running in a elastic environment

• DevOps: Collaboration, automation, and tooling needed

• Application platform monitoring: Product owners, admin, and developers need data

Page 11: Overcoming Obstacles to Success with Microservices

11

TCF Bank• TCF is a Minnesota-based national bank

holding company• $21.3 billion in total assets• 376 branches in eight states• Provides retail and commercial banking

services

TCF’s ultimate goal is to be relevant to its customers are anywhere, anytime, and on any device. It’s about being “One TCF” and in rhythm with its customers’ goals. It’s about creating value for all stakeholders.

Page 12: Overcoming Obstacles to Success with Microservices

12

TCF’s Microservices Journey In an effort to support TCF’s commitment to provide the best customer experience possible, the bank had a key initiative focused on improving its digital banking capabilities through the establishment, modernization, and integration of IT systems that support and enables its online and mobile banking operations.

Page 13: Overcoming Obstacles to Success with Microservices

13

Motivations for ChangeBusiness Drivers

• Competing in the digital market• Identifying a unique customer across

channels for cross-sell and upsell • Availability of data for marketing and

analytics• Speed to market – everything is

waterfall with no automation

Technical Drivers• TCF has historically been a buy shop –

extensible platforms and integration is important

• Accessibility of data (buried in mainframe)

• Spaghetti and point-to-point integrations

• Limitations in scalability and high availability

• Limited reusability • No visibility to the available services• No automation – error-prone

deployments• Unpredictable release schedules due to

information spread across

Page 14: Overcoming Obstacles to Success with Microservices

14

Other solutions are incompleteImpractical to unplug legacy mainframe - expensive, prolonged timelines, and high riskUsing integrations to connect with legacy data tools that allow you to access the data directly like an API layer or an ESB message broker:

Incomplete data accessibility for marketing, analytics, or moving from the spaghetti integrationsDoesn’t enable speed to marketDependency on mainframe development – difficult to move towards DevOps and Agile

Why Microservices?

Page 15: Overcoming Obstacles to Success with Microservices

15

CHALLENGES

Page 16: Overcoming Obstacles to Success with Microservices

16

Challenge• Large investments for future benefits• Technical and cultural challenges slow

adoption and realization of benefits

A pragmatic path that creates value along the journeySolution• Must lay the technological groundwork• Early benefits from meeting prerequisites –

Agile, CI/CD, and DevOps• Limit initial scope but add valuable services

Challenge #1:Realizing Value

Page 17: Overcoming Obstacles to Success with Microservices

17

TCF Strategy• Establishing architectural principles and practices, understanding Agile and its myths,

and weaving architecture into Agile process• Establishing engineering practices while considering the API management lifecycle• Choosing the right technology for the microservices implementation • Building our own services using open source tools versus “pre-built integration solutions”• Building the foundation with CI/CD tooling • Defining DevOps and the maturity curve for DevOps• Pilot microservices – vet tools and standards• Define roadmap and maturity model

Challenge #1:Realizing Value

Page 18: Overcoming Obstacles to Success with Microservices

18

Challenge• New technology introduction • Many micoservices across platforms• Non-functional requirements • Hybrid / multi-cloud deployments • DevOps requirements • Testing complexity • Denormalized persistence

Manage Technology Adoption

Solution• Proof of technology with proven best

practices• Product feedback • Run what you wrote • Instrument application/infrastructure • Embrace open source software • Blue/green deploy, A/B Test, canary test• Fault tolerance and automation

Challenge #2:Operational andTechnical Complexity

Page 19: Overcoming Obstacles to Success with Microservices

19

TCF Strategy• Define minimal viable product• Pragmatic approach to the number of services delivered. Keep scope small to build foundation.• Deploy Learn Refine• Build an operational data store; collect data via various means• Define and test non-functional requirements – build for scalability, agility, and resilience• Establish monitoring, logging/exception handling, and define baseline• Approach – scope/build microservices and build platform later

Challenge #2:Operational andTechnical Complexity

Page 20: Overcoming Obstacles to Success with Microservices

20

Challenge• DevOps skillset is hard to recruit• Current culture does not support DevOps• Existing toolset insufficient

Build a DevOps Culture Solution• Vision / Communications / Roadmap• Embrace Agile and lean IT • Gartner’s bimodal IT • Tool-chain and best practices • Developers own run-time • Instrument applications for operational insight

Challenge #3:Lack of DevOps Skillset

Page 21: Overcoming Obstacles to Success with Microservices

21

• Defining DevOps processes to build into organizational culture• Establishing the right tools to support DevOps processes• Automating the provisioning/installation of software and tools • Automating the testing and deployment • Continuous development, integration, testing, and deployment • Slow conservative approach to adoption

TCF Strategy

Challenge #3:Lack of DevOps Skillset

Page 22: Overcoming Obstacles to Success with Microservices

22

Challenge• Implicit contracts • Catalog – service discovery • Versioning• Security

Solution• API as a product • Know your consumers • Developer portal and self-service• Machine-generated documentation like Swagger• API standards like versioning • Contract first development • Test first and regression testing

Create a Developer Self-service Model

Challenge #4:Integration Difficulty

Page 23: Overcoming Obstacles to Success with Microservices

23

• Define API specifications for request and response using Swagger• Establish developer community• Enhance collaboration in the organization (have right tools in place)• Establish API lifecycle management

TCF Strategy

Challenge #4:Integration Difficulty

Page 24: Overcoming Obstacles to Success with Microservices

24

ROAD MAP

Page 25: Overcoming Obstacles to Success with Microservices

25

Road Map to Microservices Modernization

TRACK 1 TRACK 2 TRACK 3 TRACK 4

DevOps Agile Monitoring Technology Adoption

• Vision • Lean IT • Bimodal IT • Tool Chain • Automation • CI/CD• Run-time Insight

• Collaborate• Train• Semantics• Deliverables• Backlog• Sprint

• Rationalize Tools• Process • Instrument • Feedback Loop

• Selection• PoT• Innovation Lab• Partner• Migration

Page 26: Overcoming Obstacles to Success with Microservices

26

Migrating the Monolith

• Create a roadmap to address challenges and requirements

• Create data architecture and integration strategy • Setup tooling environment • Start simple with a limited initial scope • Carve out monolithic business functions and refactor• Deliver new applications in the microservices style • Mature skills and processes through the journey

Page 27: Overcoming Obstacles to Success with Microservices

27

Practical approach, a journey towards microservices – low risk, refine as you goMaintain existing system-of-truth by enabling availability of informationProvide accessibility via microservices – platform evolution to microservice platformComplete continuous integration, continuous deployment Versioning strategy to allow services to plug and playEstablish monitoring

TCF Microservices Approach

Page 28: Overcoming Obstacles to Success with Microservices

28

TCF Sample RoadmapLevel 1 Level 2 Level 3

Business Functions Distributed with no single definition

Well-defined vocabulary and functions

Enterprise view of business until BPR-Level 3 defined

Services Ad-hoc with each service defined based on project need (localized view)

Flexible services with established standards

Well defined service hierarchy with ease of change

Data Redundant data that’s consolidated on a nightly basis

Reliable data source with latest information and enterprise view

Well-defined data lineageand eventual consistency established

CI/CD Manual Fully automated Container based

Infrastructure Pockets of single points of failure

Highly available Multi-datacenter High Availability (MDHA)

Page 29: Overcoming Obstacles to Success with Microservices

29

What platforms are best suited for me?

Does this platform have the capabilities I require?

How will I operationalize this new platform?

Perficient’s Innovation LabPerficient’s Innovation Lab is focused on helping your organization

modernize IT in a lean, agile, and collaborative environment.

DISCOVERYCandidate platforms

Solution requirementsApp portfolio rationalization

AGILE REALIZATIONImplement MVP for use cases

Stakeholder demosFeedback/closure reports

ADOPTION PLANNINGPlatform selection

Road map for adoptionCommunity of Practice

Page 30: Overcoming Obstacles to Success with Microservices

30

Road map and maturity targetsPlatform and frameworksIntegration strategy and toolsAgile / Collaboration / DevOps andTool-chain NoSQL persistence Architecture and API standards (wiki) Pilot microservices – vet tools and standards

TCF Proof of TechnologyArea Technology ESB Framework Apache Camel

API CA API Gateway

Code Repository Git/GitHub

CI Jenkins

Build Script Groovy

Container Spring Boot (Embedded tomcat) for Java / Camel

DSL Java

Documentation for services

Swagger and CA API Developer Portal

Testing Junit

Logging STDOUT and use SPLUNK forwarder agent for Splunk integration

ODS Datastax/Cassandra

Agile Management Version One

Documents Confluence

Artifacts Storage Artifactory

Alexandra Haefele
Need to add Chef
Page 31: Overcoming Obstacles to Success with Microservices

Questions?Type your question into the chat box

Page 32: Overcoming Obstacles to Success with Microservices

32

• Perficient.com/SocialMedia• Facebook.com/Perficient• Twitter.com/PRFT_Integrate• Blogs.perficient.com/Integrate

Follow Us Online

Next up:[Webinar] Why Business Is Better in the CloudThursday, October 20th

[Event] Cloud Native Workshop with PivotalTuesday, October 13th

Page 33: Overcoming Obstacles to Success with Microservices

THANK YOU