SlideShare une entreprise Scribd logo
1  sur  111
Télécharger pour lire hors ligne
BROWN BAG:
Rapid Chef
Development

Hart Hoover
@hhoover

CLOUD SAVVY
CLOUD SAVVY

2
ENTERPRISE

CLOUD SAVVY

3
CHEF SOLO

CLOUD SAVVY

4
OPEN SOURCE CHEF
CLOUD SAVVY

5
TOOLS!

CLOUD SAVVY

6
TOOLS!

• Git/GitHub

CLOUD SAVVY

6
TOOLS!

• Git/GitHub
• Berkshelf

CLOUD SAVVY

6
TOOLS!

• Git/GitHub
• Berkshelf
• Vagrant

CLOUD SAVVY

6
TOOLS!

•
•
•
•

CLOUD SAVVY

Git/GitHub
Berkshelf
Vagrant
Vagrant Plugins

6
TOOLS!

•
•
•
•
•

CLOUD SAVVY

Git/GitHub
Berkshelf
Vagrant
Vagrant Plugins
Test Kitchen

6
TOOLS!

•
•
•
•
•
•

CLOUD SAVVY

Git/GitHub
Berkshelf
Vagrant
Vagrant Plugins
Test Kitchen
Foodcritic

6
CLOUD SAVVY

7
CLOUD SAVVY

8
CLOUD SAVVY

8
CLOUD SAVVY

8
• A CLI Tool
• A Source Code Management Tool
• A Package Manager
• Replaces parts of knife
• Specifically cookbook management

CLOUD SAVVY

8
• A CLI Tool
• A Source Code Management Tool
• A Package Manager
• Replaces parts of knife
• Specifically cookbook management

THE BERKSHELF WAY IS BETTER
CLOUD SAVVY

8
CLOUD SAVVY

9
CLOUD SAVVY

10
Why Vagrant?
Developers

• Repeatable
• Customizable
• “It works on my machine.”

CLOUD SAVVY

11
Why Vagrant?
Operations

• Disposable Machines
• Test your provisioning
• Local → Production

CLOUD SAVVY

12
Why Vagrant?

=

CLOUD SAVVY

13
TEST KITCHEN

Convergence
Integration Testing
for Chef

CLOUD SAVVY

14
TEST KITCHEN

Convergence
Integration Testing
for Chef
Does my cookbook work?

CLOUD SAVVY

14
TEST KITCHEN
NO

Convergence
Integration Testing
for Chef
Does my cookbook work?

CLOUD SAVVY

14
FoodCritic
Lint testing!
Makes it easy to flag
known issues
Better Cookbooks!
CLOUD SAVVY

15
Chef
WorkFlowS

CLOUD SAVVY
OLD CHEF DEV WORKFLOW

CLOUD SAVVY

17
OLD CHEF DEV WORKFLOW
Edit
Cookbook

CLOUD SAVVY

17
OLD CHEF DEV WORKFLOW
Edit
Cookbook
Upload
Cookbook

CLOUD SAVVY

17
OLD CHEF DEV WORKFLOW
Edit
Cookbook
Upload
Cookbook

Provision
Machine

CLOUD SAVVY

17
OLD CHEF DEV WORKFLOW
Edit
Cookbook
Upload
Cookbook

Provision
Machine
Bootstrap
Machine
CLOUD SAVVY

17
OLD CHEF DEV WORKFLOW
Edit
Cookbook
Upload
Cookbook

Run
Chef Client

Provision
Machine
Bootstrap
Machine
CLOUD SAVVY

17
OLD CHEF DEV WORKFLOW
Edit
Cookbook
SSH &
Validate

Upload
Cookbook

Run
Chef Client

Provision
Machine
Bootstrap
Machine
CLOUD SAVVY

17
OLD CHEF DEV WORKFLOW
Edit
Cookbook
SSH &
Validate

Upload
Cookbook

Run
Chef Client

Provision
Machine
Bootstrap
Machine
CLOUD SAVVY

17
NEW CHEF DEV WORKFLOW

Edit
Cookbook

Test
Kitchen

Vagrant
Up

CLOUD SAVVY

18
Our Workflow

Berkshelf

