SlideShare uma empresa Scribd logo
1 de 46
STANDARDIZING AND
  MANAGING YOUR
  INFRASTRUCTURE
    by BRIAN RITCHIE
WHO AM I ?

• Worked        for CIMB Group, Mindvalley, IOR, KPC, etc
• Trained     in ITIL and PMI
• TOGAF        certified
• Experience        :
 •   Technical Lead - BI and Analytics

 •   Technical Test Manager - Group Financial Management System (GFMS)

 •   Initiator & Lead - Open Source Competency Centre & Research and Development Centre

 •   PMO Governance, System Administrator, and the list goes on...
WHY AM I EXCITED ?
1. ALL THE AMAZING PEOPLE
    GATHERED HERE FOR
         MOSC 2011
2. ITS MY BIRTHDAY !!!
WHY ARE YOU HERE TODAY ?
• You are a CIO/CTO or equivalent and looking to
 cut costs while innovating on your existing
 infrastructure.
• You are a CIO/CTO or equivalent and looking to
 cut costs while innovating on your existing
 infrastructure.

• You are a COO or equivalent and looking for ways
 to streamline your OPEX while introducing change
• You are a CIO/CTO or equivalent and looking to
 cut costs while innovating on your existing
 infrastructure.

• You are a COO or equivalent and looking for ways
 to streamline your OPEX while introducing change

• You are the "IT Person" and have been instructed
 to "fix it".
• You are a CIO/CTO or equivalent and looking to
 cut costs while innovating on your existing
 infrastructure.

• You are a COO or equivalent and looking for ways
 to streamline your OPEX while introducing change

• You are the "IT Person" and have been instructed
 to "fix it".

• or   you just enjoy learning
• You are a CIO/CTO or equivalent and looking to
 cut costs while innovating on your existing
 infrastructure.

• You are a COO or equivalent and looking for ways
 to streamline your OPEX while introducing change

• You are the "IT Person" and have been instructed
 to "fix it".

• or   you just enjoy learning
WHAT AM I GOING TO TALK
       ABOUT ?
• Originallywas going to fill this presentation with
 scripts and code since this is a SysAdmin’s favorite
 topic
• Originallywas going to fill this presentation with
 scripts and code since this is a SysAdmin’s favorite
 topic
• Originallywas going to fill this presentation with
 scripts and code since this is a SysAdmin’s favorite
 topic

• Realized that all work and no play makes Jack a dull
 boy, so I am going to mix and match
• Originallywas going to fill this presentation with
 scripts and code since this is a SysAdmin’s favorite
 topic

• Realized that all work and no play makes Jack a dull
 boy, so I am going to mix and match
• Originallywas going to fill this presentation with
 scripts and code since this is a SysAdmin’s favorite
 topic

• Realized that all work and no play makes Jack a dull
 boy, so I am going to mix and match
• Originallywas going to fill this presentation with
 scripts and code since this is a SysAdmin’s favorite
 topic

• Realized that all work and no play makes Jack a dull
 boy, so I am going to mix and match

• Tailoredmore towards the Business and Innovation
 side of things but will feature snippets of scripts so
 you understand how easy it is to innovate
• Originallywas going to fill this presentation with
 scripts and code since this is a SysAdmin’s favorite
 topic

• Realized that all work and no play makes Jack a dull
 boy, so I am going to mix and match

• Tailoredmore towards the Business and Innovation
 side of things but will feature snippets of scripts so
 you understand how easy it is to innovate
QUESTIONS TO KEEP IN MIND

• How   to decide if you need change in your infrastructure ?

• How   do you proceed from there ?

• What   are the new innovative ways to make this happen ?

• Current Technologies   and how do you evaluate them before
 applying ?

• How   do I think outside the box ?
CHANGE

Motivations                People
• Speed

• Reliability

• Scalability    Money                Time

                         Dependency
WHAT’S NEXT ?
PLAN AND DESIGN YOUR
        ARCHITECTURE

 Load Balancers

    Firewalls

  Web Cache

 Web Servers

Database Servers
BUT WAIT, PLANNING AND
 DESIGN IS SIMPLE. ITS THE
   DEPLOYMENT AND
  MAINTENANCE THATS
       KILLING US.
INTRODUCING




              Ruby preferred
