SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
Cloudops fundamentals
    System Management

                   Bret Piatt
           Rackspace Hosting
Static configuration, meet the dodo bird
Severs "appear" based on demand..
Servers "disappear" and it isn't a problem "sometimes"..

Management systems must talk
to the cloud APIs. The source of
truth is no longer "the Visio"..




Diagrams now show functional elements, not specific
systems
"Instant" provisioning is not instant
To provision you have to get data to the new node....

5GB takes 7 minutes on a 100Mbps network..
5TB takes 12 hours on a 1Gbps network..
5PB takes a truck ... or 52 days on a 10Gbps network!
So what do I do with all of my tools?
Many tools end up in the garbage..

..unless they add (or you
write) a dynamic configuration
module..

..Devops, you may need to
code not just script..
Provision by API, configure by hand?!#?

    Chef




                            Puppet
Dev & Ops, sitting in a tree
Your revision control system is not just for source code...




Use it to track all system configuration files...

                           Who hasn't had a dream about the day
                                 they can see every change of a
                                    configuration file on a server
                                        over the entire lifespan?
Meet Pallet, your new cloud creating friend
Chef and Puppet are great for configuring systems...
...but we have to first... have systems to provision!

With Pallet you can create & configure
systems in a management shell..
;; We can create a node, by specifying a name tag and a template.
;; webserver-template is a vector specifying features we want in
;; our image.
(start-node context :webserver webserver-template)

;; At this point we can manage instance counts as a map.
;; e.g ensure that we have two webserver nodes
(with-node-templates templates
  (converge context {:webserver 2}))

;; Images are configured differently between clouds and os's.
;; We might want to update our machines to use the latest
;; package manager. pallet has a couple of templates, and
;; you can add your own, see resources/bootstrap. Templates
;; have a default implementation, but can be specialised
;; for a given tag or operating system family.
(with-node-templates templates
  (converge context {:webserver 1}
    (bootstrap-with (bootstrap-template :ensure-resolve)
              (bootstrap-template :update-pkg-mgr))))
Get it right once, never make a mistake again
Embrace TDD (Test Driven Design) in Ops..

Get the requirements from the business..
1. Maintain 1,000,000 open connections
2. Process 1,000 events per second
3. Run for 1 week without errors

Go build your tests..

Now hack the system until you have a configuration that
passes #1 and #2, then let the tests run until it passes #3..

..and since you built it with Chef/Puppet it is reusable!
Let the software work for you
Continuous Integration (CI) is for operations too!



Ops needs a development world view..

The job isn't done when, "Everything is working normal."

Continually try to improve configurations in the sand box..

..using TDD go from staging to production at improvement
milestones or a "sprint" release cycle...agile operations!
"Those lazy Ops guys.."
Unit tests now become
app monitoring
configuration files..


..eliminate the, "Our test
suite doesn't show the
error you see in
production" conflicts -- maintain a single suite.

def test_sign_up                             http://wiki.github.com/brynary/webrat/
visit "/" click_link "Sign up"
fill_in "Email", :with => "good@example.com"
select "Free account"
click_button "Register" ... end
The moral of the story, "Ops.."
.. is more programatic as APIs replace long lead time steps.

..needs to leverage development best practices.

..is not about just "keeping the lights on."

..is about optimizing everything below the app.

..must change the processes in use today.

..is more technical now than ever before.

..is becoming "software development" at the system level.
Questions?

      Twitter: @bpiatt
bret.piatt@rackspace.com

Contenu connexe

Tendances

Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
elliando dias
 

Tendances (20)

Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECS
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
Introduction to chef
Introduction to chefIntroduction to chef
Introduction to chef
 
What's new in containers
What's new in containersWhat's new in containers
What's new in containers
 
DEVOPS AND MACHINE LEARNING
DEVOPS AND MACHINE LEARNINGDEVOPS AND MACHINE LEARNING
DEVOPS AND MACHINE LEARNING
 
Introducing to Azure Functions
Introducing to Azure FunctionsIntroducing to Azure Functions
Introducing to Azure Functions
 
Genomics data insights
Genomics data insightsGenomics data insights
Genomics data insights
 
