polyglot Architecture
for rapid release
Friend or Foe?
RACHEL LAYCOCK
http://thoughtworks.com
@rachellaycock
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese an...
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the sprea...
once upon a
time..
Customer
Delivery team
Constant flow of new features into production
software always production-ready
releases tied to busi...
polyglot programming
Confusion
Evolutionary
Architecture
5 Principles of Evolutionary
Architecture
Postel’s Law
Last responsible moment
Architect and develop for evolvability
Conw...
Architect for
Evolvability &
Testability
1. Evolvability
Validation
Tests
Deploy & Test
Configuration Set
Unit &
Integration
Tests
Full
Application
Testing
Unit &
Integration
Test...
Data
Warehouse
Source
Control
Prod
Deploy
Agent Admin
Source
Control
Prod
Deploy
Sage CRM
Source
Control
Prod
Deploy
Offer...
2. Stability
3. Testability
service 1
service 2
pre-checkin
build&
package
unittest
integrationtest
commitartefactsbuild&package
unittest
deployintegr...
4. maintainability
5. Supportability
service 1
service 2
pre-checkin
build&
package
unittest
integrationtest
commitartefactsbuild&package
unittest
deployintegr...
context context context
"organizations which design systems ...
are constrained to produce designs which
are copies of the...
Architect for build, run and deploy
Thanks
RACHEL LAYCOCK
http://thoughtworks.com
@rachellaycock
of 22

Polygot Architecture for Rapid Release: Friend or Foe?

Video and slides synchronized, mp3 and slide download available at http://bit.ly/14UAvlN. Rachel Laycock discusses using a polyglot build and deployment infrastructure that makes life easier.Filmed at qconnewyork.com. Rachel Laycock works for ThoughtWorks as a Lead Consultant with 10 years of experience in systems development. She has worked on a wide range of technologies and the integration of many disparate systems. Since working at ThoughtWorks, Rachel has coached teams on Agile and Continuous Delivery technical practices and has played the role of coach, trainer, technical lead, architect, and developer.
Published on: Mar 4, 2016
Published in: Technology      
Source: www.slideshare.net


Transcripts - Polygot Architecture for Rapid Release: Friend or Foe?

  • 1. polyglot Architecture for rapid release Friend or Foe? RACHEL LAYCOCK http://thoughtworks.com @rachellaycock
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /polyglot-language-release
  • 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 4. once upon a time..
  • 5. Customer Delivery team Constant flow of new features into production software always production-ready releases tied to business needs, not operational constraints continuous delivery
  • 6. polyglot programming
  • 7. Confusion
  • 8. Evolutionary Architecture
  • 9. 5 Principles of Evolutionary Architecture Postel’s Law Last responsible moment Architect and develop for evolvability Conway’s Law Architect for testability
  • 10. Architect for Evolvability & Testability
  • 11. 1. Evolvability
  • 12. Validation Tests Deploy & Test Configuration Set Unit & Integration Tests Full Application Testing Unit & Integration Tests Unit & Integration Tests Component Packaging Deploy & Test App Deploy & Test Other stuff Test App Component Packaging Full Application Testing Unit & Integration Tests Unit & Integration Tests Unit & Integration Tests Deploy & Test App Deploy & Test App Deploy & Test App Test Scripts System Testing Full Systems Integration Testing Manual QA Performance Testing Signoff Live
  • 13. Data Warehouse Source Control Prod Deploy Agent Admin Source Control Prod Deploy Sage CRM Source Control Prod Deploy Offering Service Source Control Prod Deploy Package Package Package Package Pre-prod Pre-prod Pre-prod Pre-prod Micro-services Dependency management
  • 14. 2. Stability
  • 15. 3. Testability
  • 16. service 1 service 2 pre-checkin build& package unittest integrationtest commitartefactsbuild&package unittest deployintegrationtestpromote change
  • 17. 4. maintainability
  • 18. 5. Supportability
  • 19. service 1 service 2 pre-checkin build& package unittest integrationtest commitartefactsbuild&package unittest deployintegrationtest non-functional tests stagingtest releaseto production smoketest promote change publish artefacts Application 1 Application 2 Application n releaseto production smoketest stagingtest SIT non-functional tests build& package unittest Pipelines service 1 service 2 Application 1 Application 2 Application n Key Stage + start of parallel activity Synchronisation point for parallel activities Activity / Stage Manually triggered stage
  • 20. context context context "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations"
  • 21. Architect for build, run and deploy
  • 22. Thanks RACHEL LAYCOCK http://thoughtworks.com @rachellaycock

Related Documents