SlideShare a Scribd company logo
1 of 16
Download to read offline
Special of the Day
Cookin’ up hybrid clouds with Chef
and the Accenture Cloud Platform
Tom Myers
April 26, 2013
Accenture is using Private Chef as the
management control point for our newly launched
Accenture Cloud Platform.
Copyright © 2013 Accenture All rights reserved. 2
Accenture Cloud Platform
Global footprint
Multiple service providers
Migrating from traditional tools to cloud native
Accenture Cloud Platform Ecosystem
Hybrid Environment
•  Accenture’s Common Hosting Platform
•  Broad Collection of IaaS Providers
- Azure, AWS, OpSource, Terremark…
Geographical Requirements
•  Operating Environment across five continents
•  Soon to be six (how soon will we need Antarctica?)
•  Latency
Transition
•  From Traditional Tools
•  To Cloud-native tools
Balance
•  Platform Agility vs Customer Stability
Provisioning
Traditional
Hardened
Environment
Public/Private
IaaS Cloud
On-premise
and co-lo
“clouds”
Accenture Cloud Platform Ecosystem
Remote Chef Proxy
•  nginx extended to each provider
•  Near file storage
•  Answers several concerns…
Internet Access
•  Client requirements my forbid
•  VPN required
Reduced Cost
•  File transfer
•  Cache
Balance
•  Platform Agility vs Customer Stability
Environments
Production
Test
Public/Private
IaaS Cloud
On-premise
and co-lo
“clouds”
Demo
• VMs
–  Private Chef A (PROD)
–  Private Chef B (TEST)
–  Node One (VM who has been recently provisioned)
• Data Bag Example Usage:
•  Add Local IP (role)
•  Query status data bag
• Environments
–  Transfer (role) from PROD to TEST
–  Rename (data bag) and Transfer (role) back to PROD
Role[bootstrap]
Default
include_recipe "bootstrap::_create_reports_item"
include_recipe "hosts"
include_recipe "chef-client::config"
include_recipe "chef-client::service"
if node.run_list.include?('role[migrate-chef-server]')
include_recipe "bootstrap::migrate_chef_server"
else
include_recipe "bootstrap::core"
end
include_recipe "clone::cleanup_stash"
asgard_report "bootstrap" do
request_type 'bootstrap'
remember true
action :ok
End
Role[bootstrap]
Core
case node['platform_family']
when "windows"
include_recipe "bootstrap::windows"
when "rhel"
include_recipe "bootstrap::redhat"
end
include_recipe "bootstrap::options"
include_recipe "manage-users"
include_recipe "manage-networks"
include_recipe "manage-storage"
include_recipe "commands"
Role[bootstrap]
Options
node['bootstrap']['options'].each do |option|
include_recipe "#{option}::install"
recipe_name = option_enabled?(option) ? 'enable' : 'disable'
include_recipe "#{option}::#{recipe_name}"
End
(Attributes)
default['bootstrap']['options'] = %w(patching zenoss-monitoring)
Data Bags
• Provide common interface for back-end systems
–  Back-end processing
•  Write node-specific data
•  Assign role to run list (if needed)
•  Poll Reports data bag for results
–  Node processing
•  Remove node-specific data
•  Write result to Reports data bag
• Knife plug-in to support operations tasks
• Easy clean-up
Change Server Cookbook
Default
require 'fileutils'
# Everything runs in compile time. Will preempt any other recipes.
# never run this recipe twice
node.run_list.delete("role[change-server]")
node.run_list << 'role[change-server-done]'
node.save
# timestamp for backup/restore
timestamp = Time.now.strftime("%Y%m%d.%H%M%S")
hosts_file_path = node[:hosts][:config]
node_name = Chef::Config[:node_name]
rename_lists = data_bag('rename_nodes')
rename_lists.each do |list_name|
rename_list = data_bag_item('rename_nodes', list_name).raw_data
node_name = rename[node_name] || node_name
end
Change Server Cookbook
# config parameters
conf_dir = node['chef_client']['conf_dir']
client_rb_path = File.join(conf_dir, 'client.rb')
validation_pem_path = File.join(conf_dir, 'validation.pem')
client_pem_path = File.join(conf_dir, 'client.pem')
attributes_json_path = File.join(conf_dir, 'change-server-attributes.json')
backup(hosts_file_path, timestamp, true)
backup(client_rb_path, timestamp)
backup(validation_pem_path, timestamp)
backup(client_pem_path, timestamp)
delete_hostsfile_entries(node)
create_child_chef_configuration(node, conf_dir, client_rb_path, validation_pem_path,
client_pem_path, attributes_json_path)
run_child_chef(node, client_rb_path, attributes_json_path, node_name)
Change Server Cookbook
if File.exists?(client_pem_path)
log_success
node.name(node_name)
reload_chef_client_config(node)
# delete change-server-done from NEW server
node.run_list.delete('role[change-server-done]')
node.save
else
log_failure(client_rb_path, validation_pem_path, attributes_json_path)
restore(hosts_file_path, timestamp)
restore(client_rb_path, timestamp)
restore(validation_pem_path, timestamp)
restore(client_pem_path, timestamp)
# delete change-server-done from OLD server
node.run_list.delete('role[change-server-done]')
node.save
end
Other Interesting Ideas
Side by Side Chef (today)
•  Allow existing chef-using clients to continue use of open-source chef
without interruption until on-boarding process is available.
Shared Org Cookbooks (coming soon)
•  Allow organizations to share (read-only) cookbooks, enabling the
inherent separation between orgs while allowing for a shared baseline
of cookbooks.
Handlers as Alerts (coming soon)
•  Use handlers to alert our back-end systems to provide and alternative
to polling mechanisms.
Web Service Knife Wrapper (coming soon)
•  Consume the ability for knife to bootstrap a newly provisioned server
without requiring any modification to the default provider image via a
web service call from our back-end systems.
16Copyright © 2013 Accenture All rights reserved.
Questions?

