Vice President - Engineering, WSO2
The Effects of Microservices on
Corporate IT Strategy
Selvaratnam Uthaiyashankar
Why Worry About Microservices?
• Software is eating the world - Marc Andreessen
• Software is a competitive advantage, not a cost center
• Needs agility in technology, process and people
– Cost of change
– Pace of change
– Quality of change
Digital Transformation
• Autonomous teams
• Agile development
• Continuous delivery
Trends in Software Development
Microservices
Consumers
API GW
Systems
Microservices
• Polyglot
• Independent scalability
• Resilience against failure
• Replaceability
• Composability
• Smaller experimentations and fail faster
Benefits of Microservices
How Will Microservices Affect Your
IT Strategy?
• Polyglot and heterogeneous technologies
together with autonomous teams
• Can easily become a “zoo” of
technologies
• License and security upgrades of
third-party components
• Governance and approval process
Selection of Technology
Image Source:
http://www.cartoonaday.com/images/cartoons/2014/01/Animals-africa
-dancing-cartoon-fun-CAD-598x476.jpg
• Loosely coupled, bounded context
• Team own all aspects (quality, security, compliance,
performance, etc.)
• Automation mindset
• Move fast, yet don’t break
Agile Development
Image Source:
https://monkeedo.files.wordpress.com/2008/01/monkey-tshirt.jpg
• Small teams (“two pizza team”)
• Interact with interfaces available
• Conway’s Law
• Don’t re-invent the wheel
Team Structure
Image Source: https://i.ytimg.com/vi/3Ctky8ZyfJU/hqdefault.jpg
• Impact analysis
• SLA due to failure of a component
• Identifying unused (and retirable)
services
• Debugging and testing
• Performance
Interdependencies of Services
Image Source:
https://i.pinimg.com/736x/da/86/04/da86047ff4edde35c
d79249d4f85661e--cartoon-monkey-cute-cartoon.jpg
• Independent scalability
• Don’t assume number of instances
• Re-distribute load for cost
optimization
• Reclaim unwanted resources -
Janitor monkey
• Data layer scalability
Scalability
Image Source: https://i.ytimg.com/vi/GO_LxMa1Lgo/maxresdefault.jpg
• Individual services health,
scalability
• Monitoring on integration points
• Monitoring of interdependencies
• Potential hotspots
• Message tracing
• Log analysis
Observability
Image Source:
http://uglymonkeyadventures.com/wp-content/uploads/2016/04/ugly
-monkey-magnifying-glass-pose-nologo.png
• Design for failure
• Test for failure - chaos monkey,
chaos gorilla
Resiliency
Image Source:
https://www.veracode.com/sites/default/files/styles/media_responsive_widest/pu
blic/SimianArmy.png?itok=ZtGspmhN
• Zero downtime migration - blue green deployments
• Try new experiments - canary deployment
Replaceability
Image Source:
https://s-media-cache-ak0.pinimg.com/originals/58/24/e9/5824e927842
966b8f7da094913151ede.jpg
• Transaction between the services
• Distributed transaction vs
compensation
• Eventual consistency
Transactions
Image Source:
https://previews.123rf.com/images/chudtsankov/chudtsankov1601/c
hudtsankov160100023/51065470-Greedy-Monkey-Cartoon-Charac
ter-Jumping-With-Cash-Money-and-Dollar-Eyes-Stock-Photo.jpg
• Dynamic services and discovery
• Fluid perimeter
• Authentication
• Intrusion detection
Security
Image Source:
http://cartoonstudio.co.uk/cartoonist-for-hire/wp-content/uploads/2012/06/Monkey.jpg
• Growth experiments
• Too many experiments and failures?
• Framework for experiments and
recordings
Experiments and Fail Fast
Image Source:
https://www.colourbox.com/preview/3255120-cartoon-characte
r-monkey-in-chemistry-class-isolated-on-white-background.jpg
• Complex than monolithic testing
• Test for failure
• End-to-end testing
• Performance and stress testing
Testing Methodology
Image Source:
https://www.guardicore.com/wp-content/uploads/2016/0
7/Infection-Monkey-Only-Logo.png
• Can’t break others due to change
• Need to have versioning
Versioning and Backward Compatibility
• Plan for CI/CD
• More details in Dakshitha’s session
CI/CD
How WSO2 Can Help
API Services/Edge
Services
Consumers
Composite
Services/Integration
Service
Core Services/ Atomic
Services
wso2.com

