nordic ace director tour 2015 - provisioning fusion middleware using chef, puppet and docker

32
Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | Using Puppet, Chef and Docker Nordic ACE Director Tour 2015 Ronald van Luttikhuizen Managing partner @ eProseed NL September 2015 PROVISIONING FUSION MIDDLEWARE

Upload: ronald-van-luttikhuizen

Post on 15-Apr-2017

522 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

Using Puppet, Chef and Docker

Nordic ACE Director Tour 2015 Ronald van Luttikhuizen Managing partner @ eProseed NL September 2015

PROVISIONING FUSION MIDDLEWARE

Page 2: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

INTRODUCTION

• About me – Managing partner at eProseed

– Oracle Ace Director, working with Oracle tooling since 1998

– Author of SOA Made Simple

– Experience with Oracle SOA Suite since version 10g

• About eProseed – HQ in Luxemburg

– Local offices in several parts of the world

– Award winning Oracle partner

– eProseed Cloud, eProseed Deployer

2

Page 3: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 3

Demo | start

Server provisioning

Puppet

Chef

Docker

Demo | result

AGENDA

3

4

5

2

1

6

Page 4: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 4

DEMO | START

WLS Admin Server

WLS Cluster - OSB

WLS Cluster - SOA

Database (SOAINFRA)

• Provisioning of complete Oracle SOA Suite stack

– SOA Cluster

– OSB Cluster

– BAM Cluster

– RCU

• Approx. 20 minutes

• Inspection of the environment and explanation at the end of this session

WLS Cluster - BAM

Page 5: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 5

Demo | start

Server provisioning

Puppet

Chef

Docker

Demo | result

AGENDA

3

4

5

2

1

6

Page 6: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 6

PROVISIONING STRATEGIES

Appliance

Do-It-Yourself

Cloud

Mix

Page 7: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 7

SERVER PROVISONING | DELIVERY

• Automated installations and rollbacks • Inject environment variables, smoke-testing

• Automated builds, tests, and packaging from version control

• Central archiving in repository or artifactory

• Automated provisioning of middleware • High frequency of changes to servers (e.g. patches)

• Automated provisioning of OS-ready images or containers • Low frequency of changes to base images

Machine/Container

Provisioning

Server & Middleware

Provisioning

Application Building &

Packaging

Application Deployment

Page 8: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 8

SERVER PROVISONING | EVOLUTION

Artisan Server Crafting

Custom & Non-portable

Scripts

Automated & Standard CM

Tools

Immutable Servers & Unikernels

VMs, Chef, Puppet, etc.

Docker

Manual Installation, Documents

Shell scripts

Page 9: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

• Artisan server crafting

– Boring

– Stressful

– Error-prone

– Time-consuming

– Non-scalable & expensive

• Too little time for things that matter

SERVER PROVISONING | THE TRADITIONAL WAY

9

Page 10: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

WLS, OSB, SOA

Suite Database Server

Operating System

WebLogic

OSB

SOA Suite

Domain creation

Initial Domain setup

Operating system

Database software

Database creation

SOA Suite Repository

40

337 Total actions

13

8

10

10

40

40

30

5

8

YUM + Packages / JVM / Ulimits / Kernel / User / Group / Directories

WebLogic / BSU / NodeManager

OSB / OPatch

SOA Suite / OPatch

Create Domain

Logs / Security / JMS / WebApps / DataSources / Resource Adapters

Source: Roll Out a Complete Oracle Fusion Middleware Env in Less than 10min by Edwin Biemond

Page 11: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

SERVER PROVISIONING | HOW IT CAN BE

• Automated configuration management

– Describe a system once, apply as often as you want

– Automate the repetitive, focus on improvements and “real” problems

– Predictable results

– Fast provisioning

– Keep servers in sync

• Puppet and Chef are examples of tools for automated configuration management

11

Page 12: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

SERVER PROVISIONING | INFRASTRUCTURE AS CODE

• Advantages

– Configuration is documentation and always up-to-date

– Configuration is version controlled

– Configurations are defined in a machine- and OS-independent domain language so the manifests are portable and can be reused (trade-off)

– Change and test configuration, not the server, and re-apply

12

Page 13: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 13

Demo | start

Server provisioning

Puppet

Chef

Docker

Demo | result

AGENDA

4

5

1

6

2

3

Page 14: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

PUPPET EXAMPLE | APACHE HTTP SERVER

package { "httpd":

name => "httpd.x86_64",

ensure => "present",

}

