104
1 © Copyright 2015 EMC Corporation. All rights reserved. HOW CAN MODERN APPLICATIONS DRIVE ORGANIZATIONAL EFFICIENCY? JONAS ROSLAND, DEVELOPER ADVOCATE @EMCCODE 1 © Copyright 2015 EMC Corporation. All rights reserved.

DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational efficiency

Embed Size (px)

Citation preview

1© Copyright 2015 EMC Corporation. All rights reserved.

HOW CAN MODERN APPLICATIONS DRIVE ORGANIZATIONAL EFFICIENCY?JONAS ROSLAND, DEVELOPER ADVOCATE @EMCCODE

1© Copyright 2015 EMC Corporation. All rights reserved.

22© Copyright 2015 EMC Corporation. All rights reserved.

Jonas RoslandDeveloper AdvocateEMC {code}

@jonasrosland

Loves travelingand retro gamingTalks a lot

3© Copyright 2015 EMC Corporation. All rights reserved.

4

This is not a tech talk

5

This is an organizational change talk

6

But to make those organizational changes…

7

You need to embrace modern technologies

8

Just like when we move to better engines, phones, etc

9

Let’s look at thehistory of our apps

10

From 10 years ago

11

Or perhaps 2 days ago

12

Consider astandard monolithic

application

13

http://cantina.co/monolithic-architecture-doesnt-scale/

14

How do you scale it?

15

http://cantina.co/monolithic-architecture-doesnt-scale/

16

http://cantina.co/monolithic-architecture-doesnt-scale/

17

So what to do?

18

It’s not all about scale

19

But also aboutseparation of concern

20

Microservices

21

http://cantina.co/monolithic-architecture-doesnt-scale/

22

Everything isloosely coupled

23

Enables parts to be fixed, updated and worked on…

24

Independently!

25

Traditional apps will not

• Drive your organization forward

• Allow you to innovate quickly

• Enable your staff to develop new skills with modern tools

26

So what?

27

Some might say…

28

We're just anIT organization,

not the line of business

29

We're just anIT organization,

not the line of business

30

You're the machinery, the glue, the conduit

31

You make things work

32

You help drive thebusiness forward

33

How about making your business more profitable?

34

But first…

35

Let’s talk about some real pain points in your orgs

36

You can't wait 6 monthsfor a feature/upgrade/

bug fix/etc

37

Solve configurationdrift issues quickly

38

Know what’s wrong, where and why. Not who!

39

Last and most importantly, improve team communication

and collaboration

40

Let’s have a look at somepopular languages/frameworks

41

Python 2.7

JRE 8

NodeJS 0.12.2

Haskell 7.8.4

Go 1.4.2

Rust 1.0.0-beta.3

Ruby on Rails 4.2

42

Will they solve your 6 month cycle? Your config drift? Your errors?

43

Most probably not

44

How long would it take your organization to deploy a change

that involves just one single line of code?

- Mary Poppendieck

45

Manually configured environments are like a house of cards in a china

shop

- Neal Ford

46

Up to 60% of failures are caused by human error,

not hardware failure

47

Example - Knight Capital Group

https://infocus.emc.com/wp-content/uploads/2012/08/KCG.jpg

48

• Manual deployment of new trading software

• 7 of 8 servers correctly updated

• Old function still alive on the 8th server led to…

Knight Capital Group - What happened?

49

$440 million lossin 45 minutes

50

Not good

60

Introduce the following mentality to mitigate inefficient processes

61

http://46zwyrvli634e39iq2l9mv8g.wpengine.netdna-cdn.com/wp-content/uploads/2013/06/DevOps-infinity-loop2.png

62

What is DevOps?

63

A collaborative culture/philosophy between technical teams

64

Unified processes and tools for faster end-to-end delivery of quality

software

65

It’s all about removing nonvalue-adding waste

66

Make the timeline from customer order to cash in your bank as

short as possible

67

DevOps practices and IT performance impact

organizational performance

https://puppetlabs.com/2015-devops-report

68

Not only do you get faster and more successful deployments

69

You’re also more likely to exceed profitability goals and increase

your market capitalization

72

Wait a minute…

73

You get all that from modernizing your apps?

74

Of course not, you can't buy efficiency

75

But modernizing your apps enables you to make smarter choices and

change your processes

76

Modernized apps will

• Give your teams smaller focus areas

• Enable your teams to innovate faster

• Let you practice Kaizen

77

The word Kaizen is Japaneseand means

Continuous Improvement

78

So should youreally do this?

79

80

81

Questions?

Jonas Rosland

Developer Advocate @ EMC {code}

@jonasrosland

83

Backup slides

84

Let's start with

infrastructure as code

85

What do we define as infrastructure?

86

87

88

89

• Deploy, monitor and connect together all the pieces needed to run services for the organization

• Processes and tools for faster end-to-end delivery of quality services

• Automation comes built-in

Why define infrastructure as code?

90

• Desired state specified in text files

• Autonomic (self-corrects to desired state)

• State should be known through monitoring

• Remove snowflake servers

How do we do this?

91

• Easy to read and edit

• Shareable

• Can use standard version control like Git or SVN

• Becomes executable documentation

Why store them in text files?

92

node 'www2' {

class { 'apache': } # use apache module

apache::vhost { 'awesomewebsite.com': # define vhost

port => '80',

docroot => '/var/www/html'

}

}

Simple example

93

user { root:

ensure => present,

password => '$ecretP@ssw0rd',

}

Change root password

94

Manually configured environments are like a house of cards in a china

shop

- Neal Ford

95

• Deploying, provisioning and scaling automatically is virtually impossible if every server is unique

• Adds friction between the requestor and the deployer

• Mistakes happen

• We're all human

Snowflake servers

96

What can happen if you don't treat infrastructure as code?

97

Up to 60% of failures are caused by human error,

not hardware failure

98

Example - Knight Capital Group

https://infocus.emc.com/wp-content/uploads/2012/08/KCG.jpg

99

• Manual deployment of new trading software

• 7 of 8 servers correctly updated

• Old function still alive on the 8th server led to…

Knight Capital Group - What happened?

100

$440 million lossin 45 minutes

101

So

102

Treat your infrastructure as code

103

• Self documenting infrastructure

• You now have source code for how anything in your datacenter is setup

• Executable documentation

Recap of the benefits

104

Alright

105

Then what?

106

How aboutautomating some more?

107

• Jenkins CI

• Travis CI

• Codeship

• CloudFoundry

• OpenShift

Deployment automation

108

• Docker

• Framework for application container management

• HUGE community

Containers

109

• Splunk

• Loggly

• LogInsight

• ELK Stack– ElasticSearch– LogStash– Kibana

Log management

110

• vCenter Operations

• New Relic

• AppDynamics

• DataDog

Performance management

111

• Nagios

• Sensu

• VictorOps

• PagerDuty

Monitoring

112

• Slack

• HipChat

• Trello

• Asana

Communication

113

• Github

• Quip

Collaboration

114

• And by smartly we mean cooperatively between Devs and Ops

• Will help operators understand what's running and happening in the infrastructure

• Will give developers insight into the underlying infrastructure and the way it behaves under load

Use these tools smartly

115

• Start talking about it

• Choose low-hanging fruit

• Learn, make wrong decisions, learn again

• Involve the broader team– Give books, presentations, blog posts etc.

So how do we get started?