SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Chef on Linux on POWER
Alex Manly
Solutions Architect
Email: am@chef.io
Twitter: @apmanly
16+ years experience in software engineering, design and architecture.
Previously worked at IBM GBS based in Southbank for 7 years.
Roles included developer, enterprise architect, VP product development
Speaker in all things Continuous – Deployment automation, testing
automation
Professional verticals have included financial (commercial and retail
banking), insurance, government and media
Based in London, UK
Who is Alex?
Contents
• What is Chef
• How Chef Works
• DevOps Rising
• The Chef Platform
• Porting to Linux on POWER
• Chef and IBM
• Chef on Linux on POWER Demo
Leader in next generation of automation solutions
Leading the DevOps movement
– Alignment between Infrastructure and Apps
Key partners: IBM, Amazon Web Services, Microsoft,
HP, Accenture, PWC, VMWare
100%+ Enterprise & Usage Growth Year over Year
Offices in Seattle, San Francisco, Atlanta, and London
What is Chef?
The New Face of Business
Chef is an automation and delivery platform
born in the service of velocity and scale.
In the data center
+ in the cloud
Infrastructure
+ applications
REQUIREMENTS
How Chef Works
• Define reusable resources and
infrastructure state as code
• Manages deployment and
on-going automation
• Community content available
for all common automation tasks
1 ▼ package “httpd” do
2 action :install
3 ▲ end
4
5 ▼ template “/etc/httpd/httpd.conf” do
6 source “httpd.conf.erb”
7 mode 0755
8 owner “root”
9 group “root”
10 ▲ end
11
12 ▼ service “httpd” do
13 action [:enable, :start]
14 done
15
1 ▼ windows_feature ‘IIS-WebServerRole’ do
2 action :install
3 ▲ end
4
5 ▼ windows_feature ‘IIS-ASPNET’ do
6 action :install
7 ▲ end
8
9 ▼ iis_pool FooBarPool do
10 runtime_version “4.0”
11 action :add
12 ▲ end
13
14 ▼ iis_site FooBarLTDSite do
15 protocol :http
16 port 80
17 path C:FooBarSite
18 action [:add, :start]
19 ▲ end
Chef Architecture
Code Revision
Control
System
Automation
Server
Nodes
Policy
State
Chef is Infrastructure as Code
Programmatically provision and
configure components
Treat it like any other code base
Reconstruct business from code
repository, data backup, and compute
resources
DevOps Rising
DevOps is a primary movement in the
growing trend to industrialize IT
service development and production.
IDC expects DevOps strategies will
increasingly dominate enterprise and
service provider strategies.
By 2016, DevOps will be employed by
25% of Global 2000 organizations.
DevOps technologies will achieve
revenue of $4B by 2018.
Chef is the leader of the DevOps market
Born with the DevOps movement
Partners with big web and the enterprise
Understands DevOps success patterns
Distilled these patterns into the Chef platform
Porting to Linux on POWER
• Actually very easy to do.
• Chef uses Omnibus to create cross platform chef clients for each platform.
• Followed x86 as much as possible, used GCC as the complier and not XLC.
• We had to make a few minor patches and upgrade to the latest versions of
everything for POWER, but it did "mostly just work”
• Chef Server uses OpenResty (a web server based on Nginx), OpenResty uses
Lua and we needed IBM to patch the LuaJIT for POWER support.
• Swapped the Oracle JRE to the IBM JRE.
• That’s all!!!
• By the way, POWER is the fastest kit we’ve worked on.
Chef and IBM
• Alpha versions of Chef Client 12 and Chef Server 12 available for Linux
on POWER for Ubuntu LE and Red Hat Enterprise 7 BE and LE. Beta
packages available by the end of June. Currently discussing adding
support for SLES and RHEL6.
• Official support Chef Client 12 on AIX versions 6.1 and 7.1 in December
2014. Has the ability to manage services, packages, file shares, user
and groups, cron jobs and file based resources. AIX cookbooks also
provides primitives to support other AIX services, such as initab and
inetd.
• Chef is core to IBMs OpenStack offering and IBM is very active in the
Chef OpenStack community. Use Chef to deploy and consume
OpenStack resources through knife-openstack, kitchen-openstack, Chef
Provisioning and OpenStack cookbooks.
Chef and IBM
• IBM’s SoftLayer Cloud also has great Chef support. The knife-
softlayer plugin allows you to easily launch, configure and manage
compute instances in the IBM SoftLayer Cloud. There is a Chef
Provisioning driver for SoftLayer written by an IBM employee:
https://github.com/IMC3ofC/chef-provisioning-softlayer
• IBM developed community cookbooks for managing IBM HTTP
Server, IBM Installation Manager, WebSphere Application Server,
WebSphere Liberty Profile and WebSphere eXtreme Scale.
• A Chef developed, soon to be open sourced, knife plugin that gives
knife the ability to create, bootstrap, and manage virtual machines
in a Linux Kernal-Based Virtual Machine (KVM) hypervisors such
as IBM PowerKVM. Plans for a kitchen and Chef provisioning
driver.
Chef on Linux on POWER Demo
Demo Steps.
• Make changes to application code.
• Locally test my changes:
• Lint testing – code correctness
• Unit testing
• System testing using a Docker container.
• Upload cookbook to hosted Chef Server.
• Bootstrap my Linux on POWER node with the Chef Client and register it with the
Chef Server.
• Assign the cookbooks to the run list of the Linux on POWER node.
• Converge the node.
ChefDK: TDI In a Box
Code Correctness
Unit Tests
Deploy sample environments
A wrapper to tie it all together
Not just syntactic correctness but quality gates too!
Rubocop
Because Ruby
• Identify potential Ruby errors
• Unclosed strings, etc.
• Identify style/convention that helps write better code
• Single quotes vs. double quotes
• This is useful for new Chefs, and helps make the code more readable
• Exclude rules that do not apply
• Not everyone is the same – some tests won’t work for your organization or for Chef code
• Run against static code, so tests are very fast (<5 seconds to run)
Code Correctness
Food Critic
Test Your “Chef Style”
• Flag problems that might cause your Chef cookbooks to fail
on converge
FC010: Invalid search syntax
• Identify style/convention that has been adopted by the Chef
community
FC004: Use a service resource to start and stop
services
• Create custom rules for your own organization’s
compliance/standards
COMP001: Do not allow recipes to mount disk volumes
• Run against static code, so tests are very fast (<5 seconds to
run)
Code Correctness
ChefSpec
Simulate Chef
• Did I send a properly formed piece of code to Chef?
• Especially important if there is mutability in your code
• This can cover things like feature flags, or behavior that changes on a
per-OS basis
• "If on Debian-based Linux I need to install package apache2, but on EL
variants I need to install package httpd.”
• Tests are very fast to run
• Even with simple code, it is useful for new Chefs to find simple errors
quickly
• Useful for regression testing – to make sure new changes
don’t break stuff that worked before.
Unit Tests
Test Kitchen
Let’s do this (almost) for real
• “Signal Out” testing for Chef code
• Just because I said something and it was interpreted correctly, doesn't mean that
what I said is what I meant.
• Executes your Chef code on an actual, factual node
• These nodes should be disposable (local virtualization – VMs /
Containers, cloud instances, etc.)
• Use any number of “signal out” testing products to ensure expected
results
• BATS
• ServerSpec
• Can pull in other cookbook dependencies as well, and execute against
a machine that looks the same as your standard image
Deploy sample environments
Infrastructure Change Control Pipeline
Demo Time
Thank You
Alex Manly
Email: am@chef.io
Twitter: @apmanly
Chef onlinuxonpower

