microservices not monoliths - using paas to enable a microservices architecture

25
Microservic es not Monoliths Phil WhelanTechnology Evangelist @philwhln John Wetherill Technology Evangelist @bcferrycoder September 2014

Upload: activestate

Post on 24-Apr-2015

229 views

Category:

Technology


0 download

DESCRIPTION

Cloud computing requires a new approach to the application development process. Rapid software delivery is a critical factor for success--companies need to focus on streamlining and removing the friction. In order to meet the fast pace of innovation enabled by cloud computing, a microservices approach to application design has emerged. With a microservices architecture, the application is comprised of a number of small, independent composable services. Each microservice is focussed on an individual targeted business capability and has no effect on the other services, allowing each microservice toRegister for the Stackato Webinar: Microservices not Monoliths be deployed, scaled, and managed independently. This new approach is in contrast to the more traditional 3-tier architecture style of application development. Around for decades, this traditional approach required the entire application to be redeployed if any change was made to one of the tiers, and needed to be supported by a large product team. Join ActiveState Technology Evangelists, John Wetherill and Phil Whelan, as they discuss: What are microservices? Comparing microservices with traditional monolithic applications Benefits and pitfalls of adopting microservices Architecture practices and techniques essential for microservices adoption How the DevOps culture enables success Lessons learned by corporations who have adopted microservices The relationship between PaaS and microservices Stackato features that enable microservices http://www.activestate.com/webinars/using-paas-enable-microservices-architecture

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