More Related Content

What's hot

Citrix - Open Elastic Platform for the Private Cloud
Citrix -  Open Elastic Platform for the Private CloudCitrix -  Open Elastic Platform for the Private Cloud
Citrix - Open Elastic Platform for the Private Cloud
Nati Shalom
 
The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011
Nati Shalom
 

What's hot (20)

Jelastic Hybrid Cloud on Google Cloud Platform
Jelastic Hybrid Cloud on Google Cloud Platform Jelastic Hybrid Cloud on Google Cloud Platform
Jelastic Hybrid Cloud on Google Cloud Platform
 
Nutanix overview
Nutanix overviewNutanix overview
Nutanix overview
 
Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2Which PostgreSQL is right for your multi cloud strategy? P2
Which PostgreSQL is right for your multi cloud strategy? P2
 
Corestack Multi-Cloud Management
Corestack Multi-Cloud ManagementCorestack Multi-Cloud Management
Corestack Multi-Cloud Management
 
Build and manage private and hybrid cloud
Build and manage private and hybrid cloudBuild and manage private and hybrid cloud
Build and manage private and hybrid cloud
 
Which PostgreSQL is right for your multi cloud strategy? P1
Which PostgreSQL is right for your multi cloud strategy? P1Which PostgreSQL is right for your multi cloud strategy? P1
Which PostgreSQL is right for your multi cloud strategy? P1
 
Multi cloud strategy
Multi cloud strategyMulti cloud strategy
Multi cloud strategy
 
Cloud Trends for 2017 and Actions You Can Take Now
Cloud Trends for 2017 and Actions You Can Take NowCloud Trends for 2017 and Actions You Can Take Now
Cloud Trends for 2017 and Actions You Can Take Now
 
Citrix - Open Elastic Platform for the Private Cloud
Citrix -  Open Elastic Platform for the Private CloudCitrix -  Open Elastic Platform for the Private Cloud
Citrix - Open Elastic Platform for the Private Cloud
 
Presentation cloud management platform
Presentation   cloud management platformPresentation   cloud management platform
Presentation cloud management platform
 