REDUCE SERVER
DEPLOYMENT TIME TO
    5 MINUTES
WHAT IS CHEF ?


• Fully
     automated configuration management system - Imagine
 an API for your entire line of servers

• Ruby    powered but has a simple DSL (domain specific language)

• Scripts   are now called “Recipes”
WHAT IS WEBISTRANO ?

• Web    UI for managing Capistrano deployments

• Lets
     you manage your projects stages like test, staging and
 production

• Allows   you to do multi-stage and multi-environment scenarios

• Allows   you to track user deployment activity
WHAT IS NAGIOS ?


• Infrastructure   monitoring and alert system

• Ableto monitor uptime, resource usage, and react accordingly
 to perform auto healing

• Ableto integrate easily with Chef to perform auto scaling if
 and when required
WE HAVE THE TOOLS, BUT
HOW DO WE USE THEM ?
CHEF
• Chef      divides its script into “cookbooks” = container/folder

• Each     cookbook has sub-folders :
  •   recipes

  •   resources

  •   attributes

  •   definitions

  •   templates, etc...

• Thishelps keep the scripts consistent, neat, easy to maintain
 and share
SAMPLE SCRIPT FOR CHEF
Apache Bare Installation
  package "apache2" do
    case node[:platform]
    when "centos","redhat","fedora","suse"
      package_name "httpd"
    when "debian","ubuntu"
      package_name "apache2"
    when "arch"
      package_name "apache"
    end
    action :install
  end

                                  Source : https://github.com/opscode/cookbooks
SAMPLE SCRIPT FOR CHEF
MySQL Install Bare
  include_recipe "mysql::client"

  if platform?(%w{debian ubuntu})

    directory "/var/cache/local/preseeding" do
      owner "root"
      group "root"
      mode 0755
      recursive true
    end

  package "mysql-server" do
    action :install
  end

                                    Source : https://github.com/opscode/cookbooks
CHEF WEB INTERFACE
WEBISTRANO


• In
   simple terms, it talks to your revision control system and
 deploys the latest revision to the server

• Allows   you to rollback revisions in case you broke something

• Allowsyou to deploy and rollback on Staging environments
 making it a breeze to update your web apps
SAMPLE SCRIPT FOR
            WEBISTRANO
Install Wordpress - Config
    CONFIG = {
        :application => 'site_name',
        :domain => 'example.com',
        :user => 'demo',
        :password => nil,
        :ssh_port => 12345,
        :use_sudo => 'false',
        :scm => 'subversion',
        :scm_username => 'demosvn',
        :scm_password => 'passsvn',
        :repository => 'svn://svnrepo.company.com/wordpress_base/',
        :base_theme => 'thesis_theme',
        :subdirectory_path => '',
      }
SAMPLE SCRIPT FOR
              WEBISTRANO
Install Wordpress - Deploy
 set :deploy_to, "/home/demo/#{application}"
 set :deploy_via, :remote_cache
 set :copy_exclude, [ '.svn', '.DS_Store', '*.bat', '*.exe', 'Thumbs.db', '*.sh' ]
 set :shared_children, %w(log media system config)

 after 'deploy:setup', 'deploy:sync'
 after 'deploy:sync', 'deploy:cleanup'
WEBISTRANO WEB
  INTERFACE
NAGIOS

• Lots
     of plugins that are used to monitor and track different
 aspects of your infrastructure

• APIallows interaction and “plug and play” interfaces with other
 services such as Chef

• Configurationallows for Dashboard and reporting module to
 be customized to show current resources and provides
 enough data points for future architecture planning and
 reviews
NAGIOS WEB INTERFACE
DOES THIS MAKE BUSINESS
        SENSE ?
POST - EVALUATION

• Reduced deployment times for scaling up servers from 5-6
 hours to 5-10 minutes

• Reduced   IT OPEX by 56%

• Allowed   for Rapid Testing and Iterations

• Lesser
       downtime overall and faster patch deployments and
 upgrade cycles
CONTACT ME

                                      ISO 9001:2008,

• Email   : brianritchie@iorsb.com    ‘PKK Awam Kelas A’,
                                      Grade 7 CIDB




• Twitter   : @brianritchie

• Facebook     : fb.me/brianritchie

• Google   + : goo.gl/O8gjJ

• Skype   : brianritchie

