Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1DsPcuz.
Rachel Laycock focuses on the architecture of an application, addressing patterns such as microservices and evolutionary architecture, which can speed up delivery. Rachel also discusses how to tackle the dreaded ball-of-mud, that may be holding one back, without re-writing the entire architecture. Filmed at qconlondon.com.
Rachel Laycock works for ThoughtWorks as a Market Technical Principal with over 10 years of experience in systems development. She has worked on a wide range of technologies and the integration of many disparate systems.
Implementing Continuous Delivery: Adjusting Your Architecture
1. I m p l e m e n t i n g C o n t i n o u s D e l i v e r y
ADJUSTING YOUR
ARCHITECTURE
Rachel Laycock
@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
/cd-arch-patterns-ball-of-mud
3. Presented at QCon London
www.qconlondon.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.
5. continuous delivery
Our highest priority is to
satisfy the customer
through early and
continuous delivery of
valuable software
23. conway’s law
“organizations which design systems ... are
constrained to produce designs which are
copies of the communication structures of
these organizations”
—Melvin Conway
24. Melvin Conway: “Because the design that
occurs first is almost never the best
possible, the prevailing system concept may
need to change. Therefore, flexibility of
organisation is important to effective design.”
45. continuous delivery
Teams with low efferent
coupling deliver relatively
independently into a common
integration pipeline (without
fearing breaking each others
builds).
58. enter SOA
Explicit Boundaries
Shared Contract and Schema, not class
Policy Driven
Autonomous
http://www.infoq.com/articles/tilkov-10-soa-principles
60. What “Traditional” SOA Got Right
Breaking monoliths into services
Focus on integration over internal coupling
Prefer BASE to ACID
What “Traditional” SOA Missed
Architecture is abstract until operationalized.
Impact of Conway’s Law
The folly of trying to build “Uber” services (Customer)
Didn’t support easy change (ESB pattern)
62. fallacies of distributed computing
1.The network is reliable.
2.Latency is zero.
3.Bandwidth is infinite.
4.The network is secure.
5.Topology doesn't change.
6.There is one administrator.
7.Transport cost is zero.
8.The network is homogeneous.
71. Prefer Choreography to Orchestration
traditional SOA /
ESB pattern
Because Conway’s Law!
pack of
enterprise architects
72. Standardize on integration, not platform
…but don’t go crazy
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
Have one, two or maybe three
ways of integrating, not 20.
Sam Newman
Building
Microservices
DESIGNING FINE-GRAINED SYSTEMS
Pick some sensible conventions,
and stick with them.
77. return to the monolith?
Component
Library
Service
Libraries and Services are
two forms of component
Components are units of software
that can be independently
replaced and upgraded
Libraries run within a single
process, communicating
through language function
call mechanisms
Services run in separate processes,
communicating with networking
mechanisms such as HTTP or TCP/IP