SlideShare uma empresa Scribd logo
1 de 102
What Big Data Folks Need
   to Know About DevOps
Speaker:

Matt Ray Technical Evangelist
  ‣ matt@opscode.com
  ‣ @mattray
                    Copyright © 2011 Opscode, Inc - All Rights Reserved   1
Copyright © 2011 Opscode, Inc - All Rights Reserved
http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/   2
Developer, SysAdmin, Hacker,
Community Manager




                  Copyright © 2011 Opscode, Inc - All Rights Reserved
         http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/   2
Developer, SysAdmin, Hacker,
Community Manager
Many biz & dev environments




                  Copyright © 2011 Opscode, Inc - All Rights Reserved
         http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/   2
Developer, SysAdmin, Hacker,
Community Manager
Many biz & dev environments
Opscode: Training, Services &
Evangelism


                  Copyright © 2011 Opscode, Inc - All Rights Reserved
         http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/   2
http://www.flickr.com/photos/timyates/2854357446/sizes/l/

Copyright © 2011 Opscode, Inc - All Rights Reserved                                                              3
Developers?




                                                               http://www.flickr.com/photos/timyates/2854357446/sizes/l/

         Copyright © 2011 Opscode, Inc - All Rights Reserved                                                              3
Developers?
Systems Administrators?




                                                                http://www.flickr.com/photos/timyates/2854357446/sizes/l/

          Copyright © 2011 Opscode, Inc - All Rights Reserved                                                              3
Developers?
Systems Administrators?
“BigData” Hacker?



                                                                http://www.flickr.com/photos/timyates/2854357446/sizes/l/

          Copyright © 2011 Opscode, Inc - All Rights Reserved                                                              3
Developers?
Systems Administrators?
“BigData” Hacker?
“Business” People?


                                                                http://www.flickr.com/photos/timyates/2854357446/sizes/l/

          Copyright © 2011 Opscode, Inc - All Rights Reserved                                                              3
DevOps



 Copyright © 2011 Opscode, Inc - All Rights Reserved   4
DevOps
tools + culture


     Copyright © 2011 Opscode, Inc - All Rights Reserved   5
Culture



 Copyright © 2011 Opscode, Inc - All Rights Reserved   6
Trust



Copyright © 2011 Opscode, Inc - All Rights Reserved   7
Trust
(but verify)


   Copyright © 2011 Opscode, Inc - All Rights Reserved   8
Automation



  Copyright © 2011 Opscode, Inc - All Rights Reserved   9
Infrastructure as
      Code


      Copyright © 2011 Opscode, Inc - All Rights Reserved   10
Copyright © 2011 Opscode, Inc - All Rights Reserved   11
Chef is an API for
your Infrastructure


       Copyright © 2011 Opscode, Inc - All Rights Reserved   12
Principles




             Copyright © 2011 Opscode, Inc - All Rights Reserved   13
Principles
Idempotent




             Copyright © 2011 Opscode, Inc - All Rights Reserved   13
Principles
Idempotent
Data-driven




              Copyright © 2011 Opscode, Inc - All Rights Reserved   13
Principles
Idempotent
Data-driven
Sane defaults




             Copyright © 2011 Opscode, Inc - All Rights Reserved   13
Principles
Idempotent
Data-driven
Sane defaults
Hackability




             Copyright © 2011 Opscode, Inc - All Rights Reserved   13
Principles
Idempotent
Data-driven
Sane defaults
Hackability
TMTOWTDI



             Copyright © 2011 Opscode, Inc - All Rights Reserved   13
Multiple applications of
 an operation do not
  change the result


         Copyright © 2011 Opscode, Inc - All Rights Reserved   14
We start with APIs, you
     supply data


        Copyright © 2011 Opscode, Inc - All Rights Reserved   15
option :json_attribs,
  :short => "-j JSON_ATTRIBS",
  :long => "--json-attributes JSON_ATTRIBS",
  :description => "Load attributes from a JSON file or
URL",
  :proc => nil

 option :node_name,
  :short => "-N NODE_NAME",
  :long => "--node-name NODE_NAME",
  :description => "The node name for this client",
   Defaults are sane, but
  :proc => nil


      easily changed
                      Copyright © 2011 Opscode, Inc - All Rights Reserved   16
Open source and
  community


     Copyright © 2011 Opscode, Inc - All Rights Reserved   17
Copyright © 2011 Opscode, Inc - All Rights Reserved   18
TMTOWTDI



  Copyright © 2011 Opscode, Inc - All Rights Reserved   19
Copyright © 2011 Opscode, Inc - All Rights Reserved                            20
http://www.brooklynstreetart.com/theBlog/wp-content/uploads/2008/12/swedish_chef_bork-sleeper-cell.jpg
Chef Client runs on your
        systems


         Copyright © 2011 Opscode, Inc - All Rights Reserved   21
Clients talk to a Chef
       Server


        Copyright © 2011 Opscode, Inc - All Rights Reserved   22
RESTful API w/ JSON
    responses


       Copyright © 2011 Opscode, Inc - All Rights Reserved   23
Opscode Platform
the central, highly scalable, multi-tenant
 configuration service from Opscode...
         a hosted Chef Server



               Copyright © 2010 Opscode, Inc. – Confidential – Do Not Redistribute   24
We call each system
you configure a Node
       Copyright © 2011 Opscode, Inc - All Rights Reserved   http://www.flickr.com/photos/peterrosbjerg/3913766224/   25
Nodes have Attributes
{
    "kernel": {
                                                    Kernel info!
      "machine": "x86_64",
      "name": "Darwin",
      "os": "Darwin",
      "version": "Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386",
      "release": "10.4.0"
    },
    "platform_version": "10.6.4",
    "platform": "mac_os_x",
    "platform_build": "10F569",
    "domain": "local",                                                                    Platform info!
    "os": "darwin",
    "current_user": "jtimberman",
    "ohai_time": 1278602661.60043,
    "os_version": "10.4.0",
    "uptime": "18 days 17 hours 49 minutes 18 seconds",
    "ipaddress": "10.13.37.116",
    "hostname": "cider",
    "fqdn": "cider.local",
    "uptime_seconds": 1619358
                                                                                             Hostname and IP!
}




                                              Copyright © 2011 Opscode, Inc - All Rights Reserved                  26
Nodes have a Run List
What Roles or Recipes to apply
          in Order


           Copyright © 2011 Opscode, Inc - All Rights Reserved   27
Nodes have Roles


     Copyright © 2011 Opscode, Inc - All Rights Reserved   http://www.flickr.com/photos/laenulfean/374398044/   28
Roles have a Run List


What Roles or Recipes to apply
          in Order

           Copyright © 2011 Opscode, Inc - All Rights Reserved   29
remote_file
                                            link
cookbook_file
                                                                             service
                ruby_block
template
                                                                               execute

   Chef manages
 Resources on Nodes
package        bash                                                    git         log
           deploy
 user                                                                  http_request
                 Copyright © 2011 Opscode, Inc - All Rights Reserved                      30
Resources...
Declare a description of the state a part of the node should be in




                                                      http://www.flickr.com/photos/xiaming/382205902/sizes/l/
Resources...
Declare a description of the state a part of the node should be in


                          package "apache2" do
                           version "2.2.11-2ubuntu2.6"
                           action :install
                          end

                          template "/etc/apache2/apache2.conf" do
                           source "apache2.conf.erb"
                           owner "root"
                           group "root"
                           mode 0644
                           action :create
                          end




                                                      http://www.flickr.com/photos/xiaming/382205902/sizes/l/
Resources...
   Declare a description of the state a part of the node should be in


‣ Have a type                package "apache2" do
                              version "2.2.11-2ubuntu2.6"
                              action :install
                             end

                             template "/etc/apache2/apache2.conf" do
                              source "apache2.conf.erb"
                              owner "root"
                              group "root"
                              mode 0644
                              action :create
                             end




                                                         http://www.flickr.com/photos/xiaming/382205902/sizes/l/
Resources...
   Declare a description of the state a part of the node should be in


‣ Have a type                package "apache2" do
                              version "2.2.11-2ubuntu2.6"
                              action :install
‣ Have a name                end

                             template "/etc/apache2/apache2.conf" do
                              source "apache2.conf.erb"
                              owner "root"
                              group "root"
                              mode 0644
                              action :create
                             end




                                                         http://www.flickr.com/photos/xiaming/382205902/sizes/l/