Mais conteúdo relacionado

Mais procurados

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 ChefChef Software, Inc.
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to ChefKnoldus Inc.
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
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 Software, Inc.
 
Web app development with Flask
Web app development with FlaskWeb app development with Flask
Web app development with FlaskJasim Muhammed
 
Chef-Zero & Local Mode
Chef-Zero & Local ModeChef-Zero & Local Mode
Chef-Zero & Local ModeMichael Goetz
 
Overview of chef ( Infrastructure as a Code )
Overview of chef ( Infrastructure as a Code )Overview of chef ( Infrastructure as a Code )
Overview of chef ( Infrastructure as a Code )Pravin Mishra
 
Configuration Management and Salt
Configuration Management and SaltConfiguration Management and Salt
Configuration Management and Salt55020
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with ChefJonathan Weiss
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshopjtimberman
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
 
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
 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeJosh Padnick
 
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 SetupChef 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.
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Chef
 
Infrastructure as Code with Chef
Infrastructure as Code with ChefInfrastructure as Code with Chef
Infrastructure as Code with ChefSarah Hynes Cheney
 
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Chef
 

Mais procurados (20)

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
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
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...
 
Web app development with Flask
Web app development with FlaskWeb app development with Flask
Web app development with Flask
 
Chef-Zero & Local Mode
Chef-Zero & Local ModeChef-Zero & Local Mode
Chef-Zero & Local Mode
 
Ansible
AnsibleAnsible
Ansible
 
Overview of chef ( Infrastructure as a Code )
Overview of chef ( Infrastructure as a Code )Overview of chef ( Infrastructure as a Code )
Overview of chef ( Infrastructure as a Code )
 
Configuration Management and Salt
Configuration Management and SaltConfiguration Management and Salt
Configuration Management and Salt
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
 
Velocity2011 chef-workshop
Velocity2011 chef-workshopVelocity2011 chef-workshop
Velocity2011 chef-workshop
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Async Web and Python
Async Web and PythonAsync Web and Python
Async Web and Python
 
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...
 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
 
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 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...
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
 
Infrastructure as Code with Chef
Infrastructure as Code with ChefInfrastructure as Code with Chef
Infrastructure as Code with Chef
 
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
 

Destaque

Herding Cats: User Research Techniques for Standardizing an Organic Intranet
Herding Cats: User Research Techniques for Standardizing an Organic IntranetHerding Cats: User Research Techniques for Standardizing an Organic Intranet
Herding Cats: User Research Techniques for Standardizing an Organic IntranetGianna Pfister-LaPin
 
The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...
The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...
The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...Rod King, Ph.D.
 
3 Critical Steps to Project Management Office (PMO) Development
3 Critical Steps to Project Management Office (PMO) Development3 Critical Steps to Project Management Office (PMO) Development
3 Critical Steps to Project Management Office (PMO) DevelopmentGravesSE
 
Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...
Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...
Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...Rod King, Ph.D.
 

Destaque (7)

Regional project report
Regional project reportRegional project report
Regional project report
 
Herding Cats: User Research Techniques for Standardizing an Organic Intranet
Herding Cats: User Research Techniques for Standardizing an Organic IntranetHerding Cats: User Research Techniques for Standardizing an Organic Intranet
Herding Cats: User Research Techniques for Standardizing an Organic Intranet
 
The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...
The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...
The 4 Perspectives of BUSINESS MODEL PROJECT MANAGEMENT: Why Some Businesses ...
 
Fountain project model
Fountain project modelFountain project model
Fountain project model
 
3 Critical Steps to Project Management Office (PMO) Development
3 Critical Steps to Project Management Office (PMO) Development3 Critical Steps to Project Management Office (PMO) Development
3 Critical Steps to Project Management Office (PMO) Development
 
Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...
Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...
Simply Standardize Over 40 Business Modeling Tools: The 4Q-Business Model Int...
 
Lean management, lean leadership and leader standard work (AME Webinar)
Lean management, lean leadership and leader standard work (AME Webinar)Lean management, lean leadership and leader standard work (AME Webinar)
Lean management, lean leadership and leader standard work (AME Webinar)
 

Semelhante a Standardizing and Managing Your Infrastructure - MOSC 2011

