microservices or not to microservices - suse · microservices or not to microservices what does the...

42
Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist [email protected] Federica Teodori Project Manager Containers [email protected]

Upload: doquynh

Post on 05-May-2018

232 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

Microservices or not to MicroservicesWhat does the Chameleon say?

Cameron Seader

Technology Strategist

[email protected]

Federica Teodori

Project Manager Containers

[email protected]

Page 2: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

2

What is a Microservice?

Page 3: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

3

“Functional system decomposition into manageable and independently deployable components”

Page 4: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

4

What is a Microservice?

● Is that THE definition?

● Common characteristics: [*]● Componentization via Services● Organized around Business capabilities● Products, not Projects● Smart endpoints, dumb pipes● Decentralized Governance● Decentralized Data management● Infrastucture Automation● Design for failure● Evolutionary design

[*] http://martinfowler.com/articles/microservices.html

Page 5: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

5

Monoliths and Microservices

Page 6: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

6

Monolith

Page 7: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

7

Microservice

Page 8: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

8

Services as Components

Page 9: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

9

What's a component?

● A unit of software that is indipendently replaceable and upgradable● Why not libraries as components?● Minimize dependencies● Service == process ?

Page 10: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

10

“Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure”

Page 11: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

11

Page 12: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

12

Page 13: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

13

“you build it, you run it.”

Page 14: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

14

Project VS Products

● Owning the service fully, at all times● Support burden, or blessing?● Develop a relationship with end users

Page 15: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

15

Unix, the beginning of (almost) everything

Page 16: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

16

“Be of the web, not behind the web”

● Receive a request, apply logic as appropriate, produce a response.● Keep it simple!● Mind the noise

Page 17: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

17

GovernanceJust because you can do something,doesn’t mean you should

Page 18: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

18

Centralized

● Standardized Technology● Constricting

● Need the right tool

For the right job.

Page 19: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

19

Decentralized

● Split your monoliths up● C++, Node.js, Database, etc.● Reports, core processing

● Services give choice

and balance

Page 20: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

20

Enter “Open Source”

Page 21: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

21

Open Source

● Becoming common

for internal development

● Sharing of common

tools and code

Page 22: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

22

Open Source

● Amazon (You Build it / You Run it)

● Netflix – incentive to have quality code● Don’t want to fix things at 3am● Chaos Monkey, Simian Army

● Walmart (OneOps) – Cross compatability● Common point of entry for applications

● Give developers more responsibility● Run the systems they develop

Page 23: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

23

What about your data?

Page 24: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

24

Monolithic vs Microservices Approach

Page 25: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

25

Monolithic Data

● Maybe a single database● Components allow for flexibility

Page 26: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

26

Microservices Data

● Application Databases● Decentralized

● Transactions are challenging● Asynchronous vs synchronous

● Long term greater consistency

Page 27: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

27

CI/CD is your microservices foundation

Page 28: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

28

CI/CD Automation

Page 29: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

29

Who has time for all of that?

Page 30: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

Efficiency – Deployment OptionsCI/CD Automation

System Inspection “Machinery”

Various Output Format

Report

Your Project

KIWI

Develop.…...........Build.....................Test................Deploy

YaST / AutoYaST

Page 31: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

Ahhhhhh...

Page 32: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

32

CD: Lets make deployment boring

Page 33: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

33

CI/CD Automation

HerrererHerererer

Erereerereererere

HerrererHerererer

Erereerereererere

Page 34: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

34

What about service failures

Page 35: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

35

Service failures

● Netflix’s Simian Army● Induced failures

● Real Time monitoring● Service status, throughput, views per minute etc.

● Service Management● Start, restart, update, rollback, etc..

Page 36: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

36

Where do I start?

Page 37: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

37

Design it

● Change control● How to divide up the pieces, or slice up the application● Design from Monolith and then add on using microservices● Modular design through patterns of change● Components into services adds complexity for more granular

releases

Page 38: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

38

Is it the future?

Page 39: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

39

Page 40: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

40

SUSE and Friends

SUSE Manager

SUSE Studio

Kiwi

SUSE Linux Enterprise

SUSE OpenStack Cloud SUSE

Enterprise Storage

Machinery

Page 41: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori

41

So What Next...

Sessions: http://www.susecon.com/sessions.html

TUT89691 - DevOps From a DevOps Manager's Perspective

TUT89692 - DevOps and the Open Build Service

TUT91264 - Infrastructure-as-Code and CI Infrastructure at OpenStack

TUT91504 - DevOps: SUSE's Innovative tools driving your CI/CD future

BOV91679 - Migrating Deployment Processes and Continuous Integration at SAP SE to a Future-proof Design Using SLES12, Chef, GitHub, OBS and KIWI

TUT90009 - Tuning Your SUSE Linux Enterprise Server Virtualization Stack

http://developer.suse.com

http://packagehub.suse.com

http://build.opensuse.org

Page 42: Microservices or not to Microservices - SUSE · Microservices or not to Microservices What does the Chameleon say? Cameron Seader Technology Strategist cs@suse.com Federica Teodori