Resources...
   Declare a description of the state a part of the node should be in


‣ Have a type                package "apache2" do
                              version "2.2.11-2ubuntu2.6"
                              action :install
‣ Have a name                end

                             template "/etc/apache2/apache2.conf" do
‣ Have parameters             source "apache2.conf.erb"
                              owner "root"
                              group "root"
                              mode 0644
                              action :create
                             end




                                                         http://www.flickr.com/photos/xiaming/382205902/sizes/l/
Resources...
    Declare a description of the state a part of the node should be in


‣ Have a type                 package "apache2" do
                               version "2.2.11-2ubuntu2.6"
                               action :install
‣ Have a name                 end

                              template "/etc/apache2/apache2.conf" do
‣ Have parameters              source "apache2.conf.erb"
                               owner "root"
‣ Take action to put the       group "root"
                               mode 0644
  resource in the              action :create
  declared state              end




                                                          http://www.flickr.com/photos/xiaming/382205902/sizes/l/
Resources take action
  through Providers


       Copyright © 2011 Opscode, Inc - All Rights Reserved   32
Providers...
Know how to actually perform the actions specified by a resource.




                                                      http://www.flickr.com/photos/affableslinky/562950216/
Providers...
Know how to actually perform the actions specified by a resource.




                                     Apt, Yum, Rubygems,
Multiple providers
                                      Portage, Macports,
per resource type.
                                      FreeBSD Ports, etc.




                                                      http://www.flickr.com/photos/affableslinky/562950216/
http://www.flickr.com/photos/acurbelo/2628837104/sizes/o/
Resources




 http://www.flickr.com/photos/acurbelo/2628837104/sizes/o/
Resources

Platform



 http://www.flickr.com/photos/acurbelo/2628837104/sizes/o/
Resources

Platform

Provider
 http://www.flickr.com/photos/acurbelo/2628837104/sizes/o/
Recipes are lists of
   Resources


      http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
           Copyright © 2011 Opscode, Inc - All Rights Reserved           35
Recipes...
Apply resources in the order they are specified




           http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
Recipes...
Apply resources in the order they are specified


                        package "apache2" do
                         version "2.2.11-2ubuntu2.6"
                         action :install
                        end

                        template "/etc/apache2/apache2.conf" do
                         source "apache2.conf.erb"
                         owner "root"
                         group "root"
                         mode 0644
                         action :create
                        end




           http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
Recipes...
              Apply resources in the order they are specified


                                      package "apache2" do
                                       version "2.2.11-2ubuntu2.6"
                                       action :install
                                                                                            1
‣ Evaluates resources in
                                      end
  the order they appear
                                      template "/etc/apache2/apache2.conf" do
                                       source "apache2.conf.erb"
                                       owner "root"
                                       group "root"
                                       mode 0644
                                       action :create
                                                                                            2
                                      end




                         http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
Recipes...
              Apply resources in the order they are specified




‣ Evaluates resources in
                                      [
  the order they appear                   "package[apache2]",
                                          "template[/etc/apache2/apache2.conf]"
‣ Adds each resource to               ]
  the Resource
  Collection




                         http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
Order Matters



    Copyright © 2011 Opscode, Inc - All Rights Reserved   37
Order Matters

http://www.infrastructures.org/papers/turing/turing.html



                     Copyright © 2011 Opscode, Inc - All Rights Reserved   37
Cookbooks are
packages for Recipes


       Copyright © 2011 Opscode, Inc - All Rights Reserved   38
Common Cookbook Components




          Copyright © 2011 Opscode, Inc - All Rights Reserved   39
Common Cookbook Components
recipes/
 default.rb




              Copyright © 2011 Opscode, Inc - All Rights Reserved   39
Common Cookbook Components
recipes/
 default.rb

files/




              Copyright © 2011 Opscode, Inc - All Rights Reserved   39
Common Cookbook Components
recipes/
 default.rb

files/
templates/




              Copyright © 2011 Opscode, Inc - All Rights Reserved   39
Common Cookbook Components
recipes/
 default.rb

files/
templates/
attributes/
 default.rb




              Copyright © 2011 Opscode, Inc - All Rights Reserved   39
Common Cookbook Components
recipes/
 default.rb

files/
templates/
attributes/
 default.rb

metadata.rb

              Copyright © 2011 Opscode, Inc - All Rights Reserved   39
Cookbooks are
  shareable!




 cookbooks.opscode.com
      Copyright © 2011 Opscode, Inc - All Rights Reserved   40
Data bags store
 arbitrary data


    Copyright © 2011 Opscode, Inc - All Rights Reserved   41
A user data bag item...
% knife data bag show users jtimberman
{
  "comment": "Joshua Timberman",
  "groups": "sysadmin",
  "ssh_keys": "ssh-rsa SUPERSEKRATS jtimberman@cider",
  "files": {
    ".zshrc": {
      "mode": "0644",
      "source": "dot-zshrc"
    },
    ".vimrc": {
      "mode": "0644",
      "source": "dot-vimrc"
    }
  },
  "id": "jtimberman",
  "uid": 7004,
  "shell": "/usr/bin/zsh",
  "openid": "http://jtimberman.myopenid.com/"
}



                       Copyright © 2011 Opscode, Inc - All Rights Reserved
Data bags make recipes
  awesome-r (that’s
     totally a word)


        Copyright © 2011 Opscode, Inc - All Rights Reserved   43
sysadmins = search(:users, 'groups:sysadmin')

sysadminss.each do |u|
 user u['id'] do
  uid u['id']
  shell u['shell']
  comment u['comment']
  supports :manage_home => true
  home "/home/#{u['id']}"
 end

 directory "/home/#{u['id']}/.ssh" do
  owner u['id']
  group u['id']
  mode 0700
 end

 template "/home/#{u['id']}/.ssh/authorized_keys" do
  source "authorized_keys.erb"
  owner u['id']
  group u['id']
  mode 0600
  variables :ssh_keys => u['ssh_keys']
 end
end
                  Copyright © 2011 Opscode, Inc - All Rights Reserved   43
sysadmins = search(:users, 'groups:sysadmin')

sysadminss.each do |u|
 user u['id'] do
  uid u['id']
  shell u['shell']
  comment u['comment']
  supports :manage_home => true
  home "/home/#{u['id']}"
 end

 directory "/home/#{u['id']}/.ssh" do
  owner u['id']
  group u['id']
  mode 0700
 end

 template "/home/#{u['id']}/.ssh/authorized_keys" do
  source "authorized_keys.erb"
  owner u['id']
  group u['id']
  mode 0600
  variables :ssh_keys => u['ssh_keys']
 end
end
                  Copyright © 2011 Opscode, Inc - All Rights Reserved   43
sysadmins = search(:users, 'groups:sysadmin')

sysadminss.each do |u|
 user u['id'] do
  uid u['id']
  shell u['shell']
  comment u['comment']
  supports :manage_home => true
  home "/home/#{u['id']}"
 end

 directory "/home/#{u['id']}/.ssh" do
  owner u['id']
  group u['id']
  mode 0700
 end

 template "/home/#{u['id']}/.ssh/authorized_keys" do
  source "authorized_keys.erb"
  owner u['id']
  group u['id']
  mode 0600
  variables :ssh_keys => u['ssh_keys']
 end
end
                  Copyright © 2011 Opscode, Inc - All Rights Reserved   43
Command-line API
  utility, Knife


       http://www.flickr.com/photos/myklroventine/3474391066/
     Copyright © 2011 Opscode, Inc - All Rights Reserved       44
Nodes, Roles, Data
Bags are Searchable

  % knife search node “role:webserver”

   search(:users, “group:sysadmins”)




              Copyright © 2011 Opscode, Inc - All Rights Reserved   45
Nodes, Roles, Data
Bags are Searchable

  % knife search node “role:webserver”

   search(:users, “group:sysadmins”)




              Copyright © 2011 Opscode, Inc - All Rights Reserved   45
Nodes, Roles, Data
Bags are Searchable

  % knife search node “role:webserver”

   search(:users, “group:sysadmins”)




              Copyright © 2011 Opscode, Inc - All Rights Reserved   45
Cluster Chef




   Copyright © 2011 Opscode, Inc - All Rights Reserved   46
Hadoop


HDFS
NameNode

Secondary NN*

DataNode(s)

                Copyright © 2011 Opscode, Inc - All Rights Reserved   47
Hadoop


