dreamforce 2015 microservices

24
10.20.2005 On Composability, Adaptability, and Disposability: Microservices, Cattle and Pets Dreamforce 2015, SF

Upload: james-governor

Post on 13-Apr-2017

860 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Dreamforce 2015 microservices

10.20.2005

On Composability, Adaptability, and Disposability: Microservices, Cattle and Pets

Dreamforce 2015, SF

Page 2: Dreamforce 2015 microservices

2

Page 3: Dreamforce 2015 microservices

3

The End of Feature vs Product

Page 4: Dreamforce 2015 microservices

4

The Rise of Micro-services

“The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.”

Martin Fowler, Thoughtworks, March 2014

Page 5: Dreamforce 2015 microservices

5

Page 6: Dreamforce 2015 microservices

6

Cattle vs Pets

Page 7: Dreamforce 2015 microservices

7

Microservices in Nature

Page 8: Dreamforce 2015 microservices

8

What about the Prize Bull?

Page 9: Dreamforce 2015 microservices

9

There are Many Copies

Page 10: Dreamforce 2015 microservices

10

Apps Are Like Fish, Data is Like Wine

Page 11: Dreamforce 2015 microservices

11

Many Tools – the Rise of Polyglot

Page 12: Dreamforce 2015 microservices

12

Language Rankings

Page 13: Dreamforce 2015 microservices

13

1990s: farming

Page 14: Dreamforce 2015 microservices

14

2002+: foraging

Page 15: Dreamforce 2015 microservices

15

Search-First Development

Page 16: Dreamforce 2015 microservices

16

Borrow from Web Companies

Page 17: Dreamforce 2015 microservices

17

µServices as a Cultural ChangeAmazon CEO Jeff Bezos mandate, from Steve Yegge post on Google+

1) All teams will henceforth expose their data and functionality through service interfaces.

2) Teams must communicate with each other through these interfaces.

3) There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model. The only communication allowed is via service interface calls over the network.

4) It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter. Bezos doesn’t care.

5) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.

6) Anyone who doesn’t do this will be fired.

Page 18: Dreamforce 2015 microservices

18

Conways Law

"Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure."

Page 19: Dreamforce 2015 microservices

19

µServices Issues

The Perils of Success -unexpected, dramatic load spikes. Noisy

Neighbors

Retrofitting security for servicesnot born on the web

Born on the Web development tools and methodstaking advantage of agile, DevOps, NoSQL

Organisational Change

Distributed Systems are hard – CAP

Page 20: Dreamforce 2015 microservices

20

Page 21: Dreamforce 2015 microservices

21

Page 22: Dreamforce 2015 microservices

22

Then Martin Said

“don't even consider microservices unless you have a system that's too complex to manage as a monolith.” Martin Fowler, Thoughtworks

Page 23: Dreamforce 2015 microservices

23

Wrap UpThe World is Changing Really Fast – development and deployment needs to change with it.

SOA still has a huge role to play – the Amazon lesson.

Conways Law Applies

Messaging-based integration styles have won.

Shift testing left

Develop all services as if they will be exposed to the cloud

same as you should develop all code so it could be open sourced

Focus on drawbridges not moats

Microservices as a forcing function for better security

SecOps is now a thing

SOA as a style to manage internal and External access to resources

Page 24: Dreamforce 2015 microservices

10.20.2005

Bottlenecks