[WSO2Con EU 2017] The Effects of Microservices on Corporate IT Strategy

  • 1.
    Vice President -Engineering, WSO2 The Effects of Microservices on Corporate IT Strategy Selvaratnam Uthaiyashankar
  • 2.
    Why Worry AboutMicroservices?
  • 3.
    • Software iseating the world - Marc Andreessen • Software is a competitive advantage, not a cost center • Needs agility in technology, process and people – Cost of change – Pace of change – Quality of change Digital Transformation
  • 4.
    • Autonomous teams •Agile development • Continuous delivery Trends in Software Development
  • 5.
  • 6.
    • Polyglot • Independentscalability • Resilience against failure • Replaceability • Composability • Smaller experimentations and fail faster Benefits of Microservices
  • 7.
    How Will MicroservicesAffect Your IT Strategy?
  • 8.
    • Polyglot andheterogeneous technologies together with autonomous teams • Can easily become a “zoo” of technologies • License and security upgrades of third-party components • Governance and approval process Selection of Technology Image Source: http://www.cartoonaday.com/images/cartoons/2014/01/Animals-africa -dancing-cartoon-fun-CAD-598x476.jpg
  • 9.
    • Loosely coupled,bounded context • Team own all aspects (quality, security, compliance, performance, etc.) • Automation mindset • Move fast, yet don’t break Agile Development Image Source: https://monkeedo.files.wordpress.com/2008/01/monkey-tshirt.jpg
  • 10.
    • Small teams(“two pizza team”) • Interact with interfaces available • Conway’s Law • Don’t re-invent the wheel Team Structure Image Source: https://i.ytimg.com/vi/3Ctky8ZyfJU/hqdefault.jpg
  • 11.
    • Impact analysis •SLA due to failure of a component • Identifying unused (and retirable) services • Debugging and testing • Performance Interdependencies of Services Image Source: https://i.pinimg.com/736x/da/86/04/da86047ff4edde35c d79249d4f85661e--cartoon-monkey-cute-cartoon.jpg
  • 12.
    • Independent scalability •Don’t assume number of instances • Re-distribute load for cost optimization • Reclaim unwanted resources - Janitor monkey • Data layer scalability Scalability Image Source: https://i.ytimg.com/vi/GO_LxMa1Lgo/maxresdefault.jpg
  • 13.
    • Individual serviceshealth, scalability • Monitoring on integration points • Monitoring of interdependencies • Potential hotspots • Message tracing • Log analysis Observability Image Source: http://uglymonkeyadventures.com/wp-content/uploads/2016/04/ugly -monkey-magnifying-glass-pose-nologo.png
  • 14.
    • Design forfailure • Test for failure - chaos monkey, chaos gorilla Resiliency Image Source: https://www.veracode.com/sites/default/files/styles/media_responsive_widest/pu blic/SimianArmy.png?itok=ZtGspmhN
  • 15.
    • Zero downtimemigration - blue green deployments • Try new experiments - canary deployment Replaceability Image Source: https://s-media-cache-ak0.pinimg.com/originals/58/24/e9/5824e927842 966b8f7da094913151ede.jpg
  • 16.
    • Transaction betweenthe services • Distributed transaction vs compensation • Eventual consistency Transactions Image Source: https://previews.123rf.com/images/chudtsankov/chudtsankov1601/c hudtsankov160100023/51065470-Greedy-Monkey-Cartoon-Charac ter-Jumping-With-Cash-Money-and-Dollar-Eyes-Stock-Photo.jpg
  • 17.
    • Dynamic servicesand discovery • Fluid perimeter • Authentication • Intrusion detection Security Image Source: http://cartoonstudio.co.uk/cartoonist-for-hire/wp-content/uploads/2012/06/Monkey.jpg
  • 18.
    • Growth experiments •Too many experiments and failures? • Framework for experiments and recordings Experiments and Fail Fast Image Source: https://www.colourbox.com/preview/3255120-cartoon-characte r-monkey-in-chemistry-class-isolated-on-white-background.jpg
  • 19.
    • Complex thanmonolithic testing • Test for failure • End-to-end testing • Performance and stress testing Testing Methodology Image Source: https://www.guardicore.com/wp-content/uploads/2016/0 7/Infection-Monkey-Only-Logo.png
  • 20.
    • Can’t breakothers due to change • Need to have versioning Versioning and Backward Compatibility
  • 21.
    • Plan forCI/CD • More details in Dakshitha’s session CI/CD
  • 22.
    How WSO2 CanHelp API Services/Edge Services Consumers Composite Services/Integration Service Core Services/ Atomic Services
  • 23.