MapReduce
JobTracker

TaskTracker(s)



                 Copyright © 2011 Opscode, Inc - All Rights Reserved   48
Let’s Get Cooking

Prerequisites are already in place right?
       http://bit.ly/dda-chef




               Copyright © 2011 Opscode, Inc - All Rights Reserved   49
Push the Cookbooks

$ cd $CLUSTER_CHEF_PATH
$ knife cookbook upload --all




                These run as root, kids.
    Let’s not blindly trust the upstream too much!

                    Copyright © 2011 Opscode, Inc - All Rights Reserved   50
Cookbooks

Recipes
datanode.rb
jobtracker.rb
namenode.rb
secondarynamenode.rb
tasktracker.rb
more!




                  Copyright © 2011 Opscode, Inc - All Rights Reserved   51
Push the Roles

$ for foo in roles/*.rb ; do knife role from file $foo &
sleep 1 ; done




                     Copyright © 2011 Opscode, Inc - All Rights Reserved   52
Cluster Chef’s Facets
Roles
hadoop_master
 hadoop_namenode
 hadoop_secondarynamenod
 e
 hadoop_jobtracker
hadoop_worker
 hadoop_datanode
 hadoop_tasktracker




                      Copyright © 2011 Opscode, Inc - All Rights Reserved   53
Provisioning

Nodes
demohadoop-master-i-77f2661b

demohadoop-worker-i-e390148f
demohadoop-worker-i-ff901493


             Copyright © 2011 Opscode, Inc - All Rights Reserved   54
Is this thing on?
$ knife cluster
Available cluster subcommands: (for details, knife SUB-COMMAND --help)

** CLUSTER COMMANDS **
knife cluster launch CLUSTER_NAME FACET_NAME (options)
knife cluster show CLUSTER_NAME FACET_NAME (options)
knife cluster bootstrap CLUSTER_NAME FACET_NAME SERVER_FQDN (options)




                            Copyright © 2011 Opscode, Inc - All Rights Reserved   55
Let’s launch our
          Hadoop Cluster!

$ knife cluster launch demohadoop master --bootstrap




                            Copyright © 2011 Opscode, Inc - All Rights Reserved   56
knife ec2 server create




            Copyright © 2011 Opscode, Inc - All Rights Reserved   57
knife ec2 server create
Creates EC2 instance via API




             Copyright © 2011 Opscode, Inc - All Rights Reserved   57
knife ec2 server create
Creates EC2 instance via API
Retrieves local configuration




             Copyright © 2011 Opscode, Inc - All Rights Reserved   57
knife ec2 server create
Creates EC2 instance via API
Retrieves local configuration
SSH to instance




             Copyright © 2011 Opscode, Inc - All Rights Reserved   57
knife ec2 server create
Creates EC2 instance via API
Retrieves local configuration
SSH to instance
  ‣ Cluster Chef extends this
     security groups
     picks the AMI
     builds the number of specified nodes
  ‣ Writes chef configuration and authentication
  ‣ Installs Ruby and Chef
  ‣ Runs Chef with specified run list


                          Copyright © 2011 Opscode, Inc - All Rights Reserved   57
knife ec2 server create
Creates EC2 instance via API
Retrieves local configuration
SSH to instance
  ‣ Cluster Chef extends this
     security groups
     picks the AMI
     builds the number of specified nodes
  ‣ Writes chef configuration and authentication
  ‣ Installs Ruby and Chef
  ‣ Runs Chef with specified run list


                          Copyright © 2011 Opscode, Inc - All Rights Reserved   57
Still a bit of tweaking

$ knife ssh "role:demohadoop_master" "sudo service hadoop-0.20-datanode
stop; sudo service hadoop-0.20-namenode stop; sudo service hadoop-0.20-
tasktracker stop; sudo service hadoop-0.20-jobtracker stop; sudo service
hadoop-0.20-secondarynamenode stop; sudo -u hdfs hadoop fs -chown -R
hbase:hbase /hadoop/hbase; sudo chef-client" -x ubuntu -a
ec2.public_hostname -i ~/.chef/keypairs/demohadoop.pem




                            Copyright © 2011 Opscode, Inc - All Rights Reserved   58
Hadoop Workers!


$ knife cluster launch demohadoop worker --bootstrap




                            Copyright © 2011 Opscode, Inc - All Rights Reserved   59
Is it really on?
‣ Configure your network settings to use a SOCKS proxy
‣ http://ec2-public-ip-
  address.compute-1.amazonaws.com
‣ copy & paste the SSH command
‣ Profit!




                   Copyright © 2011 Opscode, Inc - All Rights Reserved   60
Our Hadoop Cluster
 is Operational...




      Copyright © 2011 Opscode, Inc - All Rights Reserved   61
Resources/Questions
www.opscode.com/chef
IRC and Mailing lists
‣ irc.freenode.net #chef
‣ lists.opscode.com

Twitter:
‣ @opscode, #opschef
‣ @mattray

Questions?

                       Copyright © 2011 Opscode, Inc - All Rights Reserved   62

Mais conteúdo relacionado

Mais procurados

Using Rancher and Docker with RightScale at Industrie IT
Using Rancher and Docker with RightScale at Industrie IT Using Rancher and Docker with RightScale at Industrie IT
Using Rancher and Docker with RightScale at Industrie IT RightScale
 
DCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDocker, Inc.
 
Bringing DevOps to Routing with evolved XR: an overview
Bringing DevOps to Routing with evolved XR: an overviewBringing DevOps to Routing with evolved XR: an overview
Bringing DevOps to Routing with evolved XR: an overviewCisco DevNet
 
Demystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in dockerDemystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in dockerDocker, Inc.
 
DevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineDevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineKit Merker
 
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
 Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo... Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...Lucas Jellema
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codesriram_rajan
 
Building a Secure Supply Chain with Docker
Building a Secure Supply Chain with DockerBuilding a Secure Supply Chain with Docker
Building a Secure Supply Chain with DockerDocker, Inc.
 
Intro to Git: a hands-on workshop
Intro to Git: a hands-on workshopIntro to Git: a hands-on workshop
Intro to Git: a hands-on workshopCisco DevNet
 
Advanced dev ops governance with terraform
Advanced dev ops governance with terraformAdvanced dev ops governance with terraform
Advanced dev ops governance with terraformJames Counts
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksGoDataDriven
 
Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous DeliveryMohammad Bilal Wahla
 
Hadoop on Docker
Hadoop on DockerHadoop on Docker
Hadoop on DockerRakesh Saha
 
Windows container security
Windows container securityWindows container security
Windows container securityDocker, Inc.
 
Openshift YARN - strata 2014
Openshift YARN - strata 2014Openshift YARN - strata 2014
Openshift YARN - strata 2014Hortonworks
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityAltoros
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Docker, Inc.
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Developers
 
Microcontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container DebuggingMicrocontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container DebuggingOracle Developers
 
5 patterns for success for application transformation
5 patterns for success for application transformation5 patterns for success for application transformation
5 patterns for success for application transformationDocker, Inc.
 

Mais procurados (20)

Using Rancher and Docker with RightScale at Industrie IT
Using Rancher and Docker with RightScale at Industrie IT Using Rancher and Docker with RightScale at Industrie IT
Using Rancher and Docker with RightScale at Industrie IT
 
DCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application TransformationDCEU 18: 5 Patterns for Success in Application Transformation
DCEU 18: 5 Patterns for Success in Application Transformation
 
Bringing DevOps to Routing with evolved XR: an overview
Bringing DevOps to Routing with evolved XR: an overviewBringing DevOps to Routing with evolved XR: an overview
Bringing DevOps to Routing with evolved XR: an overview
 
Demystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in dockerDemystifying container connectivity with kubernetes in docker
Demystifying container connectivity with kubernetes in docker
 
DevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container EngineDevNexus 2015: Kubernetes & Container Engine
DevNexus 2015: Kubernetes & Container Engine
 
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
 Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo... Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as code
 
Building a Secure Supply Chain with Docker
Building a Secure Supply Chain with DockerBuilding a Secure Supply Chain with Docker
Building a Secure Supply Chain with Docker
 
Intro to Git: a hands-on workshop
Intro to Git: a hands-on workshopIntro to Git: a hands-on workshop
Intro to Git: a hands-on workshop
 
Advanced dev ops governance with terraform
Advanced dev ops governance with terraformAdvanced dev ops governance with terraform
Advanced dev ops governance with terraform
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Architecting for Continuous Delivery
Architecting for Continuous DeliveryArchitecting for Continuous Delivery
Architecting for Continuous Delivery
 
Hadoop on Docker
Hadoop on DockerHadoop on Docker
Hadoop on Docker
 
Windows container security
Windows container securityWindows container security
Windows container security
 
Openshift YARN - strata 2014
Openshift YARN - strata 2014Openshift YARN - strata 2014
Openshift YARN - strata 2014
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
 
Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!Monolithic to Microservices + Docker = SDLC on Steroids!
Monolithic to Microservices + Docker = SDLC on Steroids!
 
Oracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas KurianOracle Code Keynote with Thomas Kurian
Oracle Code Keynote with Thomas Kurian
 
Microcontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container DebuggingMicrocontainers and Tools for Hardcore Container Debugging
Microcontainers and Tools for Hardcore Container Debugging
 
5 patterns for success for application transformation
5 patterns for success for application transformation5 patterns for success for application transformation
5 patterns for success for application transformation
 

Destaque

DevOps, we need you.
DevOps, we need you.DevOps, we need you.
DevOps, we need you.Henry Huang
 
Alex Honor - Devops Toolchain
Alex Honor - Devops ToolchainAlex Honor - Devops Toolchain
Alex Honor - Devops ToolchaindevopsdayUSA2010
 
Creating a pull for DevOps in an Agile Transformation
Creating a pull for DevOps in an Agile TransformationCreating a pull for DevOps in an Agile Transformation
Creating a pull for DevOps in an Agile TransformationTimothy Wise
 
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud DeploymentsPuppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud DeploymentsPuppet
 
Top 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To FocusTop 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To Focusdevopsjourney
 
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows ConferenceWinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows ConferenceWinOps Conf
 
What skills and personality do you need for a career in DevOps?
What skills and personality do you need for a career in DevOps?What skills and personality do you need for a career in DevOps?
What skills and personality do you need for a career in DevOps?Puppet
 
Big Data - Marrying Service Management With Service Delivery - #Pink13
Big Data - Marrying Service Management With Service Delivery - #Pink13Big Data - Marrying Service Management With Service Delivery - #Pink13
Big Data - Marrying Service Management With Service Delivery - #Pink13TeamQuest Corporation
 
DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...
DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...
DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...Gene Kim
 
The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)dev2ops
 
Visual Mapping of Clickstream Data
Visual Mapping of Clickstream DataVisual Mapping of Clickstream Data
Visual Mapping of Clickstream DataDataWorks Summit
 
Web log & clickstream
Web log & clickstream Web log & clickstream
Web log & clickstream Michel Bruley
 
Clickstream Data Warehouse - Turning clicks into customers
Clickstream Data Warehouse - Turning clicks into customersClickstream Data Warehouse - Turning clicks into customers
Clickstream Data Warehouse - Turning clicks into customersAlbert Hui
 
Apache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsApache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsDataWorks Summit/Hadoop Summit
 

Destaque (20)

DevOps, we need you.
DevOps, we need you.DevOps, we need you.
DevOps, we need you.
 
Alex Honor - Devops Toolchain
Alex Honor - Devops ToolchainAlex Honor - Devops Toolchain
Alex Honor - Devops Toolchain
 
Matematicki maraton
Matematicki maratonMatematicki maraton
Matematicki maraton
 
DevOps
DevOpsDevOps
DevOps
 
DevOps
DevOpsDevOps
DevOps
 
Creating a pull for DevOps in an Agile Transformation
Creating a pull for DevOps in an Agile TransformationCreating a pull for DevOps in an Agile Transformation
Creating a pull for DevOps in an Agile Transformation
 
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud DeploymentsPuppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
Puppet Camp Dallas 2014: Using Puppet in Hybrid Cloud Deployments
 
Top 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To FocusTop 10 DevOps Areas Need To Focus
Top 10 DevOps Areas Need To Focus
 
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows ConferenceWinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
 
What skills and personality do you need for a career in DevOps?
What skills and personality do you need for a career in DevOps?What skills and personality do you need for a career in DevOps?
What skills and personality do you need for a career in DevOps?
 
BI + Big Data
BI + Big DataBI + Big Data
BI + Big Data
 
Big Data - Marrying Service Management With Service Delivery - #Pink13
Big Data - Marrying Service Management With Service Delivery - #Pink13Big Data - Marrying Service Management With Service Delivery - #Pink13
Big Data - Marrying Service Management With Service Delivery - #Pink13
 
DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...
DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...
DOES16 San Francisco - Will Evans & Mark Landy - The Need for Speed: Enabling...
 
The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)The History of DevOps (and what you need to do about it)
The History of DevOps (and what you need to do about it)
 
Visual Mapping of Clickstream Data
Visual Mapping of Clickstream DataVisual Mapping of Clickstream Data
Visual Mapping of Clickstream Data
 
Web log & clickstream
Web log & clickstream Web log & clickstream
Web log & clickstream
 
Streamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache AmbariStreamline Hadoop DevOps with Apache Ambari
Streamline Hadoop DevOps with Apache Ambari
 
Securing Hadoop in an Enterprise Context
Securing Hadoop in an Enterprise ContextSecuring Hadoop in an Enterprise Context
Securing Hadoop in an Enterprise Context
 
Clickstream Data Warehouse - Turning clicks into customers
Clickstream Data Warehouse - Turning clicks into customersClickstream Data Warehouse - Turning clicks into customers
Clickstream Data Warehouse - Turning clicks into customers
 
Apache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop componentsApache Atlas: Tracking dataset lineage across Hadoop components
Apache Atlas: Tracking dataset lineage across Hadoop components
 

Semelhante a What Big Data Folks Need to Know About DevOps

GeekAustin DevOps
GeekAustin DevOpsGeekAustin DevOps
GeekAustin DevOpsMatt Ray
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menujtimberman
 
Cooking security sans@night
Cooking security sans@nightCooking security sans@night
Cooking security sans@nightjtimberman
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Hyun-Mook Choi
 
Automação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOpsAutomação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOpsRaul Leite
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefMatt Ray
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and DockerChuck Megivern
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogicRakuten Group, Inc.
 
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmetHow Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmetDevOpsDaysJKT
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Docker, Inc.
 
The Usual Suspects - Red Hat Developer Day 2012-11-01
The Usual Suspects - Red Hat Developer Day 2012-11-01The Usual Suspects - Red Hat Developer Day 2012-11-01
The Usual Suspects - Red Hat Developer Day 2012-11-01Jorge Hidalgo
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트Amazon Web Services Korea
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 

Semelhante a What Big Data Folks Need to Know About DevOps (20)

GeekAustin DevOps
GeekAustin DevOpsGeekAustin DevOps
GeekAustin DevOps
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
 
Core os dna_automacon
Core os dna_automaconCore os dna_automacon
Core os dna_automacon
 
Cooking security sans@night
Cooking security sans@nightCooking security sans@night
Cooking security sans@night
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부
 
Automação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOpsAutomação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOps
 
Automation day red hat ansible
   Automation day red hat ansible    Automation day red hat ansible
Automation day red hat ansible
 
How to debug IoT Agents
How to debug IoT AgentsHow to debug IoT Agents
How to debug IoT Agents
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with Chef
 
Core os dna_oscon
Core os dna_osconCore os dna_oscon
Core os dna_oscon
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
ASP.NET Core and Docker
ASP.NET Core and DockerASP.NET Core and Docker
ASP.NET Core and Docker
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmetHow Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
How Honestbee Does CI/CD on Kubernetes - Vincent DeSmet
 
Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...Configuration Management and Transforming Legacy Applications in the Enterpri...
Configuration Management and Transforming Legacy Applications in the Enterpri...
 
The Usual Suspects - Red Hat Developer Day 2012-11-01
The Usual Suspects - Red Hat Developer Day 2012-11-01The Usual Suspects - Red Hat Developer Day 2012-11-01
The Usual Suspects - Red Hat Developer Day 2012-11-01
 
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 

Mais de Matt Ray

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...Matt Ray
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherMatt Ray
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeMatt Ray
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatMatt Ray
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...Matt Ray
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Matt Ray
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code EverywhereMatt Ray
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018Matt Ray
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesMatt Ray
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateMatt Ray
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateMatt Ray
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeMatt Ray
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteMatt Ray
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupMatt Ray
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyMatt Ray
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Matt Ray
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Matt Ray
 

Mais de Matt Ray (20)

Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
SCaLE 20X: Kubernetes Cloud Cost Monitoring with OpenCost & Optimization Stra...
 
HashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better TogetherHashiTalks 2020 - Chef Tools & Terraform: Better Together
HashiTalks 2020 - Chef Tools & Terraform: Better Together
 
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP ModeEmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
EmacsConf 2019: Interactive Remote Debugging and Development with TRAMP Mode
 
Wellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with HabitatWellington DevOps: Bringing Your Applications into the Future with Habitat
Wellington DevOps: Bringing Your Applications into the Future with Habitat
 
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
DevOps Days Singapore 2018 Ignite - Bringing Your Applications into the Futur...
 
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
Cloud Expo Asia 20181010 - Bringing Your Applications into the Future with Ha...
 
Compliance as Code Everywhere
Compliance as Code EverywhereCompliance as Code Everywhere
Compliance as Code Everywhere
 
DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018DevOpsDays Jakarta: State of DevOps 2018
DevOpsDays Jakarta: State of DevOps 2018
 
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and KubernetesDevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
DevOps Talks Melbourne 2018: Whales, Cats and Kubernetes
 
Infrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef AutomateInfrastructure and Compliance Delight with Chef Automate
Infrastructure and Compliance Delight with Chef Automate
 
Cooking Up Windows with Chef Automate
Cooking Up Windows with Chef AutomateCooking Up Windows with Chef Automate
Cooking Up Windows with Chef Automate
 
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as CodeDevOpsDays Singapore - Continuous Auditing with Compliance as Code
DevOpsDays Singapore - Continuous Auditing with Compliance as Code
 
DevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat IgniteDevOpsDays Singapore Habitat Ignite
DevOpsDays Singapore Habitat Ignite
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
 
Automating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North SydneyAutomating Compliance with InSpec - AWS North Sydney
Automating Compliance with InSpec - AWS North Sydney
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec Automating AWS Compliance with InSpec
Automating AWS Compliance with InSpec
 
Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017Chef Automate - Infracoders Canberra August 8, 2017
Chef Automate - Infracoders Canberra August 8, 2017
 

Último

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Último (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

What Big Data Folks Need to Know About DevOps

  • 1. What Big Data Folks Need to Know About DevOps Speaker: Matt Ray Technical Evangelist ‣ matt@opscode.com ‣ @mattray Copyright © 2011 Opscode, Inc - All Rights Reserved 1
  • 2. Copyright © 2011 Opscode, Inc - All Rights Reserved http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/ 2
  • 3. Developer, SysAdmin, Hacker, Community Manager Copyright © 2011 Opscode, Inc - All Rights Reserved http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/ 2
  • 4. Developer, SysAdmin, Hacker, Community Manager Many biz & dev environments Copyright © 2011 Opscode, Inc - All Rights Reserved http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/ 2
  • 5. Developer, SysAdmin, Hacker, Community Manager Many biz & dev environments Opscode: Training, Services & Evangelism Copyright © 2011 Opscode, Inc - All Rights Reserved http://www.flickr.com/photos/anotherphotograph/2100904507/sizes/o/ 2
  • 7. Developers? http://www.flickr.com/photos/timyates/2854357446/sizes/l/ Copyright © 2011 Opscode, Inc - All Rights Reserved 3
  • 8. Developers? Systems Administrators? http://www.flickr.com/photos/timyates/2854357446/sizes/l/ Copyright © 2011 Opscode, Inc - All Rights Reserved 3
  • 9. Developers? Systems Administrators? “BigData” Hacker? http://www.flickr.com/photos/timyates/2854357446/sizes/l/ Copyright © 2011 Opscode, Inc - All Rights Reserved 3
  • 10. Developers? Systems Administrators? “BigData” Hacker? “Business” People? http://www.flickr.com/photos/timyates/2854357446/sizes/l/ Copyright © 2011 Opscode, Inc - All Rights Reserved 3
  • 11. DevOps Copyright © 2011 Opscode, Inc - All Rights Reserved 4
  • 12. DevOps tools + culture Copyright © 2011 Opscode, Inc - All Rights Reserved 5
  • 13. Culture Copyright © 2011 Opscode, Inc - All Rights Reserved 6
  • 14. Trust Copyright © 2011 Opscode, Inc - All Rights Reserved 7
  • 15. Trust (but verify) Copyright © 2011 Opscode, Inc - All Rights Reserved 8
  • 16. Automation Copyright © 2011 Opscode, Inc - All Rights Reserved 9
  • 17. Infrastructure as Code Copyright © 2011 Opscode, Inc - All Rights Reserved 10
  • 18. Copyright © 2011 Opscode, Inc - All Rights Reserved 11
  • 19. Chef is an API for your Infrastructure Copyright © 2011 Opscode, Inc - All Rights Reserved 12
  • 20. Principles Copyright © 2011 Opscode, Inc - All Rights Reserved 13
  • 21. Principles Idempotent Copyright © 2011 Opscode, Inc - All Rights Reserved 13
  • 22. Principles Idempotent Data-driven Copyright © 2011 Opscode, Inc - All Rights Reserved 13
  • 23. Principles Idempotent Data-driven Sane defaults Copyright © 2011 Opscode, Inc - All Rights Reserved 13
  • 24. Principles Idempotent Data-driven Sane defaults Hackability Copyright © 2011 Opscode, Inc - All Rights Reserved 13
  • 25. Principles Idempotent Data-driven Sane defaults Hackability TMTOWTDI Copyright © 2011 Opscode, Inc - All Rights Reserved 13
  • 26. Multiple applications of an operation do not change the result Copyright © 2011 Opscode, Inc - All Rights Reserved 14
  • 27. We start with APIs, you supply data Copyright © 2011 Opscode, Inc - All Rights Reserved 15
  • 28. option :json_attribs, :short => "-j JSON_ATTRIBS", :long => "--json-attributes JSON_ATTRIBS", :description => "Load attributes from a JSON file or URL", :proc => nil option :node_name, :short => "-N NODE_NAME", :long => "--node-name NODE_NAME", :description => "The node name for this client", Defaults are sane, but :proc => nil easily changed Copyright © 2011 Opscode, Inc - All Rights Reserved 16
  • 29. Open source and community Copyright © 2011 Opscode, Inc - All Rights Reserved 17
  • 30. Copyright © 2011 Opscode, Inc - All Rights Reserved 18
  • 31. TMTOWTDI Copyright © 2011 Opscode, Inc - All Rights Reserved 19
  • 32. Copyright © 2011 Opscode, Inc - All Rights Reserved 20 http://www.brooklynstreetart.com/theBlog/wp-content/uploads/2008/12/swedish_chef_bork-sleeper-cell.jpg
  • 33. Chef Client runs on your systems Copyright © 2011 Opscode, Inc - All Rights Reserved 21
  • 34. Clients talk to a Chef Server Copyright © 2011 Opscode, Inc - All Rights Reserved 22
  • 35. RESTful API w/ JSON responses Copyright © 2011 Opscode, Inc - All Rights Reserved 23
  • 36. Opscode Platform the central, highly scalable, multi-tenant configuration service from Opscode... a hosted Chef Server Copyright © 2010 Opscode, Inc. – Confidential – Do Not Redistribute 24
  • 37. We call each system you configure a Node Copyright © 2011 Opscode, Inc - All Rights Reserved http://www.flickr.com/photos/peterrosbjerg/3913766224/ 25
  • 38. Nodes have Attributes { "kernel": { Kernel info! "machine": "x86_64", "name": "Darwin", "os": "Darwin", "version": "Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386", "release": "10.4.0" }, "platform_version": "10.6.4", "platform": "mac_os_x", "platform_build": "10F569", "domain": "local", Platform info! "os": "darwin", "current_user": "jtimberman", "ohai_time": 1278602661.60043, "os_version": "10.4.0", "uptime": "18 days 17 hours 49 minutes 18 seconds", "ipaddress": "10.13.37.116", "hostname": "cider", "fqdn": "cider.local", "uptime_seconds": 1619358 Hostname and IP! } Copyright © 2011 Opscode, Inc - All Rights Reserved 26
  • 39. Nodes have a Run List What Roles or Recipes to apply in Order Copyright © 2011 Opscode, Inc - All Rights Reserved 27
  • 40. Nodes have Roles Copyright © 2011 Opscode, Inc - All Rights Reserved http://www.flickr.com/photos/laenulfean/374398044/ 28
  • 41. Roles have a Run List What Roles or Recipes to apply in Order Copyright © 2011 Opscode, Inc - All Rights Reserved 29
  • 42. remote_file link cookbook_file service ruby_block template execute Chef manages Resources on Nodes package bash git log deploy user http_request Copyright © 2011 Opscode, Inc - All Rights Reserved 30
  • 43. Resources... Declare a description of the state a part of the node should be in http://www.flickr.com/photos/xiaming/382205902/sizes/l/
  • 44. Resources... Declare a description of the state a part of the node should be in package "apache2" do version "2.2.11-2ubuntu2.6" action :install end template "/etc/apache2/apache2.conf" do source "apache2.conf.erb" owner "root" group "root" mode 0644 action :create end http://www.flickr.com/photos/xiaming/382205902/sizes/l/
  • 45. Resources... Declare a description of the state a part of the node should be in ‣ Have a type package "apache2" do version "2.2.11-2ubuntu2.6" action :install end template "/etc/apache2/apache2.conf" do source "apache2.conf.erb" owner "root" group "root" mode 0644 action :create end http://www.flickr.com/photos/xiaming/382205902/sizes/l/
  • 46. Resources... Declare a description of the state a part of the node should be in ‣ Have a type package "apache2" do version "2.2.11-2ubuntu2.6" action :install ‣ Have a name end template "/etc/apache2/apache2.conf" do source "apache2.conf.erb" owner "root" group "root" mode 0644 action :create end http://www.flickr.com/photos/xiaming/382205902/sizes/l/
  • 47. Resources... Declare a description of the state a part of the node should be in ‣ Have a type package "apache2" do version "2.2.11-2ubuntu2.6" action :install ‣ Have a name end template "/etc/apache2/apache2.conf" do ‣ Have parameters source "apache2.conf.erb" owner "root" group "root" mode 0644 action :create end http://www.flickr.com/photos/xiaming/382205902/sizes/l/
  • 48. Resources... Declare a description of the state a part of the node should be in ‣ Have a type package "apache2" do version "2.2.11-2ubuntu2.6" action :install ‣ Have a name end template "/etc/apache2/apache2.conf" do ‣ Have parameters source "apache2.conf.erb" owner "root" ‣ Take action to put the group "root" mode 0644 resource in the action :create declared state end http://www.flickr.com/photos/xiaming/382205902/sizes/l/
  • 49. Resources take action through Providers Copyright © 2011 Opscode, Inc - All Rights Reserved 32
  • 50. Providers... Know how to actually perform the actions specified by a resource. http://www.flickr.com/photos/affableslinky/562950216/
  • 51. Providers... Know how to actually perform the actions specified by a resource. Apt, Yum, Rubygems, Multiple providers Portage, Macports, per resource type. FreeBSD Ports, etc. http://www.flickr.com/photos/affableslinky/562950216/
  • 56. Recipes are lists of Resources http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/ Copyright © 2011 Opscode, Inc - All Rights Reserved 35
  • 57. Recipes... Apply resources in the order they are specified http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
  • 58. Recipes... Apply resources in the order they are specified package "apache2" do version "2.2.11-2ubuntu2.6" action :install end template "/etc/apache2/apache2.conf" do source "apache2.conf.erb" owner "root" group "root" mode 0644 action :create end http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
  • 59. Recipes... Apply resources in the order they are specified package "apache2" do version "2.2.11-2ubuntu2.6" action :install 1 ‣ Evaluates resources in end the order they appear template "/etc/apache2/apache2.conf" do source "apache2.conf.erb" owner "root" group "root" mode 0644 action :create 2 end http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
  • 60. Recipes... Apply resources in the order they are specified ‣ Evaluates resources in [ the order they appear "package[apache2]", "template[/etc/apache2/apache2.conf]" ‣ Adds each resource to ] the Resource Collection http://www.flickr.com/photos/roadsidepictures/2478953342/sizes/o/
  • 61. Order Matters Copyright © 2011 Opscode, Inc - All Rights Reserved 37
  • 62. Order Matters http://www.infrastructures.org/papers/turing/turing.html Copyright © 2011 Opscode, Inc - All Rights Reserved 37
  • 63. Cookbooks are packages for Recipes Copyright © 2011 Opscode, Inc - All Rights Reserved 38
  • 64. Common Cookbook Components Copyright © 2011 Opscode, Inc - All Rights Reserved 39
  • 65. Common Cookbook Components recipes/ default.rb Copyright © 2011 Opscode, Inc - All Rights Reserved 39
  • 66. Common Cookbook Components recipes/ default.rb files/ Copyright © 2011 Opscode, Inc - All Rights Reserved 39
  • 67. Common Cookbook Components recipes/ default.rb files/ templates/ Copyright © 2011 Opscode, Inc - All Rights Reserved 39
  • 68. Common Cookbook Components recipes/ default.rb files/ templates/ attributes/ default.rb Copyright © 2011 Opscode, Inc - All Rights Reserved 39
  • 69. Common Cookbook Components recipes/ default.rb files/ templates/ attributes/ default.rb metadata.rb Copyright © 2011 Opscode, Inc - All Rights Reserved 39
  • 70. Cookbooks are shareable! cookbooks.opscode.com Copyright © 2011 Opscode, Inc - All Rights Reserved 40
  • 71. Data bags store arbitrary data Copyright © 2011 Opscode, Inc - All Rights Reserved 41
  • 72. A user data bag item... % knife data bag show users jtimberman { "comment": "Joshua Timberman", "groups": "sysadmin", "ssh_keys": "ssh-rsa SUPERSEKRATS jtimberman@cider", "files": { ".zshrc": { "mode": "0644", "source": "dot-zshrc" }, ".vimrc": { "mode": "0644", "source": "dot-vimrc" } }, "id": "jtimberman", "uid": 7004, "shell": "/usr/bin/zsh", "openid": "http://jtimberman.myopenid.com/" } Copyright © 2011 Opscode, Inc - All Rights Reserved
  • 73. Data bags make recipes awesome-r (that’s totally a word) Copyright © 2011 Opscode, Inc - All Rights Reserved 43
  • 74. sysadmins = search(:users, 'groups:sysadmin') sysadminss.each do |u| user u['id'] do uid u['id'] shell u['shell'] comment u['comment'] supports :manage_home => true home "/home/#{u['id']}" end directory "/home/#{u['id']}/.ssh" do owner u['id'] group u['id'] mode 0700 end template "/home/#{u['id']}/.ssh/authorized_keys" do source "authorized_keys.erb" owner u['id'] group u['id'] mode 0600 variables :ssh_keys => u['ssh_keys'] end end Copyright © 2011 Opscode, Inc - All Rights Reserved 43
  • 75. sysadmins = search(:users, 'groups:sysadmin') sysadminss.each do |u| user u['id'] do uid u['id'] shell u['shell'] comment u['comment'] supports :manage_home => true home "/home/#{u['id']}" end directory "/home/#{u['id']}/.ssh" do owner u['id'] group u['id'] mode 0700 end template "/home/#{u['id']}/.ssh/authorized_keys" do source "authorized_keys.erb" owner u['id'] group u['id'] mode 0600 variables :ssh_keys => u['ssh_keys'] end end Copyright © 2011 Opscode, Inc - All Rights Reserved 43
  • 76. sysadmins = search(:users, 'groups:sysadmin') sysadminss.each do |u| user u['id'] do uid u['id'] shell u['shell'] comment u['comment'] supports :manage_home => true home "/home/#{u['id']}" end directory "/home/#{u['id']}/.ssh" do owner u['id'] group u['id'] mode 0700 end template "/home/#{u['id']}/.ssh/authorized_keys" do source "authorized_keys.erb" owner u['id'] group u['id'] mode 0600 variables :ssh_keys => u['ssh_keys'] end end Copyright © 2011 Opscode, Inc - All Rights Reserved 43
  • 77. Command-line API utility, Knife http://www.flickr.com/photos/myklroventine/3474391066/ Copyright © 2011 Opscode, Inc - All Rights Reserved 44
  • 78. Nodes, Roles, Data Bags are Searchable % knife search node “role:webserver” search(:users, “group:sysadmins”) Copyright © 2011 Opscode, Inc - All Rights Reserved 45
  • 79. Nodes, Roles, Data Bags are Searchable % knife search node “role:webserver” search(:users, “group:sysadmins”) Copyright © 2011 Opscode, Inc - All Rights Reserved 45
  • 80. Nodes, Roles, Data Bags are Searchable % knife search node “role:webserver” search(:users, “group:sysadmins”) Copyright © 2011 Opscode, Inc - All Rights Reserved 45
  • 81. Cluster Chef Copyright © 2011 Opscode, Inc - All Rights Reserved 46
  • 82. Hadoop HDFS NameNode Secondary NN* DataNode(s) Copyright © 2011 Opscode, Inc - All Rights Reserved 47
  • 83. Hadoop MapReduce JobTracker TaskTracker(s) Copyright © 2011 Opscode, Inc - All Rights Reserved 48
  • 84. Let’s Get Cooking Prerequisites are already in place right? http://bit.ly/dda-chef Copyright © 2011 Opscode, Inc - All Rights Reserved 49
  • 85. Push the Cookbooks $ cd $CLUSTER_CHEF_PATH $ knife cookbook upload --all These run as root, kids. Let’s not blindly trust the upstream too much! Copyright © 2011 Opscode, Inc - All Rights Reserved 50
  • 87. Push the Roles $ for foo in roles/*.rb ; do knife role from file $foo & sleep 1 ; done Copyright © 2011 Opscode, Inc - All Rights Reserved 52
  • 88. Cluster Chef’s Facets Roles hadoop_master hadoop_namenode hadoop_secondarynamenod e hadoop_jobtracker hadoop_worker hadoop_datanode hadoop_tasktracker Copyright © 2011 Opscode, Inc - All Rights Reserved 53
  • 90. Is this thing on? $ knife cluster Available cluster subcommands: (for details, knife SUB-COMMAND --help) ** CLUSTER COMMANDS ** knife cluster launch CLUSTER_NAME FACET_NAME (options) knife cluster show CLUSTER_NAME FACET_NAME (options) knife cluster bootstrap CLUSTER_NAME FACET_NAME SERVER_FQDN (options) Copyright © 2011 Opscode, Inc - All Rights Reserved 55
  • 91. Let’s launch our Hadoop Cluster! $ knife cluster launch demohadoop master --bootstrap Copyright © 2011 Opscode, Inc - All Rights Reserved 56
  • 92. knife ec2 server create Copyright © 2011 Opscode, Inc - All Rights Reserved 57
  • 93. knife ec2 server create Creates EC2 instance via API Copyright © 2011 Opscode, Inc - All Rights Reserved 57
  • 94. knife ec2 server create Creates EC2 instance via API Retrieves local configuration Copyright © 2011 Opscode, Inc - All Rights Reserved 57
  • 95. knife ec2 server create Creates EC2 instance via API Retrieves local configuration SSH to instance Copyright © 2011 Opscode, Inc - All Rights Reserved 57
  • 96. knife ec2 server create Creates EC2 instance via API Retrieves local configuration SSH to instance ‣ Cluster Chef extends this security groups picks the AMI builds the number of specified nodes ‣ Writes chef configuration and authentication ‣ Installs Ruby and Chef ‣ Runs Chef with specified run list Copyright © 2011 Opscode, Inc - All Rights Reserved 57
  • 97. knife ec2 server create Creates EC2 instance via API Retrieves local configuration SSH to instance ‣ Cluster Chef extends this security groups picks the AMI builds the number of specified nodes ‣ Writes chef configuration and authentication ‣ Installs Ruby and Chef ‣ Runs Chef with specified run list Copyright © 2011 Opscode, Inc - All Rights Reserved 57
  • 98. Still a bit of tweaking $ knife ssh "role:demohadoop_master" "sudo service hadoop-0.20-datanode stop; sudo service hadoop-0.20-namenode stop; sudo service hadoop-0.20- tasktracker stop; sudo service hadoop-0.20-jobtracker stop; sudo service hadoop-0.20-secondarynamenode stop; sudo -u hdfs hadoop fs -chown -R hbase:hbase /hadoop/hbase; sudo chef-client" -x ubuntu -a ec2.public_hostname -i ~/.chef/keypairs/demohadoop.pem Copyright © 2011 Opscode, Inc - All Rights Reserved 58
  • 99. Hadoop Workers! $ knife cluster launch demohadoop worker --bootstrap Copyright © 2011 Opscode, Inc - All Rights Reserved 59
  • 100. Is it really on? ‣ Configure your network settings to use a SOCKS proxy ‣ http://ec2-public-ip- address.compute-1.amazonaws.com ‣ copy & paste the SSH command ‣ Profit! Copyright © 2011 Opscode, Inc - All Rights Reserved 60
  • 101. Our Hadoop Cluster is Operational... Copyright © 2011 Opscode, Inc - All Rights Reserved 61
  • 102. Resources/Questions www.opscode.com/chef IRC and Mailing lists ‣ irc.freenode.net #chef ‣ lists.opscode.com Twitter: ‣ @opscode, #opschef ‣ @mattray Questions? Copyright © 2011 Opscode, Inc - All Rights Reserved 62

Notas do Editor

  1. \n
  2. I’ve been a developer and system administrator for well over 10 years. In that time I’ve worked in a number of environments, from mom & pop startups to huge enterprise software shops. I’ve built fully automated infrastructures for internal and external use and hacked on everything in between. Now, I do training, services and evangelism for Opscode. \n
  3. I’ve been a developer and system administrator for well over 10 years. In that time I’ve worked in a number of environments, from mom & pop startups to huge enterprise software shops. I’ve built fully automated infrastructures for internal and external use and hacked on everything in between. Now, I do training, services and evangelism for Opscode. \n
  4. I’ve been a developer and system administrator for well over 10 years. In that time I’ve worked in a number of environments, from mom & pop startups to huge enterprise software shops. I’ve built fully automated infrastructures for internal and external use and hacked on everything in between. Now, I do training, services and evangelism for Opscode. \n
  5. Why did you come today, what do you hope to learn?\n
  6. Why did you come today, what do you hope to learn?\n
  7. Why did you come today, what do you hope to learn?\n
  8. Why did you come today, what do you hope to learn?\n
  9. DevOps, more than just a buzzword. It’s Developers and Operations working together. That might sound obvious, but it’s not.\n
  10. To quote Tim O’Reilly, DevOps is the ability to create and deploy reliable software to an unreliable platform platform that scales horizontally.\n
  11. DevOps is a cultural movement in Development and Operations. It’s Agile realized at the business level, not just Development. It’s about building trust between Dev and Ops. Development can’t throw code over the fence and expect it to just work anymore, they need to be responsible for performance (and get those guys pagers). Operations can’t justify “uptime” above the business, they need to work with Development to make sure the business is rolling out features. Put them in the same space, they’re on the same team.\n\n
  12. Once you have people working together, you’ve got to trust them to get things done. Enable each member of your team to have a voice and you’ll get better results. \n
  13. Back it up with metrics. Don’t just monitor for health, monitor for production. Once you’ve got numbers you can make steady change and understand your results.\n
  14. You need to be thinking in terms of automating everything you can, so value can be derived from development and operations and you can get down to business instead of tweaking and tinkering. Hand-tuning a dozen machines should not be your business’ edge.\n\n
  15. Your infrastructure is not a unique snowflake. With very few exceptions, there is no secret sauce in building servers. Let’s focus on deploying applications in a repeatable, continuous fashion. Infrastructure as Code means that you can tear down and replace your business from version control, data backups and bare metal resources. Want to run on Rackspace instead of EC2? Let’s do it in an hour instead of weeks. How are you going to make this happen?\n
  16. At a high level, Chef is a Ruby library for managing infrastructure primitives. It is a systems integration platform built for scale.\n
  17. Chef gives you the tools primitives to answer the question... How do you want to model data?\nTo configure your systems.\nAnd integrate them together.\nAnd give you an API you can use to work with your infrastructure\n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. Idempotent\n
  24. Data driven means\n
  25. Most users start with the default configurations, because they’re field-tested and peer-reviewed.\n
  26. Apache licensed, well over 200 external contributors. Thriving and active user base. \n
  27. \n
  28. There’s More Than One Way To Do It\nIt’s a Perl motto, but it holds true. We give you the tools, you decide how to work it.\n
  29. Let’s talk about how Chef works.\n
  30. Agent executable wrapping libraries\nConfigures your system with the libraries.\n\n\n
  31. The Chef Server is a publishing system. You store data on the server, and it provides an API to access and search the data.\n
  32. We use CouchDB because it stores JSON and has a nice REST API\n
  33. Chef is open source, and we have a product called the Opscode Platform. It has the same API as the Open Source Chef Server.\n\n
  34. Abstraction of a server. With the chef server, node state data is persisted between runs. The edge node does all the heavy lifting.\n
  35. Attributes == data.\n
  36. \n
  37. Roles are another abstraction that describe a set of configuration functionality about nodes. webserver, loadbalancer, database master, etc.\n
  38. \n
  39. Resources are an abstraction we feed data into. When you write recipes in Chef, you create resources of things you want to configure.\n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. The abstraction over the commands or API calls that will configure the resource to be in the state you have defined.\n
  60. These actions are relevant to the provider\nCommands or API calls made to configure the resource.\nPackage resources can have many different providers.\n
  61. These actions are relevant to the provider\nCommands or API calls made to configure the resource.\nPackage resources can have many different providers.\n
  62. These actions are relevant to the provider\nCommands or API calls made to configure the resource.\nPackage resources can have many different providers.\n
  63. Providers can be platform specific.\nResources are mapped via the platform to the correct provider.\n
  64. Providers can be platform specific.\nResources are mapped via the platform to the correct provider.\n
  65. Providers can be platform specific.\nResources are mapped via the platform to the correct provider.\n
  66. Providers can be platform specific.\nResources are mapped via the platform to the correct provider.\n
  67. Providers can be platform specific.\nResources are mapped via the platform to the correct provider.\n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. The order of resources in a recipe, and the order of the recipes applied in run lists.\n\nSidebar about the “Why Order Matters: Turing Equivalence in Automated Systems Administration” paper and RPM installation\n
  83. Cookbooks encapsulate all the components that recipes need to configure the infrastructure. \n
  84. Cookbooks are a directory of code components\nRecipes are the core libraries you use to configure something, but cookbooks can contain other libraries used in recipes.\n
  85. Cookbooks are a directory of code components\nRecipes are the core libraries you use to configure something, but cookbooks can contain other libraries used in recipes.\n
  86. Cookbooks are a directory of code components\nRecipes are the core libraries you use to configure something, but cookbooks can contain other libraries used in recipes.\n
  87. Cookbooks are a directory of code components\nRecipes are the core libraries you use to configure something, but cookbooks can contain other libraries used in recipes.\n
  88. Cookbooks are a directory of code components\nRecipes are the core libraries you use to configure something, but cookbooks can contain other libraries used in recipes.\n
  89. Find and share cookbooks on cookbooks.opscode.com\n
  90. Bags and items in the bags. Anyone play D&D, NWN, etc? Bag of holding!\n\nUsers, application information, network info, cabinet/rack locations. Describe components of your infrastructure with data, and use that data to configure systems.\n
  91. Freeform, describes a user.\n
  92. You can use data bags in recipes!\n\n
  93. You can use data bags in recipes!\n\n
  94. You can use data bags in recipes!\n\n
  95. You can use data bags in recipes!\n\n
  96. You can use data bags in recipes!\n\n
  97. You can use data bags in recipes!\n\n
  98. You can use data bags in recipes!\n\n
  99. You can use data bags in recipes!\n\n
  100. You can use data bags in recipes!\n\n
  101. You can use data bags in recipes!\n\n
  102. You can use data bags in recipes!\n\n
  103. You can use data bags in recipes!\n\n
  104. You can use data bags in recipes!\n\n
  105. You can use data bags in recipes!\n\n
  106. You can use data bags in recipes!\n\n
  107. You can use data bags in recipes!\n\n
  108. Knife is the “swiss army knife” tool of Chef. It primarily works with the Chef Server API, but it can also interact with other APIs such as cloud providers. \n
  109. Knife can be used for many things, search is one of them.\n
  110. Knife can be used for many things, search is one of them.\n
  111. Knife can be used for many things, search is one of them.\n
  112. Knife can be used for many things, search is one of them.\n
  113. Knife can be used for many things, search is one of them.\n
  114. Knife can be used for many things, search is one of them.\n
  115. Now that we’ve covered the basics of Chef. Let’s see how to use Chef to automate deploying Hadoop clusters with Cluster Chef to Amazon EC2.\n
  116. If you’re not familiar with Hadoop... well you came to the right place. HDFS, a distributed file system that provides high throughput access to application data and MapReduce is a programming framework for writing applications that rapidly process vast amounts of data in parallel.\n\nA typical Hadoop cluster consists of 2 master pieces. The NameNode and the JobTracker are the masters of the cluster. The NameNode manages the file system metadata and the DataNodes store the actual data. You can have 1 or more DataNodes in your cluster. The Secondary NameNode cleans up the data. It’s deprecated and has been replaced by other nodes in more recent versions of Hadoop. Flip can tell you more about that later.\n
  117. The JobTracker manages the jobs queue, scheduling and organizing work for the TaskTracker nodes. You can have 1 or more TaskTracker nodes in your cluster.\n\n
  118. Knife is ready to go, we setup Cluster Chef as outlined in the prerequisites.\n
  119. We download the cookbooks that were shared on the cookbook site, but we upload them to the Chef Server. These are discrete and separate, the nodes running Chef don’t talk to the cookbooks site. The Cluster Chef repository bundles up several from Opscode’s repository and provides a number of its own cookbooks in “site-cookbooks”. You may remember editing this in the Prerequisites.\n
  120. Cluster Chef has cookbooks for Hadoop, Cassandra, Hbase, R, Hive, Pig and more.\n\nCookbooks contain recipes, recipes are how systems are configured. You add recipes to Roles or the run_list to get the behavior you want. \n
  121. Roles contain attributes and our run_lists. You add a role to your nodes to get the behavior you want. Ordering is important!\n
  122. Cluster Chef adds a layer over Chef’s Roles, managing the creation and naming of the nodes and ensuring enough of them are created. Let’s just focus on the Roles though. The “master” facet uses the “hadoop_master” role, making our master a combination of the namenode, secondary namenode and jobtracker. For our example, our master is also a “hadoop_worker”. This works for our small-scale demo, but you could easily put different Hadoop components on different nodes as you scale up and need dedicated servers for each service.\n
  123. Provisioning is the first step. Usually Chef is going to launch the machines individually, but Cluster Chef allows you to launch them in bulk. We need some computers on the internet. For our demonstration they’re going to be a Hadoop master and worker nodes. They could easily be load balancers, webservers, database servers or whatever. We launch those with a cloud API. Every cloud does this. Chef talks to clouds via the library Fog.\n
  124. Test our knife cluster command. If all of our prerequisites are in place, this is going to work just fine.\n\n
  125. Kinda exciting isn’t it? Let’s take a look at the output and see what’s going on... \n\nCluster Chef is going to create the EC2 Security Groups we need... get our vanilla Ubuntu 10.04 AMI launched and bootstrap it with Chef. It extends the functionality of “knife ec2 create”\n\n
  126. knife ec2 server create is the typical way to create our servers, we’re letting Cluster Chef manage them for us instead.\n
  127. knife ec2 server create is the typical way to create our servers, we’re letting Cluster Chef manage them for us instead.\n
  128. knife ec2 server create is the typical way to create our servers, we’re letting Cluster Chef manage them for us instead.\n
  129. knife ec2 server create is the typical way to create our servers, we’re letting Cluster Chef manage them for us instead.\n
  130. knife ec2 server create is the typical way to create our servers, we’re letting Cluster Chef manage them for us instead.\n
  131. For some reason, the initial startup is still finicky, but is at least down to only two passes for hadoop. Flip can talk about this if he wants, for now it’s up so you can run it. We’re going to use knife to search for our hadoop_master and stop hadoop, fix some permissions and re-run our chef-client.\n\n
  132. Now let’s get our workers working and ready to go. We’re going to use Cluster Chef to launch 2 workers, as outlined in our demohadoop.rb cluster file.\n
  133. We need to open up the proxy server so we can spelunk a bit on the cluster.\n
  134. We now have our 3 node cluster up and running, with minimal touch. The really exciting thing here is that this is easy to deploy and expand, it’s predictable and repeatable. We could add further instrumentation to automatically start working on our data. For now, Flip’s going to give us a couple minutes of hands-on demonstration.\n
  135. \n