Quality code in wordpress
Quality code in wordpressQuality code in wordpress
Quality code in wordpressRan Bar-Zik
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarAaron Walker
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsnj-azure
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...DevConFu
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
 
'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps BelfastJohn Fitzpatrick
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefNathen Harvey
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationNick Josevski
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeMichael Ducy
 
AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo  AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo Amazon Web Services
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesShiva Narayanaswamy
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitJennifer Davis
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsTaylor Lovett
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpowerMoya Brannan
 
Compliance Automation with InSpec
Compliance Automation with InSpecCompliance Automation with InSpec
Compliance Automation with InSpec Nathen Harvey
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Amazon Web Services
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsNETWAYS
 

Semelhante a Standardizing and Managing Your Infrastructure - MOSC 2011 (20)

Quality code in wordpress
Quality code in wordpressQuality code in wordpress
Quality code in wordpress
 
Enabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinarEnabling your DevOps culture with AWS-webinar
Enabling your DevOps culture with AWS-webinar
 
My personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev opsMy personal story from azure it pro to azure dev ops
My personal story from azure it pro to azure dev ops
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
 
The ABC's of IaC
The ABC's of IaCThe ABC's of IaC
The ABC's of IaC
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast'Intro to Infrastructure as Code' - DevOps Belfast
'Intro to Infrastructure as Code' - DevOps Belfast
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Continuous database deployment
Continuous database deploymentContinuous database deployment
Continuous database deployment
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 
Why Startups Are Still On AWS
Why Startups Are Still On AWSWhy Startups Are Still On AWS
Why Startups Are Still On AWS
 
DevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as CodeDevOps Columbus Meetup Kickoff - Infrastructure as Code
DevOps Columbus Meetup Kickoff - Infrastructure as Code
 
AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo  AWS Webcast - AWS OpsWorks Continuous Integration Demo
AWS Webcast - AWS OpsWorks Continuous Integration Demo
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Introduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen SummitIntroduction to Chef - Techsuperwomen Summit
Introduction to Chef - Techsuperwomen Summit
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpower
 
Compliance Automation with InSpec
Compliance Automation with InSpecCompliance Automation with InSpec
Compliance Automation with InSpec
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 
OSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy HawkinsOSDC 2013 | Introduction into Chef by Andy Hawkins
OSDC 2013 | Introduction into Chef by Andy Hawkins
 

Mais de Brian Ritchie

Make it Personal by Making it Local
Make it Personal by Making it LocalMake it Personal by Making it Local
Make it Personal by Making it LocalBrian Ritchie
 
Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...
Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...
Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...Brian Ritchie
 
Advanced Growth Marketing 101 by Brian Ritchie
Advanced Growth Marketing 101 by Brian RitchieAdvanced Growth Marketing 101 by Brian Ritchie
Advanced Growth Marketing 101 by Brian RitchieBrian Ritchie
 
Growth by Segmentation - Part 1 by Brian Ritchie
Growth by Segmentation - Part 1 by Brian RitchieGrowth by Segmentation - Part 1 by Brian Ritchie
Growth by Segmentation - Part 1 by Brian RitchieBrian Ritchie
 
Tell Your Story - Brian Ritchie
Tell Your Story - Brian RitchieTell Your Story - Brian Ritchie
Tell Your Story - Brian RitchieBrian Ritchie
 
Introduction to SSL and How to Exploit & Secure
Introduction to SSL and How to Exploit & SecureIntroduction to SSL and How to Exploit & Secure
Introduction to SSL and How to Exploit & SecureBrian Ritchie
 

Mais de Brian Ritchie (7)

Make it Personal by Making it Local
Make it Personal by Making it LocalMake it Personal by Making it Local
Make it Personal by Making it Local
 
Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...
Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...
Buzzwords, Statistics and Lies - True Drivers of Digital Marketing and Growth...
 
Advanced Growth Marketing 101 by Brian Ritchie
Advanced Growth Marketing 101 by Brian RitchieAdvanced Growth Marketing 101 by Brian Ritchie
Advanced Growth Marketing 101 by Brian Ritchie
 
Growth by Segmentation - Part 1 by Brian Ritchie
Growth by Segmentation - Part 1 by Brian RitchieGrowth by Segmentation - Part 1 by Brian Ritchie
Growth by Segmentation - Part 1 by Brian Ritchie
 
