SlideShare uma empresa Scribd logo
1 de 51
Cooking with Chef
Server management made easy
Me?

Ken Robertson

Senior Software Engineer at Involver

Involver builds a social media marketing platform

Specialize in our platform’s reliability,
performance, and scalability
Our Chef Usage

10 separate environments

120+ servers

All managed with Chef

One Operations Engineer, Two Developers
What is Chef?

Server management and configuration in Ruby

Developed by OpsCode

Adopted by Engine Yard, 37signals, and more

Apache License
Chef isn’t alone

CFEngine: http://cfengine.com/

Puppet: http://www.puppetlabs.com/

http://en.wikipedia.org/wiki/
Comparison_of_open_source_configuration_man
agement_software
Why use Chef?

Repeatable system provisioning

Manual tweaks are not repeatable

Ease scaling

Avoid vendor lock-in
Chef is Repeatable


Continuous configuration management

Ensure system compliance

Recovery from failures
Chef Flavors

chef-solo

    Single instance

chef-server

    Cluster, centrally managed
Chef’s Toolkit


Cookbooks

  Recipes

Attributes
Recipes are
everywhere!

Open source - Engine Yard, 37signals, OpsCode

One offs for specific configurations

Approach with caution
Recipe ingredients:
Sub-recipes

Resources

Attributes

Definitions

Static resources

Templates
Resources
Resources - Examples


execute "some-descriptive-text" do
  command "uptime"
end
Resources - Examples


link "/usr/local/bin/foo" do
  to "/usr/src/foo-#{version}/bin/foo"
end
Resources - Examples


directory "/home/foo/apps/bar" do
  owner "foobar"
  group "foobar"
  recursive true
end
Resources - Examples


package "mongodb"
  version "1.2.3"
  action :install
end
Resources - Examples


package "mongodb"
  action :install, :upgrade
end
Resources - Examples


service "nginx" do
  supports :status => false, :start => true,
           :restart => true, :reload => true
  action [ :enable, :start ]
end
Resources - Examples


cookbook_file "/etc/profile" do
  owner "root"
  group "root"
  mode 644
  source "profile"
end
Resources - Examples


cookbook_file "/etc/profile" do
  owner "root"
  group "root"
  mode 644
  source "http://safesite.com/files/profile"
end
Resources - Examples

template "/etc/hosts" do
  owner "root"
  group "root"
  mode 644
  source "hosts.erb"
  variables(:one => 1, :two => 2)
end
Resources - Examples


cron "clear_tmp_files_older_than_a_day" do
  hour    0
  minute 0
  user    "root"
  command "do_something"
end
Resources - Conditions
execute "install-rubygems-for-jruby" do
  command %Q{
    curl http://production.cf.rubygems.org/rubygems/
rubygems-1.3.7.tgz -O &&
    tar xvzf rubygems-1.3.7.tgz &&
    pushd rubygems-1.3.7 &&
    jruby ./setup.rb &&
    popd &&
    rm rubygems-1.3.7.tgz &&
    rm -r rubygems-1.3.7
  }

  only_if { %x{jruby -S gem --version}.chomp !=
'1.3.7' }
end
Results/Expectations

execute 'install passenger and nginx' do
  command %Q{
       wget -N http://site/file.tar.gz &&
       tar -xvvf file.tar.gz &&
       passenger-install-nginx-module ...
  }
  creates '/data/nginx/sbin/nginx'
end
Triggers

template "/etc/nginx/apps/#{params[:name]}.conf" do
  source "#{params[:name]}.nginx.erb"
  owner node[:user]
  group node[:user]
  mode   0644
  variables(
    :stage => params[:stage],
    :name => params[:name]
  )

  notifies :reload, "service[nginx]", :delayed
end
Triggers
execute "mysql-create-database" do
  ...
  action :nothing
end

template "/tmp/mysql-#{params[:name]}.sql" do
  source "create-database.sql.erb"
  variables(:params => params)
  notifies :run,
    resources(:execute => "mysql-create-database"),
    :immediately
end
Attributes

Runtime configuration values

Define defaults

Pass in at runtime (as JSON)