Best Practices for Cloud Managed Services Providers: The Path to CMP Success
Best Practices for Cloud Managed Services Providers: The Path to CMP SuccessBest Practices for Cloud Managed Services Providers: The Path to CMP Success
Best Practices for Cloud Managed Services Providers: The Path to CMP Success
 
AWS e-Zest Cloud Event 2013 - AWS for Enterprises
AWS e-Zest Cloud Event 2013 - AWS for EnterprisesAWS e-Zest Cloud Event 2013 - AWS for Enterprises
AWS e-Zest Cloud Event 2013 - AWS for Enterprises
 
Engineering and Operational Services for Cloud Providers
Engineering and Operational Services for Cloud ProvidersEngineering and Operational Services for Cloud Providers
Engineering and Operational Services for Cloud Providers
 
How Cloud Hosted Desktop Differs From Remote Desktop Services?
How Cloud Hosted Desktop Differs From Remote Desktop Services?How Cloud Hosted Desktop Differs From Remote Desktop Services?
How Cloud Hosted Desktop Differs From Remote Desktop Services?
 
SUSE Application Delivery Solutions
SUSE Application Delivery SolutionsSUSE Application Delivery Solutions
SUSE Application Delivery Solutions
 
Webinar: Don't believe the hype, you don't need dedicated storage for VDI
Webinar: Don't believe the hype, you don't need dedicated storage for VDI Webinar: Don't believe the hype, you don't need dedicated storage for VDI
Webinar: Don't believe the hype, you don't need dedicated storage for VDI
 
Get the most out OpenStack block storage with SolidFire
Get the most out OpenStack block storage with SolidFireGet the most out OpenStack block storage with SolidFire
Get the most out OpenStack block storage with SolidFire
 
L'Open Source come motore per l'innovazione
L'Open Source come motore per l'innovazioneL'Open Source come motore per l'innovazione
L'Open Source come motore per l'innovazione
 
The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011The future of scaling forrester research - GigaSpaces Road Show 2011
The future of scaling forrester research - GigaSpaces Road Show 2011
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
 

Viewers also liked

Viewers also liked (18)

Accenture Technology Vision 2015 - Digital Business Era
Accenture Technology Vision 2015 - Digital Business EraAccenture Technology Vision 2015 - Digital Business Era
Accenture Technology Vision 2015 - Digital Business Era
 
ERCOT Settlements and the Smart Grid
ERCOT Settlements and the Smart GridERCOT Settlements and the Smart Grid
ERCOT Settlements and the Smart Grid
 
Managing Smart Meter with DataStax DSE
Managing Smart Meter with DataStax DSEManaging Smart Meter with DataStax DSE
Managing Smart Meter with DataStax DSE
 
Outsmarting the smart meter (Jfokus 2017)
Outsmarting the smart meter (Jfokus 2017)Outsmarting the smart meter (Jfokus 2017)
Outsmarting the smart meter (Jfokus 2017)
 
FinTech outlook for 2017 report discussing trends, opportunities and challenges
FinTech outlook for 2017 report discussing trends, opportunities and challengesFinTech outlook for 2017 report discussing trends, opportunities and challenges
FinTech outlook for 2017 report discussing trends, opportunities and challenges
 
ZTE - smart city solution overview
ZTE - smart city solution overviewZTE - smart city solution overview
ZTE - smart city solution overview
 
Simon Giles, Accenture “Will Smart Cities Ever Live Up To The Hype?” - Mindtr...
Simon Giles, Accenture “Will Smart Cities Ever Live Up To The Hype?” - Mindtr...Simon Giles, Accenture “Will Smart Cities Ever Live Up To The Hype?” - Mindtr...
Simon Giles, Accenture “Will Smart Cities Ever Live Up To The Hype?” - Mindtr...
 
Accenture at Oracle OpenWorld 2015
Accenture at Oracle OpenWorld 2015Accenture at Oracle OpenWorld 2015
Accenture at Oracle OpenWorld 2015
 
Managing your Digital Transformation
Managing your Digital TransformationManaging your Digital Transformation
Managing your Digital Transformation
 
