open source, infrastructure as code, cloud native apps 2015

Post on 13-Jan-2017

922 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1© Copyright 2015 EMC Corporation. All rights reserved.

OPEN SOURCE, INFRASTRUCTURE AS CODE AND CLOUD NATIVE APPSJONAS 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© Copyright 2015 EMC Corporation. All rights reserved.

Lots of projects!

5© Copyright 2015 EMC Corporation. All rights reserved.

github.com/emccode

6© Copyright 2015 EMC Corporation. All rights reserved.

dashboard.emccode.com

7© Copyright 2015 EMC Corporation. All rights reserved.

community.emccode.com

8

Why are we doing this?

9© Copyright 2015 EMC Corporation. All rights reserved.

10© Copyright 2015 EMC Corporation. All rights reserved.

Developers – The New Kingmakers

11

Let's start with

infrastructure as code

12

What do we define as infrastructure?

13

14

15

16

• 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?

17

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

shop

- Neal Ford

18

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

not hardware failure

19

Example - Knight Capital Group

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

20

• 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?

21

$440 million lossin 45 minutes

22

Not good

23

So

24

Treat your infrastructure as code

25

But how?

26

Just start, right now!• Vagrant• Packer• Terraform• Otto• Nomad

• Puppet• Chef• Ansible• SaltStack(^ amazing config mgmt)

27

node 'www2' {

class { 'apache': } # use apache module

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

port => '80',

docroot => '/var/www/html'

}

}

Simple example

28

user { root: ensure => present, password => '$ecretP@ssw0rd',}

Change root password

29

AWS exampleresource "aws_elb" "frontend" { name = "frontend-load-balancer" listener { instance_port = 8000 instance_protocol = "http" lb_port = 80 lb_protocol = "http" }

instances = ["${aws_instance.app.*.id}"]} resource "aws_instance" "app" { count = 5 ami = "ami-043a5034" instance_type = "m1.small"}

30

vSphere exampleresource "vsphere_virtual_machine" "default" { name = ”mysql-04" domain = ”corp.local" datacenter = "datacenter-1" cluster = "cluster-2" vcpu = 2 memory = 4096 disk { datastore = ”FLASH-DATASTORE-14" template = "centos-7.0-x86_64" iops = 5000 }

gateway = "192.168.0.254" network_interface { label = ”internal" ip_address = "192.168.0.74" subnet_mask = "255.255.255.0" }}

31

• Self documenting infrastructure• You now have source code for how everything in your

datacenter is setup• Executable documentation

Recap of the benefits

32

Alright

33

Then what?

34

Let’s look at thehistory of our apps

35

From 10 years ago

36

Or perhaps 2 days ago

37

Consider astandard monolithic

application

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

39

How do you scale it?

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

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

42

So what to do?

43

It’s not all about scale

44

But also aboutseparation of concern

45

Microservices

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

47

Everything isloosely coupled

48

Enables parts to be fixed, updated and worked on…

49

Independently!

50

Let’s look at an example

51

57

Our apps are becomingCloud Native

58

Cloud Native Architectures• Broad set of

components working together• Prescriptive software

stacks• Functions in mixed cloud

environments• Built on microservices

https://pivotal.io/platform/migrating-to-cloud-native-application-architectures-ebook

59

Cloud Native Computing Foundation

60

Cloud Native Platforms – Cloud Foundry

61

Take this questionwith you…

62

How long would it take your organization to deploy a change

that involves just one single line of code?

- Mary Poppendieck

63

Questions?Jonas Rosland

Developer Advocate @ EMC {code}@jonasrosland

top related