Available through through the ‘node’ variable
Default Attributes
cookbooks/myrecipe/attributes/*.rb:

nginx_user "www-data"
nginx_port "80"

  => node[:nginx_user]
  => node[:nginx_port]

nginx { :user => 'www-data', :port => 80 }

  => node[:nginx][:user]
  => node[:nginx][:port]
Merging Attributes

default.mysql[:bindir] = '/usr/local/mysql',
default.mysql[:root] = '/data/mysql',
default.mysql[:uid] = 'mysql',
default.mysql[:gid] = 'mysql',
default.mysql[:group_name] = 'mysql',
default.mysql[:version] = '5.1.47'

node[:mysql][:version]
Runtime Attributes

{
    "nginx_user": "www-data",
    "nginx_port": 80,

    "nginx": {
      "user": "www-data",
      "port": 80
    }
}
Runtime Attributes

{
    "mysql": {
      "version": "5.1.47",
      "config": {
        "log_slave_updates": true,
        "auto_increment_increment": "2"
      }
    }
}
Definitions

Mini-recipes

Repeatable blocks or sub-functions

Definitions sub-directory of recipe

cookbooks/myrecipe/definitions
Definitions


link "/usr/local/bin/foo" do
  to "/usr/src/foo-#{version}/bin/foo"
end
Definitions

for db in node[:mysql][:databases] do
  mysql_database db[:name] do
    root_user node[:mysql][:root_user] || 'root'
    root_password node[:mysql][:root_password]
    dbuser db[:user] || db[:name]
    dbpassword db[:password]
  end
end
Definitions
define :mysql_database do
  execute "mysql-create-database" do
    ...
    action :nothing
  end

  template "/tmp/mysql-#{params[:name]}.sql" do
    source "create-database.sql.erb"
    variables(:params => params)
    notifies :run,
      "execute[mysql-create-database]",
      :immediately
  end
end
Definitions

define :nginx_site do
  include_recipe "nginx"

  template "/etc/nginx/apps/#{params[:name]}.conf" do
    source "#{params[:name]}.nginx.erb"
    owner node[:user]
    group node[:user]
    mode   0644
    variables(
      :stage => params[:stage],
      :name => params[:name]
    )

    notifies :reload, "service[nginx]", :delayed
  end
end
Recipe Gotchas



Idempotency
Idempotency

execute "install-jruby" do
  command %Q{
    curl http://urlto/#{version}/jruby-src-#{version}.tar.gz -O &&
    tar xvzf jruby-src-#{version}.tar.gz &&
    pushd jruby-#{version} &&
    ant &&
    popd &&
    mv jruby-#{version} /usr &&
    rm jruby-src-#{version}.tar.gz &&
    ln -snf /usr/jruby-#{version}/bin/jruby /usr/local/bin/jruby
  }

  creates "/usr/jruby-#{version}"
end
Idempotency - Fixed
execute "install-jruby" do
  command %Q{
    curl http://urlto/#{version}/jruby-src-#{version}.tar.gz -O &&
    tar xvzf jruby-src-#{version}.tar.gz &&
    pushd jruby-#{version} &&
    ant &&
    popd &&
    mv jruby-#{version} /usr &&
    rm jruby-src-#{version}.tar.gz
  }

  creates "/usr/jruby-#{version}/bin/jruby"
end

link "/usr/local/bin/jruby" do
  to "/usr/jruby-#{version}/bin/jruby"
end
Recipe Gotchas


Idempotency

Package sources
Recipe Gotchas


Idempotency

Package sources

Install vs upgrade
Install vs Upgrade

package “git-core” do
  action :install
end


package “git-core” do
  action :install, :upgrade
end
Recipe Gotchas

Idempotency

Package sources

Install vs upgrade

Attribute abuse
Recipe Gotchas

Idempotency

Package sources

Install vs upgrade

Attribute abuse

Cowboys and Homers
Homer

packages.each do |pkg|
  package pkg
end

execute "Nuke existing installs" do
  command "rm -rf /etc/tinydns /etc/dnscache"
end

...
Cowboys


One offs

Lack of testing

Manual, undocumented changes
DEMO
Much more!

Chef-server

Searching

Tagging

Libraries
Resources
OpsCode: http://www.opscode.com/

Chef Wiki: http://wiki.opscode.com/

37signals recipes:

http://github.com/37signals/37s_cookbooks

Engine Yard recipes:

http://github.com/engineyard/ey-cloud-recipes
Me!


Twitter: @krobertson

Blog: http://invalidlogic.com/

Email: ken@invalidlogic.com
Questions?

Mais conteúdo relacionado

Mais procurados

Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to ChefKnoldus Inc.
 
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...Chef Software, Inc.
 
Introduction to chef framework
Introduction to chef frameworkIntroduction to chef framework
Introduction to chef frameworkmorgoth
 
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Software, Inc.
 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefChef Software, Inc.
 
Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5Chef
 
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Chef
 
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Chef
 
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4Chef
 
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Chef
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as CodeMatt Ray
 

Mais procurados (20)

Chef training - Day2
Chef training - Day2Chef training - Day2
Chef training - Day2
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
Chef Fundamentals Training Series Module 6: Roles, Environments, Community Co...
 
Introduction to chef framework
Introduction to chef frameworkIntroduction to chef framework
Introduction to chef framework
 
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
 
Chef training - Day3
Chef training - Day3Chef training - Day3
Chef training - Day3
 
Chef training Day5
Chef training Day5Chef training Day5
Chef training Day5
 
Chef training Day4
Chef training Day4Chef training Day4
Chef training Day4
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
 
Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5Environments - Fundamentals Webinar Series Week 5
Environments - Fundamentals Webinar Series Week 5
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
Chef
ChefChef
Chef
 
Introduction to chef
Introduction to chefIntroduction to chef
Introduction to chef
 
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3
 
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
 
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4Common configuration with Data Bags - Fundamentals Webinar Series Part 4
Common configuration with Data Bags - Fundamentals Webinar Series Part 4
 
Chef in a nutshell
Chef in a nutshellChef in a nutshell
Chef in a nutshell
 
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
 
Compliance as Code
Compliance as CodeCompliance as Code
Compliance as Code
 

Destaque

Mobile app-food-ordering-by-app nrg
Mobile app-food-ordering-by-app nrgMobile app-food-ordering-by-app nrg
Mobile app-food-ordering-by-app nrgAppNRG
 
Foodprint UX Report
Foodprint UX ReportFoodprint UX Report
Foodprint UX ReportPeony Trinh
 
Foodie- mobile food app
Foodie- mobile food appFoodie- mobile food app
Foodie- mobile food appJohan Ahmed
 
Tracxn - FoodTech Startup Landscape
Tracxn - FoodTech Startup LandscapeTracxn - FoodTech Startup Landscape
Tracxn - FoodTech Startup LandscapeTracxn
 
Business model Canvas
Business model CanvasBusiness model Canvas
Business model CanvasIbrahim Faza
 

Destaque (7)

Mobile app-food-ordering-by-app nrg
Mobile app-food-ordering-by-app nrgMobile app-food-ordering-by-app nrg
Mobile app-food-ordering-by-app nrg
 
Foodprint UX Report
Foodprint UX ReportFoodprint UX Report
Foodprint UX Report
 
Online Food Ordering Mobile APP
Online Food Ordering Mobile APPOnline Food Ordering Mobile APP
Online Food Ordering Mobile APP
 
Module 4 presentation
Module 4 presentationModule 4 presentation
Module 4 presentation
 
Foodie- mobile food app
Foodie- mobile food appFoodie- mobile food app
Foodie- mobile food app
 
Tracxn - FoodTech Startup Landscape
Tracxn - FoodTech Startup LandscapeTracxn - FoodTech Startup Landscape
Tracxn - FoodTech Startup Landscape
 
Business model Canvas
Business model CanvasBusiness model Canvas
Business model Canvas
 

Semelhante a Cooking with Chef

Practical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppPractical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppSmartLogic
 
Chef or how to make computers do the work for us
Chef or how to make computers do the work for usChef or how to make computers do the work for us
Chef or how to make computers do the work for ussickill
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Carlos Sanchez
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesLindsay Holmwood
 
NLIT 2011: Chef & Capistrano
NLIT 2011: Chef & CapistranoNLIT 2011: Chef & Capistrano
NLIT 2011: Chef & Capistranonickblah
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newYiwei Ma
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slidesharetomcopeland
 
Control your deployments with Capistrano
Control your deployments with CapistranoControl your deployments with Capistrano
Control your deployments with CapistranoRamazan K
 
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetAchieve Internet
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureMichaël Lopez
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012Carlos Sanchez
 
Vagrant introduction for Developers
Vagrant introduction for DevelopersVagrant introduction for Developers
Vagrant introduction for DevelopersAntons Kranga
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year laterChristian Ortner
 
NGINX Can Do That? Test Drive Your Config File!
NGINX Can Do That? Test Drive Your Config File!NGINX Can Do That? Test Drive Your Config File!
NGINX Can Do That? Test Drive Your Config File!Jeff Anderson
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with PuppetKris Buytaert
 
Rails Engine | Modular application
Rails Engine | Modular applicationRails Engine | Modular application
Rails Engine | Modular applicationmirrec
 

Semelhante a Cooking with Chef (20)

infra-as-code
infra-as-codeinfra-as-code
infra-as-code
 
Practical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppPractical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails App
 
Chef or how to make computers do the work for us
Chef or how to make computers do the work for usChef or how to make computers do the work for us
Chef or how to make computers do the work for us
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 
Burn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websitesBurn down the silos! Helping dev and ops gel on high availability websites
Burn down the silos! Helping dev and ops gel on high availability websites
 
NLIT 2011: Chef & Capistrano
NLIT 2011: Chef & CapistranoNLIT 2011: Chef & Capistrano
NLIT 2011: Chef & Capistrano
 
X64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 newX64服务器 lnmp服务器部署标准 new
X64服务器 lnmp服务器部署标准 new
 
Railsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshareRailsconf2011 deployment tips_for_slideshare
Railsconf2011 deployment tips_for_slideshare
 
Chef solo the beginning
Chef solo the beginning Chef solo the beginning
Chef solo the beginning
 
Control your deployments with Capistrano
Control your deployments with CapistranoControl your deployments with Capistrano
Control your deployments with Capistrano
 
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and Puppet
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructure
 
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
 
Vagrant introduction for Developers
Vagrant introduction for DevelopersVagrant introduction for Developers
Vagrant introduction for Developers
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year later
 
NGINX Can Do That? Test Drive Your Config File!
NGINX Can Do That? Test Drive Your Config File!NGINX Can Do That? Test Drive Your Config File!
NGINX Can Do That? Test Drive Your Config File!
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with Puppet
 
Rails Engine | Modular application
Rails Engine | Modular applicationRails Engine | Modular application
Rails Engine | Modular application
 
Puppet
PuppetPuppet
Puppet
 

Último

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Cooking with Chef

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \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