file { "http.conf":

path => "/etc/httpd/conf/httpd.conf",

owner => root,

group => root,

mode => 0644,

source => "puppet:///modules/apache/httpd.conf",

require => Package["httpd"],

}

service { "httpd":

ensure => running,

enable => true,

subscribe => File["http.conf"],

}

• Manifests

• Resources

– Name

– Attributes and values

• Ordering and dependencies

14

Page 15: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MORE ON PUPPET | BUILDING BLOCKS

• Variables and (custom) facts

• Node declarations

• Classes and Modules

• Defined resource types

• Templates

• Puppet Forge

if $operatingsystem == 'CentOS'

node 'www1.example.com' {

include common

include ohs

}

node 'db1.example.com' {

include common

include oraclexe

}

file { "http.conf":

path => "/etc/httpd/conf/httpd.conf",

owner => 'root',

group => 'root',

mode => '0644',

content => template('config/httpd.erb'),

}

15

Page 16: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MORE ON PUPPET | ARCHITECTURE & RUNTIME

versus

16

Page 17: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MORE ON PUPPET | CONSOLE

17

Page 18: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

WANT TO KNOW MORE ABOUT PUPPET …

18

Page 19: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 19

Demo | start

Server provisioning

Puppet

Chef

Docker

Demo | result

AGENDA

5

1

6

2

3

4

Page 20: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

CHEF | ARCHITECTURE

Central Chef Server

Multiple Administrators

Repository

Page 21: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

CHEF | TERMINOLOGY

– Node, Server, Workstation

– Chef-client asks Chef-server about the policy for the node

– Resources: a component and the desired state

– Recipes: describe resources and desired state

– Cookbooks: sets of recipes grouped together, also includes templates and source files, etc.

– Run List: recipes from cookbooks you want to run

– LWRP: custom actions

21

Page 22: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

CHEF | EXAMPLE RECIPE

• paca

Policy says package

should be installed

This service should be enabled

on reboot, and must be running

Template specifies the contents

required

Source: Chef Fundamentals Webinar 1 #LEARNCHEF

22

Page 23: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

CHEF MANAGEMENT CONSOLE

23

Page 24: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

MORE ABOUT CHEF

24

Page 25: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 25

Demo | start

Server provisioning

Puppet

Chef

Docker

Demo | result

AGENDA

3

4

5

2

1

6

Page 26: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

DOCKER | INTRODUCTION

Docker allows you to create reusable “containers” with applications in them. These containers can be distributed and will run on several platforms.

• Container, not VMs and Hypervisor

• Linux-only

• Layering

• Provisioning speed, performance, smaller image size

• Dockerfile, Image, Container, Registry (build/ship/run)

• Maturity and security

26

Page 27: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

DOCKER

• Docker and CM tools

– Modify nodes versus wipe/create new nodes

– Abstraction and learning-curve

– Support for complex configurations

• Docker versus or together with CM tools?

– CM tool to provision Docker host and perform more complex provisioning inside Docker container

– Docker to create, distribute and run containers

– Docker to easily layer images (e.g. for demo’s)

• Oracle and Docker

– (Limited) support for Docker on Oracle Linux, WebLogic certified to run in Docker container

– Dockerfiles and Docker images (Oracle Linux, WebLogic)

27

Page 28: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

TAKE-AWAYS | GENERAL

• Automate delivery

• Fundamental, not a value-add anymore

• Holistic approach on software delivery

• Not just technology, people and process as well

• Incremental approach

• No single tool that does it all

28

Do you need and want to do it yourselves?

Page 29: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 29

Demo | start

Server provisioning

Puppet

Chef

Docker

Demo | result

AGENDA

3

4

5

2

1

6

Page 30: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. | 30

DEMO | RESULT

WLS Admin Server

WLS Cluster - OSB

WLS Cluster - SOA

Database (SOAINFRA)

Vagrant

• Create and spin up VM’s

• Trigger Puppet run

Puppet

• Required packages

• Kernel params, users, entropy, etc.

• DB, JDK, WLS, SOA Suite, Service Bus

• RCU

• NodeManager and Domain configuration

• Patches

• Deployment of test composite Source: https://github.com/biemond/biemond-orawls

WLS Cluster - BAM

Page 31: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker
Page 32: Nordic ACE Director Tour 2015 - Provisioning Fusion Middleware using Chef, Puppet and Docker

Copyright © 2014, eProseed and/or its affiliates. All rights reserved. |

TAKE-AWAYS | CHEF VS PUPPET

• Style guides & coding standards

• Open-Source versus Enterprise

• Hosting

• Support for OS & Platforms

• Plug-ins & Tools

• Pricing model

• Language

32