Contract-based Testing Approach as a Tool for Shift Lef
Contract-based Testing Approach as a Tool for Shift LefContract-based Testing Approach as a Tool for Shift Lef
Contract-based Testing Approach as a Tool for Shift Lef
 
Configure an environnement for ASP.NET Core 2
Configure an environnement for ASP.NET Core 2Configure an environnement for ASP.NET Core 2
Configure an environnement for ASP.NET Core 2
 
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
Kubernetes Docker Container Implementation Ppt PowerPoint Presentation Slide ...
 
CollabDays 2020 Barcelona - Serverless Kubernetes with KEDA
CollabDays 2020 Barcelona - Serverless Kubernetes with KEDACollabDays 2020 Barcelona - Serverless Kubernetes with KEDA
CollabDays 2020 Barcelona - Serverless Kubernetes with KEDA
 
AWS elastic beanstalk
AWS elastic beanstalkAWS elastic beanstalk
AWS elastic beanstalk
 
Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and Context
 
Build and deployment with Jenkins and Code Deploy on AWS
Build and deployment with Jenkins and Code Deploy on AWSBuild and deployment with Jenkins and Code Deploy on AWS
Build and deployment with Jenkins and Code Deploy on AWS
 
6 Things You Need to Know to Safely Run Kubernetes
6 Things You Need to Know to Safely Run Kubernetes6 Things You Need to Know to Safely Run Kubernetes
6 Things You Need to Know to Safely Run Kubernetes
 
Serverless in action
Serverless in actionServerless in action
Serverless in action
 
[143]Inside fuse deview 2016
[143]Inside fuse   deview 2016[143]Inside fuse   deview 2016
[143]Inside fuse deview 2016
 
Introduction to-chef
Introduction to-chefIntroduction to-chef
Introduction to-chef
 
DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018DevOps with Kubernetes and Helm - OSCON 2018
DevOps with Kubernetes and Helm - OSCON 2018
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
 

Similaire à Cloudops fundamentals management, tdd, test driven design, continuous integration, CI

Continuous Delivery in the Cloud
Continuous Delivery in the CloudContinuous Delivery in the Cloud
Continuous Delivery in the Cloud
Fabio Lessa
 

Similaire à Cloudops fundamentals management, tdd, test driven design, continuous integration, CI (20)

Capistrano, Puppet, and Chef
Capistrano, Puppet, and ChefCapistrano, Puppet, and Chef
Capistrano, Puppet, and Chef
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys Admins
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sites
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecture
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Automated Deployment using Open Source
Automated Deployment using Open SourceAutomated Deployment using Open Source
Automated Deployment using Open Source
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
DevOps
DevOpsDevOps
DevOps
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environments
 
The Secrets of The FullStack Ninja - Part A - Session I
The Secrets of The FullStack Ninja - Part A - Session IThe Secrets of The FullStack Ninja - Part A - Session I
The Secrets of The FullStack Ninja - Part A - Session I
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notes
 
Continuous Delivery in the AWS Cloud
Continuous Delivery in the AWS CloudContinuous Delivery in the AWS Cloud
Continuous Delivery in the AWS Cloud
 
Continuous Delivery in the Cloud
Continuous Delivery in the CloudContinuous Delivery in the Cloud
Continuous Delivery in the Cloud
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
Infrastructure as Code, Theory Crash Course
Infrastructure as Code, Theory Crash CourseInfrastructure as Code, Theory Crash Course
Infrastructure as Code, Theory Crash Course
 
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
 
Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009Clustered PHP - DC PHP 2009
Clustered PHP - DC PHP 2009
 
CI from scratch with Jenkins (EN)
CI from scratch with Jenkins (EN)CI from scratch with Jenkins (EN)
CI from scratch with Jenkins (EN)
 
Consistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefConsistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and Chef
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
 

Plus de Bret Piatt

Plus de Bret Piatt (7)

3 Tips to Stay Safe Online in 2017
3 Tips to Stay Safe Online in 20173 Tips to Stay Safe Online in 2017
3 Tips to Stay Safe Online in 2017
 
OpenStack Tutorial
OpenStack TutorialOpenStack Tutorial
OpenStack Tutorial
 
Future of Data Storage in the Cloud
Future of Data Storage in the CloudFuture of Data Storage in the Cloud
Future of Data Storage in the Cloud
 