Vagrant
Up

Test
Kitchen

GitHub

CLOUD SAVVY

Production

Monitoring

19
Our Workflow

Berkshelf

Vagrant
Up

Test
Kitchen

GitHub

CLOUD SAVVY

Production

Monitoring

19
Our Workflow

{

DEV

Berkshelf

Vagrant
Up

Test
Kitchen

GitHub

CLOUD SAVVY

Production

Monitoring

19
Our Workflow

OPS

{

{

DEV

Berkshelf

Vagrant
Up

Test
Kitchen

GitHub

CLOUD SAVVY

Production

Monitoring

19
Development
Walkthrough
Prerequisites

CLOUD SAVVY
What You need

•
•
•
•
•
•
•

VirtualBox
Vagrant
Opscode’s 12.04 Vagrant Box
Ruby (1.9.3 or higher!)
Berkshelf
Test Kitchen
Foodcritic
CLOUD SAVVY

21
Virtualbox

https://www.virtualbox.org/wiki/Downloads

CLOUD SAVVY

22
Vagrant

http://downloads.vagrantup.com

CLOUD SAVVY

23
OPSCODE’S VAGRANT BOX

$	
  vagrant	
  box	
  add	
  
opscode-­‐ubuntu-­‐12.04	
  
http://tinyurl.com/chef1204	
  

CLOUD SAVVY

24
CREATE A PROJECT

$	
  mkdir	
  -­‐p	
  ~/projects/chefnovaclient
$	
  cd	
  ~/projects/chefnovaclient

CLOUD SAVVY

25
Berkshelf

$	
  gem	
  install	
  berkshelf

CLOUD SAVVY

26
Test Kitchen

$	
  gem	
  install	
  test-­‐kitchen	
  -­‐-­‐pre

CLOUD SAVVY

27
FoodCritic

$	
  gem	
  install	
  foodcritic

CLOUD SAVVY

28
CLOUD SAVVY

29
Development
Walkthrough

rackspace-novaclient
&
supernova

CLOUD SAVVY
GET STARTED

$	
  cd	
  ~/projects/chefnovaclient
$	
  berks	
  init

CLOUD SAVVY

31
$	
  berks	
  init
berks	
  init
	
  	
  	
  	
  	
  	
  create	
  	
  Berksfile
	
  	
  	
  	
  	
  	
  create	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  	
  	
  	
  run	
  	
  git	
  init	
  from	
  "."
	
  	
  	
  	
  	
  	
  create	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  create	
  	
  .kitchen.yml
	
  	
  	
  	
  	
  	
  append	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  test/integration/default
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
You	
  must	
  run	
  `bundle	
  install'	
  to	
  fetch	
  any	
  new	
  gems.
	
  	
  	
  	
  	
  	
  create	
  	
  Vagrantfile
Successfully	
  initialized
CLOUD SAVVY

32
$	
  berks	
  init
berks	
  init
	
  	
  	
  	
  	
  	
  create	
  	
  Berksfile
	
  	
  	
  	
  	
  	
  create	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  	
  	
  	
  run	
  	
  git	
  init	
  from	
  "."
	
  	
  	
  	
  	
  	
  create	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  create	
  	
  .kitchen.yml
	
  	
  	
  	
  	
  	
  append	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  test/integration/default
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
You	
  must	
  run	
  `bundle	
  install'	
  to	
  fetch	
  any	
  new	
  gems.
	
  	
  	
  	
  	
  	
  create	
  	
  Vagrantfile
Successfully	
  initialized
CLOUD SAVVY

33
$	
  berks	
  init
berks	
  init
	
  	
  	
  	
  	
  	
  create	
  	
  Berksfile
	
  	
  	
  	
  	
  	
  create	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  	
  	
  	
  run	
  	
  git	
  init	
  from	
  "."
	
  	
  	
  	
  	
  	
  create	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  create	
  	
  .kitchen.yml
	
  	
  	
  	
  	
  	
  append	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  test/integration/default
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
You	
  must	
  run	
  `bundle	
  install'	
  to	
  fetch	
  any	
  new	
  gems.
	
  	
  	
  	
  	
  	
  create	
  	
  Vagrantfile
Successfully	
  initialized
CLOUD SAVVY

34
$	
  berks	
  init
berks	
  init
	
  	
  	
  	
  	
  	
  create	
  	
  Berksfile
	
  	
  	
  	
  	
  	
  create	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  	
  	
  	
  run	
  	
  git	
  init	
  from	
  "."
	
  	
  	
  	
  	
  	
  create	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  create	
  	
  .kitchen.yml
	
  	
  	
  	
  	
  	
  append	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  test/integration/default
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
You	
  must	
  run	
  `bundle	
  install'	
  to	
  fetch	
  any	
  new	
  gems.
	
  	
  	
  	
  	
  	
  create	
  	
  Vagrantfile
Successfully	
  initialized
CLOUD SAVVY

35
$	
  berks	
  init
berks	
  init
	
  	
  	
  	
  	
  	
  create	
  	
  Berksfile
	
  	
  	
  	
  	
  	
  create	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  	
  	
  	
  run	
  	
  git	
  init	
  from	
  "."
	
  	
  	
  	
  	
  	
  create	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  create	
  	
  .kitchen.yml
	
  	
  	
  	
  	
  	
  append	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  test/integration/default
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
You	
  must	
  run	
  `bundle	
  install'	
  to	
  fetch	
  any	
  new	
  gems.
	
  	
  	
  	
  	
  	
  create	
  	
  Vagrantfile
Successfully	
  initialized
CLOUD SAVVY

36
$	
  berks	
  init
berks	
  init
	
  	
  	
  	
  	
  	
  create	
  	
  Berksfile
	
  	
  	
  	
  	
  	
  create	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  	
  	
  	
  run	
  	
  git	
  init	
  from	
  "."
	
  	
  	
  	
  	
  	
  create	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  create	
  	
  .kitchen.yml
	
  	
  	
  	
  	
  	
  append	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  test/integration/default
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
You	
  must	
  run	
  `bundle	
  install'	
  to	
  fetch	
  any	
  new	
  gems.
	
  	
  	
  	
  	
  	
  create	
  	
  Vagrantfile
Successfully	
  initialized
CLOUD SAVVY

37
$	
  berks	
  init
berks	
  init
	
  	
  	
  	
  	
  	
  create	
  	
  Berksfile
	
  	
  	
  	
  	
  	
  create	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  	
  	
  	
  run	
  	
  git	
  init	
  from	
  "."
	
  	
  	
  	
  	
  	
  create	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  create	
  	
  .kitchen.yml
	
  	
  	
  	
  	
  	
  append	
  	
  Thorfile
	
  	
  	
  	
  	
  	
  create	
  	
  test/integration/default
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  .gitignore
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
	
  	
  	
  	
  	
  	
  append	
  	
  Gemfile
You	
  must	
  run	
  `bundle	
  install'	
  to	
  fetch	
  any	
  new	
  gems.
	
  	
  	
  	
  	
  	
  create	
  	
  Vagrantfile
Successfully	
  initialized
CLOUD SAVVY

38
CLOUD SAVVY

39
INSTALL Kitchen-Vagrant

$	
  gem	
  install	
  kitchen-­‐vagrant

CLOUD SAVVY

40
SET UP TEST KITCHEN
Goodbye
10.04!

CLOUD SAVVY

41
RUN Test KitchEN

$	
  kitchen	
  verify

Good Luck!
CLOUD SAVVY

42
CLOUD SAVVY

43
WHAT FAILED?

FATAL:	
  No	
  cookbook	
  found

CLOUD SAVVY

44
What are our
requirements?

CLOUD SAVVY

45
What are our
requirements?

Python
pip

make
package manager

setuptools
CLOUD SAVVY

45
COPY/PasTE

http://tinyurl.com/chefpart2

CLOUD SAVVY

46
BERKSFILE:
DependencIES!

site	
  :opscode
cookbook	
  'apt'
cookbook	
  'build-­‐essential'
cookbook	
  'python'
CLOUD SAVVY

47
RUN Test KitchEN

$	
  kitchen	
  converge

Good Luck!
CLOUD SAVVY

48
Congrats!

You installed something...

CLOUD SAVVY

49
Congrats!

You installed something...
but not what we need.

CLOUD SAVVY

49
BERKSFILE:
THIS IS A COOKBOOK

site	
  :opscode
cookbook	
  'apt'
cookbook	
  'build-­‐essential'
cookbook	
  'python'
metadata
CLOUD SAVVY

50
BERKSFILE:
THIS IS A COOKBOOK

site	
  :opscode
cookbook	
  'apt'
cookbook	
  'build-­‐essential'
cookbook	
  'python'
metadata
CLOUD SAVVY

51
RUN Test KitchEN

$	
  kitchen	
  converge

Good Luck!
CLOUD SAVVY

52
CLOUD SAVVY

53
WHAT FAILED?

Failed	
  to	
  complete	
  #converge	
  action

CLOUD SAVVY

54
metadata.RB:
What is this THING??
name	
  "chefnovaclient"
version	
  "1.0.0"
description	
  "Installs	
  the	
  novaclient."
maintainer	
  "Hart	
  Hoover"
maintainer_email	
  "hart.hoover@rackspace.com"
depends	
  "python"
depends	
  "apt"
supports	
  "ubuntu"
CLOUD SAVVY

55
RUN Test KitchEN

$	
  kitchen	
  converge

Good Luck!
CLOUD SAVVY

56
Congrats!

You installed something...

CLOUD SAVVY

57
Congrats!

You installed something...
but STILL not what we need.

CLOUD SAVVY

57
TIME TO WRITE RECIPES

CLOUD SAVVY

58
TIME TO WRITE RECIPES

$	
  berks	
  cookbook	
  .
Don’t overwrite stuff

CLOUD SAVVY

59
Default RECIPE:
recipes/default.rb
include_recipe	
  "apt"
include_recipe	
  "python::pip"
%w{git	
  python-­‐dev	
  build-­‐essential}.each	
  do	
  |pkg|
	
   package	
  pkg	
  do
	
   	
   action	
  :install
	
   end
end
python_pip	
  "rackspace-­‐novaclient"	
  do
	
   action	
  :install
end
CLOUD SAVVY

60
Default RECIPE:
recipes/default.rb
include_recipe	
  "apt"
include_recipe	
  "python::pip"
%w{git	
  python-­‐dev	
  build-­‐essential}.each	
  do	
  |pkg|
	
   package	
  pkg	
  do
	
   	
   action	
  :install
	
   end
end
python_pip	
  "rackspace-­‐novaclient"	
  do
	
   action	
  :install
end
CLOUD SAVVY

61
Default RECIPE:
recipes/default.rb
include_recipe	
  "apt"
include_recipe	
  "python::pip"
%w{git	
  python-­‐dev	
  build-­‐essential}.each	
  do	
  |pkg|
	
   package	
  pkg	
  do
	
   	
   action	
  :install
	
   end
end
python_pip	
  "rackspace-­‐novaclient"	
  do
	
   action	
  :install
end
CLOUD SAVVY

62
Default RECIPE:
recipes/default.rb
include_recipe	
  "apt"
include_recipe	
  "python::pip"
%w{git	
  python-­‐dev	
  build-­‐essential}.each	
  do	
  |pkg|
	
   package	
  pkg	
  do
	
   	
   action	
  :install
	
   end
end
python_pip	
  "rackspace-­‐novaclient"	
  do
	
   action	
  :install
end
CLOUD SAVVY

63
EDIT YOUR RUN LIST

.kitchen.yaml

suites:
-­‐	
  name:	
  default
	
  	
  run_list:
	
  	
  	
  	
  -­‐	
  recipe[chefnovaclient::default]
	
  	
  attributes:	
  {}
CLOUD SAVVY

64
EDIT YOUR RUN LIST

.kitchen.yaml

suites:
-­‐	
  name:	
  default
	
  	
  run_list:
	
  	
  	
  	
  -­‐	
  recipe[chefnovaclient::default]
	
  	
  attributes:	
  {}
CLOUD SAVVY

65
RUN FOODCRITIC!

$	
  foodcritic	
  .
Everything good?
CLOUD SAVVY

66
If Not:
FIX IT!

CLOUD SAVVY

67
RUN Test KitchEN

$	
  kitchen	
  converge

Good Luck!
CLOUD SAVVY

68
Did it work?

$	
  kitchen	
  login	
  default
$	
  nova	
  help

CLOUD SAVVY

69
CLOUD SAVVY

70
CLOUD SAVVY

71
SUPERNOVA

CLOUD SAVVY

72
Let’s MAKE
AUTOMATED TESTs

$	
  mkdir	
  test/integration/default/bats
$	
  touch	
  test/integration/default/bats/supernova.bats

CLOUD SAVVY

73
TESTING
test/integration/default/bats/supernova.bats

#!/usr/bin/env	
  bats
@test	
  "supernova	
  is	
  installed"	
  {
	
  	
  which	
  supernova
}
CLOUD SAVVY

74
TESTING
test/integration/default/bats/supernova.bats

@test	
  "supernova	
  config	
  exists"	
  {
	
  	
  cat	
  /home/vagrant/.supernova
}
CLOUD SAVVY

75
TESTING
test/integration/default/bats/supernova.bats

@test	
  "run	
  supernova"	
  {
	
  	
  supernova	
  myaccount	
  list
}
CLOUD SAVVY

76
TESTING
test/integration/default/bats/supernova.bats

@test	
  "novaclient	
  installed"	
  {
	
  	
  which	
  nova
}
CLOUD SAVVY

77
SUPERNOVA
recipes/default.rb
python_pip	
  "git+git://github.com/major/supernova.git"	
  do
	
   action	
  :install
end
template	
  "/home/vagrant/.supernova"	
  do
	
  	
  source	
  "supernova.erb"
	
  	
  mode	
  0600
	
  	
  owner	
  "vagrant"
	
  	
  group	
  "vagrant"
end
CLOUD SAVVY

78
SuperNova
templates/default/supernova.erb
[myaccount]
OS_AUTH_URL=https://identity.api.rackspacecloud.com/v2.0/
OS_VERSION=2.0
OS_AUTH_SYSTEM=rackspace
OS_REGION_NAME=DFW
OS_SERVICE_NAME=cloudserversOpenStack
OS_TENANT_NAME=<%=	
  node['chefnovaclient']['username']	
  %>
OS_USERNAME=<%=	
  node['chefnovaclient']['username']	
  %>
OS_PASSWORD=<%=	
  node['chefnovaclient']['password']	
  %>
OS_NO_CACHE=1
NOVA_VOLUME_SERVICE_NAME=cloudBlockStorage
CLOUD SAVVY

79
SuperNova
templates/default/supernova.erb
[myaccount]
OS_AUTH_URL=https://identity.api.rackspacecloud.com/v2.0/
OS_VERSION=2.0
OS_AUTH_SYSTEM=rackspace
OS_REGION_NAME=DFW
OS_SERVICE_NAME=cloudserversOpenStack
OS_TENANT_NAME=<%=	
  node['chefnovaclient']['username']	
  %>
OS_USERNAME=<%=	
  node['chefnovaclient']['username']	
  %>
OS_PASSWORD=<%=	
  node['chefnovaclient']['password']	
  %>
OS_NO_CACHE=1
NOVA_VOLUME_SERVICE_NAME=cloudBlockStorage
CLOUD SAVVY

80
SuperNova
attributes/default.rb

default['chefnovaclient']['username']	
  =	
  "USERNAME"
default['chefnovaclient']['password']	
  =	
  "APIKEY"

CLOUD SAVVY

81
RUN FOODCRITIC!

$	
  foodcritic	
  .
Everything good?
CLOUD SAVVY

82
RUN Test KitchEN

$	
  kitchen	
  converge

Good Luck!
CLOUD SAVVY

83
RUN YOUR Tests

$	
  kitchen	
  verify

Good Luck!
CLOUD SAVVY

84
“SAVE YOUR WORK”

CLOUD SAVVY

85
THANK
YOU!

CLOUD SAVVY

Contenu connexe

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
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
 
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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
[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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
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
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
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
 
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...
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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)
 
[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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Rapid Chef Development with Berkshelf, Test-Kitchen and Foodcritic