Weitere ähnliche Inhalte

Was ist angesagt?

Delivery With Chef - ChefConf 2015
Delivery With Chef - ChefConf 2015 Delivery With Chef - ChefConf 2015
Delivery With Chef - ChefConf 2015 Chef
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an IntroductionSanjeev Sharma
 
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...Simplilearn
 
DevOps Brisbane Meetup - June - ChefCon 2015
DevOps Brisbane Meetup - June - ChefCon 2015DevOps Brisbane Meetup - June - ChefCon 2015
DevOps Brisbane Meetup - June - ChefCon 2015Michael Villis
 
Continuously serving the developer community with Continuous Integration and...
Continuously serving the developer community with  Continuous Integration and...Continuously serving the developer community with  Continuous Integration and...
Continuously serving the developer community with Continuous Integration and...Thoughtworks
 
Compliance Automation Workshop
Compliance Automation WorkshopCompliance Automation Workshop
Compliance Automation WorkshopChef
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasVMware Tanzu
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloudVMware Tanzu
 
DOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your InfrastructureDOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your Infrastructuredecode2016
 
Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...
Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...
Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...Postman
 
Amazon Web Services for the .NET Developer
Amazon Web Services for the .NET DeveloperAmazon Web Services for the .NET Developer
Amazon Web Services for the .NET DeveloperRob Gillen
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneciberkleid
 