How Open Source Cloud Platforms Can Solve Big Data Needs in a Location-Aware,...
How Open Source Cloud Platforms Can Solve Big Data Needs in a Location-Aware,...How Open Source Cloud Platforms Can Solve Big Data Needs in a Location-Aware,...
How Open Source Cloud Platforms Can Solve Big Data Needs in a Location-Aware,...
 
Alternative Database Technology in the Cloud
Alternative Database Technology in the CloudAlternative Database Technology in the Cloud
Alternative Database Technology in the Cloud
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Future of Open Source in a Cloudy World
Future of Open Source in a Cloudy WorldFuture of Open Source in a Cloudy World
Future of Open Source in a Cloudy World
 

Dernier

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
 

Dernier (20)

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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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?
 
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
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Cloudops fundamentals management, tdd, test driven design, continuous integration, CI

  • 1. Cloudops fundamentals System Management Bret Piatt Rackspace Hosting
  • 2. Static configuration, meet the dodo bird Severs "appear" based on demand.. Servers "disappear" and it isn't a problem "sometimes".. Management systems must talk to the cloud APIs. The source of truth is no longer "the Visio".. Diagrams now show functional elements, not specific systems
  • 3. "Instant" provisioning is not instant To provision you have to get data to the new node.... 5GB takes 7 minutes on a 100Mbps network.. 5TB takes 12 hours on a 1Gbps network.. 5PB takes a truck ... or 52 days on a 10Gbps network!
  • 4. So what do I do with all of my tools? Many tools end up in the garbage.. ..unless they add (or you write) a dynamic configuration module.. ..Devops, you may need to code not just script..
  • 5. Provision by API, configure by hand?!#? Chef Puppet
  • 6. Dev & Ops, sitting in a tree Your revision control system is not just for source code... Use it to track all system configuration files... Who hasn't had a dream about the day they can see every change of a configuration file on a server over the entire lifespan?
  • 7. Meet Pallet, your new cloud creating friend Chef and Puppet are great for configuring systems... ...but we have to first... have systems to provision! With Pallet you can create & configure systems in a management shell.. ;; We can create a node, by specifying a name tag and a template. ;; webserver-template is a vector specifying features we want in ;; our image. (start-node context :webserver webserver-template) ;; At this point we can manage instance counts as a map. ;; e.g ensure that we have two webserver nodes (with-node-templates templates (converge context {:webserver 2})) ;; Images are configured differently between clouds and os's. ;; We might want to update our machines to use the latest ;; package manager. pallet has a couple of templates, and ;; you can add your own, see resources/bootstrap. Templates ;; have a default implementation, but can be specialised ;; for a given tag or operating system family. (with-node-templates templates (converge context {:webserver 1} (bootstrap-with (bootstrap-template :ensure-resolve) (bootstrap-template :update-pkg-mgr))))
  • 8. Get it right once, never make a mistake again Embrace TDD (Test Driven Design) in Ops.. Get the requirements from the business.. 1. Maintain 1,000,000 open connections 2. Process 1,000 events per second 3. Run for 1 week without errors Go build your tests.. Now hack the system until you have a configuration that passes #1 and #2, then let the tests run until it passes #3.. ..and since you built it with Chef/Puppet it is reusable!
  • 9. Let the software work for you Continuous Integration (CI) is for operations too! Ops needs a development world view.. The job isn't done when, "Everything is working normal." Continually try to improve configurations in the sand box.. ..using TDD go from staging to production at improvement milestones or a "sprint" release cycle...agile operations!
  • 10. "Those lazy Ops guys.." Unit tests now become app monitoring configuration files.. ..eliminate the, "Our test suite doesn't show the error you see in production" conflicts -- maintain a single suite. def test_sign_up http://wiki.github.com/brynary/webrat/ visit "/" click_link "Sign up" fill_in "Email", :with => "good@example.com" select "Free account" click_button "Register" ... end
  • 11. The moral of the story, "Ops.." .. is more programatic as APIs replace long lead time steps. ..needs to leverage development best practices. ..is not about just "keeping the lights on." ..is about optimizing everything below the app. ..must change the processes in use today. ..is more technical now than ever before. ..is becoming "software development" at the system level.
  • 12. Questions? Twitter: @bpiatt bret.piatt@rackspace.com