Combatting Antipatterns with PaaS John Wetherill November 8, 2012
Combatting Antipatterns with PaaS John Wetherill Developer / Evangelist
Agenda as a Service Convergence Antipatterns PaaS Stackato Q&A
Cloud Convergence DaaS SaaS PaaS IaaS EaaS MaaS HaaS CaaS LaaS CaaS EaaS JaaS
Cloud Convergence XaaS
Platform as as Service Foundation for Software Creation PaaS
process disaster recovery bus scm
disaster recovery scale performance methodology database bus scm flow CI code reviews testing blogs docs wikis security logging integration team i18n accessibility bug tracking backups HA
PaaS
PaaS
Decades of advances in software engineering and Best Practices Converging with PaaS
Every programming ecosystem has its own collection of best practices and antipatterns.
Antipattern tendency to fail Antipatterns Best Practices
Premature Optimization
Famous antipattern Old news: why here? Because: Overlooked: insidious
Scenario: 1. primary requirement: scale 2. architecture dictates use of message bus for communication of large and increasing numbers of simple json messages
Early step: Evaluate common messaging broker solutions: activemq rabbitmq tibco 0mq...
Result: +1 high performance messaging +1 increased understanding -1 2 person days
Enable with click of button: Databases (Relational/NoSQL) App containers Web servers Message brokers RabbitMQ
Invest architecture instrument / measure tools code practices test
Understand First then Optimize (Profile before Optimizing)
PaaS: Scale Early
Drive-by Process Change
AGILE!
Typical Process Change Process Research Approaches Evaluate/Select tools Build up infrastructure Install/configure software Document Scramble training
Process Change Costs rough road disgruntlement time sink team impedance mismatch
Mitigate with PaaS informed decisions bundled training comprehensive s/w choice integrated tool suites
But - who wants all data in cloud? Bugs Source Stories later
Antipattern: Silo Engineers
Why Silo? Specialized knowledge Legacy code Team structure and background Costly to share environment
Silo Costs Specialist overcommitted Attrition dangerous Less comfort with stack Less agile, flexible
PaaS Click a button for entire app Allows each team member full stack Encourage bug sharing Increased understanding
Antipattern: Enforce Language
Language Enforcement Likely choose wrong tool for job Less productive engineers Disgruntlement Less comfort with stack Less agile, flexible
PaaS Enables Polyglot Multiple languages Multiple frameworks Skeleton apps (think github)
Antipattern: Environment Mismatch
Antipattern: Environment Mismatch dev QA test demo sales customer!
Stackato Workflow After Before
Antipattern: Long Resource Delays
Costs Time Momentum Interruption Morale
PaaS Spin up entire stack in minutes No third party intervention No tickets
Antipattern: Logging Malpractices Distributed Performance Haphazard or no logging scheme Time drift
Hence: Log APIs and LaaS log4j etc Loggly Loggify Splunk Graylog2
LaaS -> PaaS PaaS integrates extensive logging Provides 3rd party tools out of the box App store provides starting point logging best practices
Use Integrated Logging to Scale
Antipattern: Minimal Product Understanding
But - who wants all data in cloud? Bugs Source Stories later
Private PaaS
Private PaaS Integrated services behind Firewall Data Security Privacy Control Data Ownership - for all of time
PRIVATE PAAS FOR THE ENTERPRISE MULTI-CHOICE END-TO-END PORTABLE
Deploy to any cloud
The Stackato Private PaaS Model
PolyGlot: Languages Java Ruby Python Perl JavaScript Clojure Scala Erlang Groovy Other JVM.NET / mono
PolyGlot: Frameworks Spring Ruby on Rails Django Sinatra Node + ecosystem Play!
Multi-Choice, End-to-End, Portable
The Stackato Architecture \
The Stackato Clients Spring Tool Suite Komodo IDE Web Console CLI Client \
Combat Antipatterns with PaaS Scale Early and Often Logs Instant and Consistent Environments PolyGlot Practices in a Box
Go here for more activestate.com/stackato
Thank you Try out the free Stackato 2.2 Micro Cloud: activestate.com/stackato Stackato, the movie: http://www.youtube.com/watch?v=n_akbjnovdu Twitter: @activestate, #stackato activestate.com/blog
Questions?