Tell Your Story - Brian Ritchie
Tell Your Story - Brian RitchieTell Your Story - Brian Ritchie
Tell Your Story - Brian Ritchie
 
Introduction to SSL and How to Exploit & Secure
Introduction to SSL and How to Exploit & SecureIntroduction to SSL and How to Exploit & Secure
Introduction to SSL and How to Exploit & Secure
 
WiMAX_Intro
WiMAX_IntroWiMAX_Intro
WiMAX_Intro
 

Último

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
 
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
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
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
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Último (20)

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
 
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.
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
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
 
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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Standardizing and Managing Your Infrastructure - MOSC 2011

  • 1. STANDARDIZING AND MANAGING YOUR INFRASTRUCTURE by BRIAN RITCHIE
  • 2. WHO AM I ? • Worked for CIMB Group, Mindvalley, IOR, KPC, etc • Trained in ITIL and PMI • TOGAF certified • Experience : • Technical Lead - BI and Analytics • Technical Test Manager - Group Financial Management System (GFMS) • Initiator & Lead - Open Source Competency Centre & Research and Development Centre • PMO Governance, System Administrator, and the list goes on...
  • 3. WHY AM I EXCITED ?
  • 4. 1. ALL THE AMAZING PEOPLE GATHERED HERE FOR MOSC 2011
  • 5. 2. ITS MY BIRTHDAY !!!
  • 6. WHY ARE YOU HERE TODAY ?
  • 7.
  • 8. • You are a CIO/CTO or equivalent and looking to cut costs while innovating on your existing infrastructure.
  • 9. • You are a CIO/CTO or equivalent and looking to cut costs while innovating on your existing infrastructure. • You are a COO or equivalent and looking for ways to streamline your OPEX while introducing change
  • 10. • You are a CIO/CTO or equivalent and looking to cut costs while innovating on your existing infrastructure. • You are a COO or equivalent and looking for ways to streamline your OPEX while introducing change • You are the "IT Person" and have been instructed to "fix it".
  • 11. • You are a CIO/CTO or equivalent and looking to cut costs while innovating on your existing infrastructure. • You are a COO or equivalent and looking for ways to streamline your OPEX while introducing change • You are the "IT Person" and have been instructed to "fix it". • or you just enjoy learning
  • 12. • You are a CIO/CTO or equivalent and looking to cut costs while innovating on your existing infrastructure. • You are a COO or equivalent and looking for ways to streamline your OPEX while introducing change • You are the "IT Person" and have been instructed to "fix it". • or you just enjoy learning
  • 13. WHAT AM I GOING TO TALK ABOUT ?
  • 14.
  • 15. • Originallywas going to fill this presentation with scripts and code since this is a SysAdmin’s favorite topic
  • 16. • Originallywas going to fill this presentation with scripts and code since this is a SysAdmin’s favorite topic
  • 17. • Originallywas going to fill this presentation with scripts and code since this is a SysAdmin’s favorite topic • Realized that all work and no play makes Jack a dull boy, so I am going to mix and match
  • 18. • Originallywas going to fill this presentation with scripts and code since this is a SysAdmin’s favorite topic • Realized that all work and no play makes Jack a dull boy, so I am going to mix and match
  • 19. • Originallywas going to fill this presentation with scripts and code since this is a SysAdmin’s favorite topic • Realized that all work and no play makes Jack a dull boy, so I am going to mix and match
  • 20. • Originallywas going to fill this presentation with scripts and code since this is a SysAdmin’s favorite topic • Realized that all work and no play makes Jack a dull boy, so I am going to mix and match • Tailoredmore towards the Business and Innovation side of things but will feature snippets of scripts so you understand how easy it is to innovate
  • 21. • Originallywas going to fill this presentation with scripts and code since this is a SysAdmin’s favorite topic • Realized that all work and no play makes Jack a dull boy, so I am going to mix and match • Tailoredmore towards the Business and Innovation side of things but will feature snippets of scripts so you understand how easy it is to innovate
  • 22. QUESTIONS TO KEEP IN MIND • How to decide if you need change in your infrastructure ? • How do you proceed from there ? • What are the new innovative ways to make this happen ? • Current Technologies and how do you evaluate them before applying ? • How do I think outside the box ?
  • 23.
  • 24. CHANGE Motivations People • Speed • Reliability • Scalability Money Time Dependency
  • 26. PLAN AND DESIGN YOUR ARCHITECTURE Load Balancers Firewalls Web Cache Web Servers Database Servers
  • 27. BUT WAIT, PLANNING AND DESIGN IS SIMPLE. ITS THE DEPLOYMENT AND MAINTENANCE THATS KILLING US.
  • 28. INTRODUCING Ruby preferred
  • 30. WHAT IS CHEF ? • Fully automated configuration management system - Imagine an API for your entire line of servers • Ruby powered but has a simple DSL (domain specific language) • Scripts are now called “Recipes”
  • 31. WHAT IS WEBISTRANO ? • Web UI for managing Capistrano deployments • Lets you manage your projects stages like test, staging and production • Allows you to do multi-stage and multi-environment scenarios • Allows you to track user deployment activity
  • 32. WHAT IS NAGIOS ? • Infrastructure monitoring and alert system • Ableto monitor uptime, resource usage, and react accordingly to perform auto healing • Ableto integrate easily with Chef to perform auto scaling if and when required
  • 33. WE HAVE THE TOOLS, BUT HOW DO WE USE THEM ?
  • 34. CHEF • Chef divides its script into “cookbooks” = container/folder • Each cookbook has sub-folders : • recipes • resources • attributes • definitions • templates, etc... • Thishelps keep the scripts consistent, neat, easy to maintain and share
  • 35. SAMPLE SCRIPT FOR CHEF Apache Bare Installation package "apache2" do   case node[:platform]   when "centos","redhat","fedora","suse"     package_name "httpd"   when "debian","ubuntu"     package_name "apache2"   when "arch"     package_name "apache"   end   action :install end Source : https://github.com/opscode/cookbooks
  • 36. SAMPLE SCRIPT FOR CHEF MySQL Install Bare include_recipe "mysql::client" if platform?(%w{debian ubuntu})   directory "/var/cache/local/preseeding" do     owner "root"     group "root"     mode 0755     recursive true   end package "mysql-server" do   action :install end Source : https://github.com/opscode/cookbooks
  • 38. WEBISTRANO • In simple terms, it talks to your revision control system and deploys the latest revision to the server • Allows you to rollback revisions in case you broke something • Allowsyou to deploy and rollback on Staging environments making it a breeze to update your web apps
  • 39. SAMPLE SCRIPT FOR WEBISTRANO Install Wordpress - Config CONFIG = { :application => 'site_name', :domain => 'example.com', :user => 'demo', :password => nil, :ssh_port => 12345, :use_sudo => 'false', :scm => 'subversion', :scm_username => 'demosvn', :scm_password => 'passsvn', :repository => 'svn://svnrepo.company.com/wordpress_base/', :base_theme => 'thesis_theme', :subdirectory_path => '', }
  • 40. SAMPLE SCRIPT FOR WEBISTRANO Install Wordpress - Deploy set :deploy_to, "/home/demo/#{application}" set :deploy_via, :remote_cache set :copy_exclude, [ '.svn', '.DS_Store', '*.bat', '*.exe', 'Thumbs.db', '*.sh' ] set :shared_children, %w(log media system config) after 'deploy:setup', 'deploy:sync' after 'deploy:sync', 'deploy:cleanup'
  • 41. WEBISTRANO WEB INTERFACE
  • 42. NAGIOS • Lots of plugins that are used to monitor and track different aspects of your infrastructure • APIallows interaction and “plug and play” interfaces with other services such as Chef • Configurationallows for Dashboard and reporting module to be customized to show current resources and provides enough data points for future architecture planning and reviews
  • 44. DOES THIS MAKE BUSINESS SENSE ?
  • 45. POST - EVALUATION • Reduced deployment times for scaling up servers from 5-6 hours to 5-10 minutes • Reduced IT OPEX by 56% • Allowed for Rapid Testing and Iterations • Lesser downtime overall and faster patch deployments and upgrade cycles
  • 46. CONTACT ME ISO 9001:2008, • Email : brianritchie@iorsb.com ‘PKK Awam Kelas A’, Grade 7 CIDB • Twitter : @brianritchie • Facebook : fb.me/brianritchie • Google + : goo.gl/O8gjJ • Skype : brianritchie

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n