Upload
anton-chernousov
View
386
Download
0
Tags:
Embed Size (px)
Citation preview
ComplexProbe — Sense — RespondEmergent Practice
Experimental input Failures or successes Decide what to do ie. amplify or dampen
ComplexProbe — Sense — RespondEmergent Practice
Experimental input Failures or successes Decide what to do ie. amplify or dampen
AgileScrum Kanban Getting Real XP
1986 Takeuchi и Nonaka «New Product Development Game»
1999 Kent Beck «Extreme Programming Explained»
1986 Takeuchi и Nonaka «New Product Development Game»
1999 Kent Beck «Extreme Programming Explained»
1999 Martin Fowler «Refactoring»
1986 Takeuchi и Nonaka «New Product Development Game»
1999 Kent Beck «Extreme Programming Explained»
1999 Martin Fowler «Refactoring»
2001 Kent Beck, Martin Fowler, … «Manifesto for Agile Software Development»
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Manifesto for Agile Software Development
Availability a guarantee that every request receives a response about whether it succeeded or failed
CAP theorem
Consistency all nodes see the same data at the same time
Partition tolerance the system continues to operate despite arbitrary partitioning due to network failures
C
A
P
Distributed databases Pessimistic locking Make minority partitions unavailable
CAP theorem
Cluster database 2-phase commit cache validating protocol
Web caching Expiration / leases conflict resolution / optimistic
two out of three
CA
CP
AP
ACID
Atomicity Consistency Isolation Durability
BASE
Basically Available Soft-state Eventually consistent
90’s Monolithic application Multitier, Client–server
00’s Service application ESB, SOA, XML
10’s Microservices REST, JSON
Design for failure Evolutionary Design Decentralized Data Management Infrastructure Automation
Microservices
Solaris Zone FreeBSD Jail OpenVZ KVM LXC
Resource Utilization
Virtualization
Software Deployment1 2
Docker LXC
VirtualizationSoftware Deployment
Application Server
jBoss GlassFish WebSphere WebLogic
Microservices
Spring boot Play Framework AWS
Monolithic application
Job & Responsibility
1
Software analyst Software developer System administrator
Monolithic application
Job & Responsibility
1Service
application
2
Software analyst Software developer System administrator
Software analyst Software developer
QA Engineer DevOps Engineer
Monolithic application
Job & Responsibility
1Service
application
2
Microservices
3
Software analyst Software developer System administrator
Software analyst Software developer
QA Engineer DevOps Engineer
Software analyst Software developer
Thank you for attentionAnton Chernousov
Newman S. Principles of microservices http://bit.ly/1FLOBoH , 20141
2 Lewis J., Fowler M. Microservices http://bit.ly/ljfmmicroservices , 2014
3 Osowski R. E. Microservices in action http://t.co/v59iwH3HLc , 2015
4 Browne J. Brewer's CAP Theorem http://bit.ly/jbcaptheorem , 2009