Accenture Public Service Citizen Survey: Public Administration
Accenture Public Service Citizen Survey: Public AdministrationAccenture Public Service Citizen Survey: Public Administration
Accenture Public Service Citizen Survey: Public Administration
 
Accenture Cloud Platform: Control, Manage and Govern the Enterprise Cloud
Accenture Cloud Platform: Control, Manage and Govern the Enterprise CloudAccenture Cloud Platform: Control, Manage and Govern the Enterprise Cloud
Accenture Cloud Platform: Control, Manage and Govern the Enterprise Cloud
 
Building a Digital Transformation Roadmap
Building a Digital Transformation RoadmapBuilding a Digital Transformation Roadmap
Building a Digital Transformation Roadmap
 
The New World of As a Service
The New World of As a ServiceThe New World of As a Service
The New World of As a Service
 
Digital Business - Accenture
Digital Business - AccentureDigital Business - Accenture
Digital Business - Accenture
 
How to develop a digital strategy
How to develop a digital strategyHow to develop a digital strategy
How to develop a digital strategy
 
Accenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of businessAccenture DevOps: Delivering applications at the pace of business
Accenture DevOps: Delivering applications at the pace of business
 
Top Digital Transformation Trends and Priorities for 2016
Top Digital Transformation Trends and Priorities for 2016Top Digital Transformation Trends and Priorities for 2016
Top Digital Transformation Trends and Priorities for 2016
 
Developing a Roadmap for Digital Transformation
Developing a Roadmap for Digital TransformationDeveloping a Roadmap for Digital Transformation
Developing a Roadmap for Digital Transformation
 

Similar to Cookin’ up Hybrid Clouds: Chef and the Accenture Cloud Platform

Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
DataWorks Summit
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & Azure
DataStax Academy
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
Jess Coburn
 

Similar to Cookin’ up Hybrid Clouds: Chef and the Accenture Cloud Platform (20)

Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
 
High Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & AzureHigh Throughput Analytics with Cassandra & Azure
High Throughput Analytics with Cassandra & Azure
 
Apache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's NextApache Samza 1.0 - What's New, What's Next
Apache Samza 1.0 - What's New, What's Next
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for Analysts
 
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
 
TIAD : Automating the modern datacenter
TIAD : Automating the modern datacenterTIAD : Automating the modern datacenter
TIAD : Automating the modern datacenter
 
TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
 
Cloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the CloudCloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the Cloud
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
 
More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)More Cache for Less Cash (DevLink 2014)
More Cache for Less Cash (DevLink 2014)
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, Docker
 
HadoopCon2015 Multi-Cluster Live Synchronization with Kerberos Federated Hadoop
HadoopCon2015 Multi-Cluster Live Synchronization with Kerberos Federated HadoopHadoopCon2015 Multi-Cluster Live Synchronization with Kerberos Federated Hadoop
HadoopCon2015 Multi-Cluster Live Synchronization with Kerberos Federated Hadoop
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
 
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
 
Spring Cloud Config
Spring Cloud ConfigSpring Cloud Config
Spring Cloud Config
 
Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...
Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 

More from Chef Software, Inc.

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.
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Software, Inc.
 
Opscode Webinar: Automation for Education May 08-2013
Opscode Webinar: Automation for Education May 08-2013Opscode Webinar: Automation for Education May 08-2013
Opscode Webinar: Automation for Education May 08-2013
Chef Software, Inc.
 
Utility HPC: Right Systems, Right Scale, Right Science
Utility HPC: Right Systems, Right Scale, Right ScienceUtility HPC: Right Systems, Right Scale, Right Science
Utility HPC: Right Systems, Right Scale, Right Science
Chef Software, Inc.
 

More from Chef Software, Inc. (20)

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 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 Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation Setup
 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of 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
 
Opscode Webinar: Cooking with Chef on Microsoft Windows
Opscode Webinar: Cooking with Chef on Microsoft WindowsOpscode Webinar: Cooking with Chef on Microsoft Windows
Opscode Webinar: Cooking with Chef on Microsoft Windows
 
