Transcript
Page 1: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

Microservices not MonolithsPhil WhelanTechnology Evangelist@philwhln

John WetherillTechnology Evangelist@bcferrycoder

September 2014

Page 2: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Presenters

Phil WhelanTechnology Evangelist@philwhln

John WetherillTechnology

Evangelist@bcferrycoder

Page 3: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Agenda

● Monoliths

● Benefits

● Challenges and Pitfalls

● Evolving Practices

● Testing

● Deployment and DevOps

● PaaS

Page 4: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Recent Events

DevOps Days Boston

VMWorld US 2014

OpenStack Silicon Valley

Microservices Meetup

Page 5: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Monoliths

Page 6: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Monoliths

Monolithic Applications

●Complexity is internal

●Multiple large and coordinating teams

●Huge codebases packaged as single .war file

●Easier in short term to get code out the door

●Long complex release and deploy cycles

Page 7: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Benefits

Page 8: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Benefits

● Small Focused Teams

● Use the Right Tool (language/db) for the Job

● Independent Updates

● Empower Developers

● Rapid Delivery Cycle

● Enforces Strong Design

Page 9: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Challenges

Page 10: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Challenges

● Increased Complexity

● Conceptualization/Visualization

● Immature Toolsets

● Culture Shock

● Lack of Experience/Knowledge

Page 11: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Evolving Practices

Page 12: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Evolving Practices

● Immutable Code Service Patterns

● Avoid Trunk Conflicts

● Respect Human Attention Span

● Break Things Deliberately

● No Manual Anything

● Create and Curate Access Libraries

Page 13: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Testing

Page 14: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Testing

● More Complexity in Integration Testing

○ Grows Factorially O(n!)

● "Integrated Tests Are A Scam" - J.B. Rainsberger

● Pacts

● Consistent Environment

Page 15: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Deployment and DevOps

Page 16: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Deployment and DevOps

● DevOps Culture is a Must

● Invert Conway’s Law

● Eliminate Process

● Two Pizza Team Rule

● Developers Carry Pager

Page 17: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

PaaS

Page 18: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

PaaS

● Cluster Management

● Failover Resilience

● Routing and Load Balancing

● Deployment Automation

● Consistent Environments

● Self-Service

Page 19: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

PaaS

● Scalable out of the Gate - autoscaling

● Rollback

● Versioning

● Polyglot out of the Box

● Monitoring / Logging

Page 20: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

PaaS

● Provisioning Databases, Message Queues, etc

● Injecting Service Location and Credentials

● Service Discovery

● Immutable Service Patterns

Page 21: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Related Blog Posts

activestate.com/blog

●Microservices and PaaS - Part I

○ Overview

●Microservices and PaaS - Part II

○ Evolving Practices

●Microservices and PaaS - Part III

○ Challenges

Page 22: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Upcoming Blog Posts

activestate.com/blog

●Microservices and PaaS - Part IV

○ PaaS

●Microservices Resources

○ Other blog posts, videos etc

Page 23: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Upcoming Events

Page 24: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

activestate.com/stackato | @activestate | #stackato | activestate.com/blog | Copyright 2014

Upcoming Events

Cloud Connect (Interop)October 1 - 2

iTech Conference 2014October 9

Cloud Expo (DevOps Summit)November 4 - 6

October 27 - 29IT Cloud Computing Conference

Page 25: Microservices Not Monoliths - Using PaaS to Enable a Microservices Architecture

Questions?

Learn morehttp://www.activestate.com/stackato


Top Related