SlideShare a Scribd company logo
1 of 44
Download to read offline
The Problem
Our intrepid systems administrator installs the
         operating system from disk
From other disks, the anti-virus, office suite,and
other vendor-provided applications the system
              needs are loaded.
Patches for the operating system and applications
 are downloaded, either directly or indirectly, and
            are applied to the system.
What's wrong whit that?
●   The CDROMs may be different versions on
    different installs
●   The patches from external sources will amost
    certainly be different on different installs
●   The systems administrator may not put systems
    together in an identical manner
●   Basically no two systems will be alike
●   This will result in two “identical” systems with
    different behavior
The system is released to developers, who write
 and compile code, and copy it to the system.
I said “developers.”
(you could add DBAs and application owners to
     this list, but you see where I'm going)
What's wrong with that?
●   It almost guarantees that different code will be
    deployed to different “identical” systems
●   If a system “blows up” and needs to be rebuilt,
    you have to throw operations resources and
    development resources at it to get it running
    again.
●   If you need to re-create a system “as-built” you
    have to find all the sources again (this just
    won't happen).
For the next system, wash, rinse repeat.
And so on, and so on, until the work not only fills
all the time of all the bodies, but additional bodies
       are needed to keep up with the work.
Welcome to “meat cloud” computing.
(also, you'll need managers, “senior” managers to
 manage them, and “Directors” to manage them.)
All the while, no one will really have any idea
  what's going on, (beyond a holistic level)
But what can you do?
Identify your “authoritative” sources of information.
Found 'em! Now what?
Umm, I think I may see the problem...
Let's start over...
What if, instead of installing operating systems
  and applications striaght from media, the
  sysadmin stored them in a “repository”?
And then, any time a system was built, a script
 would grab those packages, and install the
  operating system, and the applications?
One small script (or recipe) for each application,
     describing how it should be installed.
Now the application (package) repository will
always be changing, as will the recipies that install
          the applications (packages)...
A “version control system” (vcs) shall be
maintained for both the package repositories and
             the installation scripts.
A host “meta-data” repository will instruct from
which repository to pull packages, and which
 scripts to use to install and configure them.
Patches for the Operating Systems and
applications could be staged in the appropriate
repositories, and scripts written to install them.
Developers would need to package their
applications for installation, and provide
   automated scripts for installation.
Now when boxes need built or rebuilt, no human
 resources are needed other than to initiate the
                  process.
Now identify your “authoritative” sources of
               information...
Found them!
Now that's more like it.
There are 3 major components
●   The package repository
●   The recipe store
●   The meta-data repository
The Package Repository
●   Nothing gets installed to a system, by hand or
    in an auotmated fashion without the installer
    being copied to the package repository first.
●   The repository will be version controlled by
    cloning with hard-links, and then and only then
    adding new content.
●   The repositories versions will be given unique
    IDs that can be linked to hosts in the meta-data
    repository
●   A host shall only pull from one repository, even
    if a new one needs to be cloned to satisfy this.
The Recipe Store
●   The recipe store will contain recipes for
    installing any and everything we install.
●   Every component will have a unique ID that can
    be tied to a host using the meta-data repository
●   All recipies will be version controlled.
●   No items unique to a host will go in the recipe
    store.
●   Items unique to a host will be pulled from the
    meta-data repository and “merged” with the
    recipe to complete the configuration
The meta-data repository
●   The meta-data repository will describe the
    infrastructure at the highest level
●   The meta-data repository must be able to be
    queried by any script or application, or by hand
●   It must conform to an open standard
●   It must be network facing (no application tiers)
●   It must be secure (SSL/TLS)
●   It must handle authentication and authorization
    internally
Additional components
●   Monitoring rules may be added to the recipe
    store such that hosts tied to the monitoring
    rules via the meta-data repository will be
    monitored in the manner described in the store.
●   Back-up rules may be added to the recipie
    store such that hosts tied to the back-up rules
    via the meta-data repository will back up
    accordingly
●   Any other rules may be set up in the same
    manner...
Process flow
The players
On the “Install Inititiator”, the command is given to deploy the
“Target Host.” The initiator queries the meta-data repository for the
                          specifics of the install
The meta-data repository replies with, what to install, where, and
     the personalization information specific to the host.
The install initiator (using the meta-data) instructs the target host
 which recipies to use to install which packages from a specific
                               repository.
The target host pulls the appropriate packages from the package
repository, and the installation recipies and does the work needed
                           to install itself.
Once installation is complete the target host routinely queries the
meta-data-repository and the recipie store for changes, and does
any work defined therein. It is now in “configuration management”
                               mode.
If the recipe store or the meta-data repository indicate that the
target host should point to a new repository, then the target host
  will update it's packages accordingly. This is how patches are
                             applied.
Design Terminology
●   The “package repository” may be an apt
    repository, yum repository, a CIFS share, or a
    combination of them, depending on the
    operating system(s) you need to install
●   The “recipe store” may be version-controlled
    shell scripts, batch files, cfengine policies,
    puppet manifests, or whatever you need to get
    the job done.
●   The “meta-data repository” can be an LDAP
    server (or a set of them) or a bunch of YAML
    files in git/svn, again, whatever you need...
Questions?

More Related Content

Viewers also liked

Configuration management
Configuration managementConfiguration management
Configuration management
Kobi Vider
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
Shivani Garg
 

Viewers also liked (9)

Configuration management plan
Configuration management planConfiguration management plan
Configuration management plan
 
Awesome CMS! Implementing Configuration Management to Maximise Value #LEADit
Awesome CMS! Implementing Configuration Management to Maximise Value #LEADitAwesome CMS! Implementing Configuration Management to Maximise Value #LEADit
Awesome CMS! Implementing Configuration Management to Maximise Value #LEADit
 
how to establish an IT application management with santix consulting
how to establish an IT application management with santix consultinghow to establish an IT application management with santix consulting
how to establish an IT application management with santix consulting
 
Configuration management
Configuration managementConfiguration management
Configuration management
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
SharePoint Configuration Management – Effective Techniques for Regulated Shar...
SharePoint Configuration Management – Effective Techniques for Regulated Shar...SharePoint Configuration Management – Effective Techniques for Regulated Shar...
SharePoint Configuration Management – Effective Techniques for Regulated Shar...
 
software configuratiom management role n resposnbilities
software configuratiom management role n resposnbilitiessoftware configuratiom management role n resposnbilities
software configuratiom management role n resposnbilities
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
 

Similar to Automations Presentation New

Exploit Frameworks
Exploit FrameworksExploit Frameworks
Exploit Frameworks
phanleson
 

Similar to Automations Presentation New (20)

Demystifying puppet
Demystifying puppetDemystifying puppet
Demystifying puppet
 
Automating your infrastructure with Chef
Automating your infrastructure with ChefAutomating your infrastructure with Chef
Automating your infrastructure with Chef
 
What are the configuration files in the prancer framework
What are the configuration files in the prancer frameworkWhat are the configuration files in the prancer framework
What are the configuration files in the prancer framework
 
Pantheon basics
Pantheon basicsPantheon basics
Pantheon basics
 
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
 
UEMB210: Software Delivery: Best Practices
UEMB210: Software Delivery: Best PracticesUEMB210: Software Delivery: Best Practices
UEMB210: Software Delivery: Best Practices
 
Drupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - DeployDrupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - Deploy
 
SFDC Deployments
SFDC DeploymentsSFDC Deployments
SFDC Deployments
 
Build cloud native solution using open source
Build cloud native solution using open source Build cloud native solution using open source
Build cloud native solution using open source
 
Cloudops fundamentals management, tdd, test driven design, continuous integra...
Cloudops fundamentals management, tdd, test driven design, continuous integra...Cloudops fundamentals management, tdd, test driven design, continuous integra...
Cloudops fundamentals management, tdd, test driven design, continuous integra...
 
Exploit Frameworks
Exploit FrameworksExploit Frameworks
Exploit Frameworks
 
Pluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and DockerPluggable Infrastructure with CI/CD and Docker
Pluggable Infrastructure with CI/CD and Docker
 
Analysis of merge requests in GitLab using PVS-Studio for C#
Analysis of merge requests in GitLab using PVS-Studio for C#Analysis of merge requests in GitLab using PVS-Studio for C#
Analysis of merge requests in GitLab using PVS-Studio for C#
 
System monitoring
System monitoringSystem monitoring
System monitoring
 
Reliable from-source builds (Qshare 28 Nov 2023).pdf
Reliable from-source builds (Qshare 28 Nov 2023).pdfReliable from-source builds (Qshare 28 Nov 2023).pdf
Reliable from-source builds (Qshare 28 Nov 2023).pdf
 
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage ServiceQuick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
Quick-Start Guide: Deploying Your Cloudian HyperStore Hybrid Storage Service
 
CV_RishabhDixit
CV_RishabhDixitCV_RishabhDixit
CV_RishabhDixit
 
What is Chef and how we use it at tripsta
What is Chef and how we use it at tripstaWhat is Chef and how we use it at tripsta
What is Chef and how we use it at tripsta
 
Manual Sophos
Manual SophosManual Sophos
Manual Sophos
 
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdfFiner Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
Finer Things Club - Lesser known zOSMF SW Mgmt Functions.pdf
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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...
 
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
 
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...
 

Automations Presentation New

  • 2. Our intrepid systems administrator installs the operating system from disk
  • 3. From other disks, the anti-virus, office suite,and other vendor-provided applications the system needs are loaded.
  • 4. Patches for the operating system and applications are downloaded, either directly or indirectly, and are applied to the system.
  • 5. What's wrong whit that? ● The CDROMs may be different versions on different installs ● The patches from external sources will amost certainly be different on different installs ● The systems administrator may not put systems together in an identical manner ● Basically no two systems will be alike ● This will result in two “identical” systems with different behavior
  • 6. The system is released to developers, who write and compile code, and copy it to the system.
  • 7. I said “developers.” (you could add DBAs and application owners to this list, but you see where I'm going)
  • 8. What's wrong with that? ● It almost guarantees that different code will be deployed to different “identical” systems ● If a system “blows up” and needs to be rebuilt, you have to throw operations resources and development resources at it to get it running again. ● If you need to re-create a system “as-built” you have to find all the sources again (this just won't happen).
  • 9. For the next system, wash, rinse repeat.
  • 10. And so on, and so on, until the work not only fills all the time of all the bodies, but additional bodies are needed to keep up with the work.
  • 11. Welcome to “meat cloud” computing. (also, you'll need managers, “senior” managers to manage them, and “Directors” to manage them.)
  • 12. All the while, no one will really have any idea what's going on, (beyond a holistic level)
  • 13. But what can you do?
  • 14. Identify your “authoritative” sources of information.
  • 15. Found 'em! Now what?
  • 16. Umm, I think I may see the problem...
  • 18. What if, instead of installing operating systems and applications striaght from media, the sysadmin stored them in a “repository”?
  • 19. And then, any time a system was built, a script would grab those packages, and install the operating system, and the applications?
  • 20. One small script (or recipe) for each application, describing how it should be installed.
  • 21. Now the application (package) repository will always be changing, as will the recipies that install the applications (packages)...
  • 22. A “version control system” (vcs) shall be maintained for both the package repositories and the installation scripts.
  • 23. A host “meta-data” repository will instruct from which repository to pull packages, and which scripts to use to install and configure them.
  • 24. Patches for the Operating Systems and applications could be staged in the appropriate repositories, and scripts written to install them.
  • 25. Developers would need to package their applications for installation, and provide automated scripts for installation.
  • 26. Now when boxes need built or rebuilt, no human resources are needed other than to initiate the process.
  • 27. Now identify your “authoritative” sources of information...
  • 29. Now that's more like it.
  • 30. There are 3 major components ● The package repository ● The recipe store ● The meta-data repository
  • 31. The Package Repository ● Nothing gets installed to a system, by hand or in an auotmated fashion without the installer being copied to the package repository first. ● The repository will be version controlled by cloning with hard-links, and then and only then adding new content. ● The repositories versions will be given unique IDs that can be linked to hosts in the meta-data repository ● A host shall only pull from one repository, even if a new one needs to be cloned to satisfy this.
  • 32. The Recipe Store ● The recipe store will contain recipes for installing any and everything we install. ● Every component will have a unique ID that can be tied to a host using the meta-data repository ● All recipies will be version controlled. ● No items unique to a host will go in the recipe store. ● Items unique to a host will be pulled from the meta-data repository and “merged” with the recipe to complete the configuration
  • 33. The meta-data repository ● The meta-data repository will describe the infrastructure at the highest level ● The meta-data repository must be able to be queried by any script or application, or by hand ● It must conform to an open standard ● It must be network facing (no application tiers) ● It must be secure (SSL/TLS) ● It must handle authentication and authorization internally
  • 34. Additional components ● Monitoring rules may be added to the recipe store such that hosts tied to the monitoring rules via the meta-data repository will be monitored in the manner described in the store. ● Back-up rules may be added to the recipie store such that hosts tied to the back-up rules via the meta-data repository will back up accordingly ● Any other rules may be set up in the same manner...
  • 37. On the “Install Inititiator”, the command is given to deploy the “Target Host.” The initiator queries the meta-data repository for the specifics of the install
  • 38. The meta-data repository replies with, what to install, where, and the personalization information specific to the host.
  • 39. The install initiator (using the meta-data) instructs the target host which recipies to use to install which packages from a specific repository.
  • 40. The target host pulls the appropriate packages from the package repository, and the installation recipies and does the work needed to install itself.
  • 41. Once installation is complete the target host routinely queries the meta-data-repository and the recipie store for changes, and does any work defined therein. It is now in “configuration management” mode.
  • 42. If the recipe store or the meta-data repository indicate that the target host should point to a new repository, then the target host will update it's packages accordingly. This is how patches are applied.
  • 43. Design Terminology ● The “package repository” may be an apt repository, yum repository, a CIFS share, or a combination of them, depending on the operating system(s) you need to install ● The “recipe store” may be version-controlled shell scripts, batch files, cfengine policies, puppet manifests, or whatever you need to get the job done. ● The “meta-data repository” can be an LDAP server (or a set of them) or a bunch of YAML files in git/svn, again, whatever you need...