Opscode tech festa july 2013
Opscode tech festa   july 2013Opscode tech festa   july 2013
Opscode tech festa july 2013
 
Opscode Webinar: Automation for Education May 08-2013
Opscode Webinar: Automation for Education May 08-2013Opscode Webinar: Automation for Education May 08-2013
Opscode Webinar: Automation for Education May 08-2013
 
Utility HPC: Right Systems, Right Scale, Right Science
Utility HPC: Right Systems, Right Scale, Right ScienceUtility HPC: Right Systems, Right Scale, Right Science
Utility HPC: Right Systems, Right Scale, Right Science
 
The Berkshelf Way
The Berkshelf WayThe Berkshelf Way
The Berkshelf Way
 
Using Kanban and Chef: A Case Study – Jeffrey Hulten
Using Kanban and Chef: A Case Study – Jeffrey HultenUsing Kanban and Chef: A Case Study – Jeffrey Hulten
Using Kanban and Chef: A Case Study – Jeffrey Hulten
 
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad HedlundSDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
SDN, Network Virtualization and the Software Defined Data Center – Brad Hedlund
 
ChefConf 2013 Keynote Session – Opscode – Adam Jacob
ChefConf 2013 Keynote Session – Opscode – Adam JacobChefConf 2013 Keynote Session – Opscode – Adam Jacob
ChefConf 2013 Keynote Session – Opscode – Adam Jacob
 
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...
Using Chef and AppFirst to Automate Scale-out/Scale-down of Web Applications ...
 
The InstallShield of the 21st Century – Theo Schlossnagle
The InstallShield of the 21st Century – Theo SchlossnagleThe InstallShield of the 21st Century – Theo Schlossnagle
The InstallShield of the 21st Century – Theo Schlossnagle
 
Chef ignited a DevOps revolution – BK Box
Chef ignited a DevOps revolution – BK BoxChef ignited a DevOps revolution – BK Box
Chef ignited a DevOps revolution – BK Box
 
The unintended benefits of Chef
The unintended benefits of ChefThe unintended benefits of Chef
The unintended benefits of Chef
 
Push jobs: an orchestration building block for private Chef
Push jobs: an orchestration building block for private ChefPush jobs: an orchestration building block for private Chef
Push jobs: an orchestration building block for private Chef
 