Serverless Delivery
Serverless DeliveryServerless Delivery
Serverless DeliveryCasey Lee
 
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkContinuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkThomas Shaw
 
Learn How Selenium And Jenkins Fit In DevOps | Edureka Live
Learn How Selenium And Jenkins Fit In DevOps | Edureka LiveLearn How Selenium And Jenkins Fit In DevOps | Edureka Live
Learn How Selenium And Jenkins Fit In DevOps | Edureka LiveEdureka!
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle IntroductionGanesh Samarthyam
 

Was ist angesagt? (20)

Delivery With Chef - ChefConf 2015
Delivery With Chef - ChefConf 2015 Delivery With Chef - ChefConf 2015
Delivery With Chef - ChefConf 2015
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
Chef Tutorial | Chef Tutorial For Beginners | DevOps Chef Tutorial | DevOps T...
 
DevOps Brisbane Meetup - June - ChefCon 2015
DevOps Brisbane Meetup - June - ChefCon 2015DevOps Brisbane Meetup - June - ChefCon 2015
DevOps Brisbane Meetup - June - ChefCon 2015
 
Continuously serving the developer community with Continuous Integration and...
Continuously serving the developer community with  Continuous Integration and...Continuously serving the developer community with  Continuous Integration and...
Continuously serving the developer community with Continuous Integration and...
 
Opscode tech festa july 2013
Opscode tech festa   july 2013Opscode tech festa   july 2013
Opscode tech festa july 2013
 
Compliance Automation Workshop
Compliance Automation WorkshopCompliance Automation Workshop
Compliance Automation Workshop
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Bring api manager into your stack
Bring api manager into your stackBring api manager into your stack
Bring api manager into your stack
 
Continuous Deployment to the cloud
Continuous Deployment to the cloudContinuous Deployment to the cloud
Continuous Deployment to the cloud
 
DOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your InfrastructureDOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your Infrastructure
 
Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...
Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...
Postman for Efficient Professional Services: Collaboration, Mocking Dependenc...
 
Amazon Web Services for the .NET Developer
Amazon Web Services for the .NET DeveloperAmazon Web Services for the .NET Developer
Amazon Web Services for the .NET Developer
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
Continuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOneContinuous Deployment of your Application @SpringOne
Continuous Deployment of your Application @SpringOne
 
Serverless Delivery
Serverless DeliveryServerless Delivery
Serverless Delivery
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkContinuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
 
Learn How Selenium And Jenkins Fit In DevOps | Edureka Live
Learn How Selenium And Jenkins Fit In DevOps | Edureka LiveLearn How Selenium And Jenkins Fit In DevOps | Edureka Live
Learn How Selenium And Jenkins Fit In DevOps | Edureka Live
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 

Ähnlich wie Chef onlinuxonpower

Building and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryBuilding and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryMandi Walls
 
Customer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWSCustomer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWSAmazon Web Services
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateChef
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryMandi Walls
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Molliewillemstuursma
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...Amazon Web Services
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupMatt Ray
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterAmazon Web Services
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHMandi Walls
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeRobert Greiner
 
How to Become a Сhef
How to Become a СhefHow to Become a Сhef
How to Become a СhefAmoniac OÜ
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSAmazon Web Services
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineDevOps.com
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoAmazon Web Services
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Brian Ritchie
 

Ähnlich wie Chef onlinuxonpower (20)

DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryBuilding and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
 
Customer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWSCustomer Sharing: iCook - Continuous Deployment with AWS
Customer Sharing: iCook - Continuous Deployment with AWS
 
Achieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef AutomateAchieving DevOps Success with Chef Automate
Achieving DevOps Success with Chef Automate
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous Delivery
 
Chef Cookbook Workflow
Chef Cookbook WorkflowChef Cookbook Workflow
Chef Cookbook Workflow
 
Continuous Integration at Mollie
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Mollie
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
Chef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User GroupChef Automate - Azure Sydney User Group
Chef Automate - Azure Sydney User Group
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPH
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
How to Become a Сhef
How to Become a СhefHow to Become a Сhef
How to Become a Сhef
 
How to become a chef
How to become a chefHow to become a chef
How to become a chef
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWS
 
Orchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release PipelineOrchestrate Your End-to-end Mainframe Application Release Pipeline
Orchestrate Your End-to-end Mainframe Application Release Pipeline
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San Francisco
 
Dev ops
Dev opsDev ops
Dev ops
 
Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011Standardizing and Managing Your Infrastructure - MOSC 2011
Standardizing and Managing Your Infrastructure - MOSC 2011
 

Kürzlich hochgeladen

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Chef onlinuxonpower

  • 1. Chef on Linux on POWER Alex Manly Solutions Architect Email: am@chef.io Twitter: @apmanly
  • 2. 16+ years experience in software engineering, design and architecture. Previously worked at IBM GBS based in Southbank for 7 years. Roles included developer, enterprise architect, VP product development Speaker in all things Continuous – Deployment automation, testing automation Professional verticals have included financial (commercial and retail banking), insurance, government and media Based in London, UK Who is Alex?
  • 3. Contents • What is Chef • How Chef Works • DevOps Rising • The Chef Platform • Porting to Linux on POWER • Chef and IBM • Chef on Linux on POWER Demo
  • 4. Leader in next generation of automation solutions Leading the DevOps movement – Alignment between Infrastructure and Apps Key partners: IBM, Amazon Web Services, Microsoft, HP, Accenture, PWC, VMWare 100%+ Enterprise & Usage Growth Year over Year Offices in Seattle, San Francisco, Atlanta, and London What is Chef?
  • 5. The New Face of Business Chef is an automation and delivery platform born in the service of velocity and scale. In the data center + in the cloud Infrastructure + applications REQUIREMENTS
  • 6. How Chef Works • Define reusable resources and infrastructure state as code • Manages deployment and on-going automation • Community content available for all common automation tasks 1 ▼ package “httpd” do 2 action :install 3 ▲ end 4 5 ▼ template “/etc/httpd/httpd.conf” do 6 source “httpd.conf.erb” 7 mode 0755 8 owner “root” 9 group “root” 10 ▲ end 11 12 ▼ service “httpd” do 13 action [:enable, :start] 14 done 15 1 ▼ windows_feature ‘IIS-WebServerRole’ do 2 action :install 3 ▲ end 4 5 ▼ windows_feature ‘IIS-ASPNET’ do 6 action :install 7 ▲ end 8 9 ▼ iis_pool FooBarPool do 10 runtime_version “4.0” 11 action :add 12 ▲ end 13 14 ▼ iis_site FooBarLTDSite do 15 protocol :http 16 port 80 17 path C:FooBarSite 18 action [:add, :start] 19 ▲ end
  • 8. Chef is Infrastructure as Code Programmatically provision and configure components Treat it like any other code base Reconstruct business from code repository, data backup, and compute resources
  • 9. DevOps Rising DevOps is a primary movement in the growing trend to industrialize IT service development and production. IDC expects DevOps strategies will increasingly dominate enterprise and service provider strategies. By 2016, DevOps will be employed by 25% of Global 2000 organizations. DevOps technologies will achieve revenue of $4B by 2018.
  • 10. Chef is the leader of the DevOps market Born with the DevOps movement Partners with big web and the enterprise Understands DevOps success patterns Distilled these patterns into the Chef platform
  • 11.
  • 12. Porting to Linux on POWER • Actually very easy to do. • Chef uses Omnibus to create cross platform chef clients for each platform. • Followed x86 as much as possible, used GCC as the complier and not XLC. • We had to make a few minor patches and upgrade to the latest versions of everything for POWER, but it did "mostly just work” • Chef Server uses OpenResty (a web server based on Nginx), OpenResty uses Lua and we needed IBM to patch the LuaJIT for POWER support. • Swapped the Oracle JRE to the IBM JRE. • That’s all!!! • By the way, POWER is the fastest kit we’ve worked on.
  • 13. Chef and IBM • Alpha versions of Chef Client 12 and Chef Server 12 available for Linux on POWER for Ubuntu LE and Red Hat Enterprise 7 BE and LE. Beta packages available by the end of June. Currently discussing adding support for SLES and RHEL6. • Official support Chef Client 12 on AIX versions 6.1 and 7.1 in December 2014. Has the ability to manage services, packages, file shares, user and groups, cron jobs and file based resources. AIX cookbooks also provides primitives to support other AIX services, such as initab and inetd. • Chef is core to IBMs OpenStack offering and IBM is very active in the Chef OpenStack community. Use Chef to deploy and consume OpenStack resources through knife-openstack, kitchen-openstack, Chef Provisioning and OpenStack cookbooks.
  • 14. Chef and IBM • IBM’s SoftLayer Cloud also has great Chef support. The knife- softlayer plugin allows you to easily launch, configure and manage compute instances in the IBM SoftLayer Cloud. There is a Chef Provisioning driver for SoftLayer written by an IBM employee: https://github.com/IMC3ofC/chef-provisioning-softlayer • IBM developed community cookbooks for managing IBM HTTP Server, IBM Installation Manager, WebSphere Application Server, WebSphere Liberty Profile and WebSphere eXtreme Scale. • A Chef developed, soon to be open sourced, knife plugin that gives knife the ability to create, bootstrap, and manage virtual machines in a Linux Kernal-Based Virtual Machine (KVM) hypervisors such as IBM PowerKVM. Plans for a kitchen and Chef provisioning driver.
  • 15. Chef on Linux on POWER Demo
  • 16. Demo Steps. • Make changes to application code. • Locally test my changes: • Lint testing – code correctness • Unit testing • System testing using a Docker container. • Upload cookbook to hosted Chef Server. • Bootstrap my Linux on POWER node with the Chef Client and register it with the Chef Server. • Assign the cookbooks to the run list of the Linux on POWER node. • Converge the node.
  • 17. ChefDK: TDI In a Box Code Correctness Unit Tests Deploy sample environments A wrapper to tie it all together Not just syntactic correctness but quality gates too!
  • 18. Rubocop Because Ruby • Identify potential Ruby errors • Unclosed strings, etc. • Identify style/convention that helps write better code • Single quotes vs. double quotes • This is useful for new Chefs, and helps make the code more readable • Exclude rules that do not apply • Not everyone is the same – some tests won’t work for your organization or for Chef code • Run against static code, so tests are very fast (<5 seconds to run) Code Correctness
  • 19. Food Critic Test Your “Chef Style” • Flag problems that might cause your Chef cookbooks to fail on converge FC010: Invalid search syntax • Identify style/convention that has been adopted by the Chef community FC004: Use a service resource to start and stop services • Create custom rules for your own organization’s compliance/standards COMP001: Do not allow recipes to mount disk volumes • Run against static code, so tests are very fast (<5 seconds to run) Code Correctness
  • 20. ChefSpec Simulate Chef • Did I send a properly formed piece of code to Chef? • Especially important if there is mutability in your code • This can cover things like feature flags, or behavior that changes on a per-OS basis • "If on Debian-based Linux I need to install package apache2, but on EL variants I need to install package httpd.” • Tests are very fast to run • Even with simple code, it is useful for new Chefs to find simple errors quickly • Useful for regression testing – to make sure new changes don’t break stuff that worked before. Unit Tests
  • 21. Test Kitchen Let’s do this (almost) for real • “Signal Out” testing for Chef code • Just because I said something and it was interpreted correctly, doesn't mean that what I said is what I meant. • Executes your Chef code on an actual, factual node • These nodes should be disposable (local virtualization – VMs / Containers, cloud instances, etc.) • Use any number of “signal out” testing products to ensure expected results • BATS • ServerSpec • Can pull in other cookbook dependencies as well, and execute against a machine that looks the same as your standard image Deploy sample environments
  • 24. Thank You Alex Manly Email: am@chef.io Twitter: @apmanly