Multi-provider Vagrant and Chef: AWS, VMware, and more
Multi-provider Vagrant and Chef: AWS, VMware, and moreMulti-provider Vagrant and Chef: AWS, VMware, and more
Multi-provider Vagrant and Chef: AWS, VMware, and more
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
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...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Cookin’ up Hybrid Clouds: Chef and the Accenture Cloud Platform

  • 1. Special of the Day Cookin’ up hybrid clouds with Chef and the Accenture Cloud Platform Tom Myers April 26, 2013 Accenture is using Private Chef as the management control point for our newly launched Accenture Cloud Platform.
  • 2. Copyright © 2013 Accenture All rights reserved. 2 Accenture Cloud Platform Global footprint Multiple service providers Migrating from traditional tools to cloud native
  • 3. Accenture Cloud Platform Ecosystem Hybrid Environment •  Accenture’s Common Hosting Platform •  Broad Collection of IaaS Providers - Azure, AWS, OpSource, Terremark… Geographical Requirements •  Operating Environment across five continents •  Soon to be six (how soon will we need Antarctica?) •  Latency Transition •  From Traditional Tools •  To Cloud-native tools Balance •  Platform Agility vs Customer Stability
  • 5. Accenture Cloud Platform Ecosystem Remote Chef Proxy •  nginx extended to each provider •  Near file storage •  Answers several concerns… Internet Access •  Client requirements my forbid •  VPN required Reduced Cost •  File transfer •  Cache Balance •  Platform Agility vs Customer Stability
  • 7. Demo • VMs –  Private Chef A (PROD) –  Private Chef B (TEST) –  Node One (VM who has been recently provisioned) • Data Bag Example Usage: •  Add Local IP (role) •  Query status data bag • Environments –  Transfer (role) from PROD to TEST –  Rename (data bag) and Transfer (role) back to PROD
  • 8. Role[bootstrap] Default include_recipe "bootstrap::_create_reports_item" include_recipe "hosts" include_recipe "chef-client::config" include_recipe "chef-client::service" if node.run_list.include?('role[migrate-chef-server]') include_recipe "bootstrap::migrate_chef_server" else include_recipe "bootstrap::core" end include_recipe "clone::cleanup_stash" asgard_report "bootstrap" do request_type 'bootstrap' remember true action :ok End
  • 9. Role[bootstrap] Core case node['platform_family'] when "windows" include_recipe "bootstrap::windows" when "rhel" include_recipe "bootstrap::redhat" end include_recipe "bootstrap::options" include_recipe "manage-users" include_recipe "manage-networks" include_recipe "manage-storage" include_recipe "commands"
  • 10. Role[bootstrap] Options node['bootstrap']['options'].each do |option| include_recipe "#{option}::install" recipe_name = option_enabled?(option) ? 'enable' : 'disable' include_recipe "#{option}::#{recipe_name}" End (Attributes) default['bootstrap']['options'] = %w(patching zenoss-monitoring)
  • 11. Data Bags • Provide common interface for back-end systems –  Back-end processing •  Write node-specific data •  Assign role to run list (if needed) •  Poll Reports data bag for results –  Node processing •  Remove node-specific data •  Write result to Reports data bag • Knife plug-in to support operations tasks • Easy clean-up
  • 12. Change Server Cookbook Default require 'fileutils' # Everything runs in compile time. Will preempt any other recipes. # never run this recipe twice node.run_list.delete("role[change-server]") node.run_list << 'role[change-server-done]' node.save # timestamp for backup/restore timestamp = Time.now.strftime("%Y%m%d.%H%M%S") hosts_file_path = node[:hosts][:config] node_name = Chef::Config[:node_name] rename_lists = data_bag('rename_nodes') rename_lists.each do |list_name| rename_list = data_bag_item('rename_nodes', list_name).raw_data node_name = rename[node_name] || node_name end
  • 13. Change Server Cookbook # config parameters conf_dir = node['chef_client']['conf_dir'] client_rb_path = File.join(conf_dir, 'client.rb') validation_pem_path = File.join(conf_dir, 'validation.pem') client_pem_path = File.join(conf_dir, 'client.pem') attributes_json_path = File.join(conf_dir, 'change-server-attributes.json') backup(hosts_file_path, timestamp, true) backup(client_rb_path, timestamp) backup(validation_pem_path, timestamp) backup(client_pem_path, timestamp) delete_hostsfile_entries(node) create_child_chef_configuration(node, conf_dir, client_rb_path, validation_pem_path, client_pem_path, attributes_json_path) run_child_chef(node, client_rb_path, attributes_json_path, node_name)
  • 14. Change Server Cookbook if File.exists?(client_pem_path) log_success node.name(node_name) reload_chef_client_config(node) # delete change-server-done from NEW server node.run_list.delete('role[change-server-done]') node.save else log_failure(client_rb_path, validation_pem_path, attributes_json_path) restore(hosts_file_path, timestamp) restore(client_rb_path, timestamp) restore(validation_pem_path, timestamp) restore(client_pem_path, timestamp) # delete change-server-done from OLD server node.run_list.delete('role[change-server-done]') node.save end
  • 15. Other Interesting Ideas Side by Side Chef (today) •  Allow existing chef-using clients to continue use of open-source chef without interruption until on-boarding process is available. Shared Org Cookbooks (coming soon) •  Allow organizations to share (read-only) cookbooks, enabling the inherent separation between orgs while allowing for a shared baseline of cookbooks. Handlers as Alerts (coming soon) •  Use handlers to alert our back-end systems to provide and alternative to polling mechanisms. Web Service Knife Wrapper (coming soon) •  Consume the ability for knife to bootstrap a newly provisioned server without requiring any modification to the default provider image via a web service call from our back-end systems.
  • 16. 16Copyright © 2013 Accenture All rights reserved. Questions?