Capistrano for System Administrators (not rails developers) Bryan McLellan Senior Systems Administrator Widemile.

Slides:



Advertisements
Similar presentations
Using EC2 with HTCondor Todd L Miller 1. › Introduction › Submitting an EC2 job (user tutorial) › New features and other improvements › John Hover talking.
Advertisements

Getting Started with Capistrano and Ruby on Rails Slides taken from
Module 20 Troubleshooting Common SQL Server 2008 R2 Administrative Issues.
Deployment and Mobility of Software Software architecture must eventually be “realized” ---- that is –a) implemented and – b) deployed Deployment is the.
Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
By: Gerardo L. Mazzola Web Application Development Life Cycle “A driven force moving businesses into the future.”
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 16AP. 1Winter Quarter UNIX Process Management.
On Ubuntu Linux. Servers installed SSH APACHE First compiled from source Later installed again with apt-get PHP VNC (ubuntu) Had to be activated in system.
Ruby on Rails CSE 190M, Spring 2009 Week 5. Installing Rails First, install Ruby with RubyGems Then, install the Rails gem gem install rails -version=2.3.2.
DataStax Enterprise on Microsoft Azure. BrightView Analytics provides a robust Software-as-a-Service (SaaS) business solution, which delivers critical.
Installing and Setting up mongoDB replica set PREPARED BY SUDHEER KONDLA SOLUTIONS ARCHITECT.
Ruby on Rails (Slides modified by ements-2ed.shtml)
Paper on Best implemented scientific concept for E-Governance Virtual Machine By Nitin V. Choudhari, DIO,NIC,Akola By Nitin V. Choudhari, DIO,NIC,Akola.
11 MAINTAINING THE OPERATING SYSTEM Chapter 5. Chapter 5: MAINTAINING THE OPERATING SYSTEM2 CHAPTER OVERVIEW Understand the difference between service.
Free Powerpoint Templates Working on remote computers by Pedro Henriques June 1, 2012.
Installing Linux softwares Sirak Kaewjamnong. 2 Software packets  When Linux developers create their software they typically bundle all the executable.
A crash course in njit’s Afs
Virtual Infrastructure: kvm, uvb + libvirt Bryan McLellan Senior Systems Administrator Widemile.
Hjemmeeksamen 1 INF3190. Oppgave Develop a monitoring/administration tool which allows an administrator to use a client to monitor all processes running.
GETTING STARTED USING LINUX UBUNTU FOR A MULTI-USER SYSTEM Team 4 Lab Coordinator Manager Presentation Prep Webmaster Document Prep Faculty Facilitator.
V Avon High School Tech Crew Agenda Old Business –Delete Files New Business –Week 10 Topics: Coming up: –Yearbook Picture: Feb 7 12:20PM.
Paper on Best implemented scientific concept for E-Governance projects Virtual Machine By Nitin V. Choudhari, DIO,NIC,Akola.
The Network Management Lab pc pc pc pc pc Virtual Servers Your Laptop.
Workflow Management Chris A. Mattmann OODT Component Working Group.
V Avon High School Tech Crew Agenda Old Business –Delete Files New Business –Week 9 Topics: Coming up: –Yearbook Picture: Feb 7 12:20PM.
Windows Azure Conference 2014 Running Docker on Windows Azure.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Sponsored by the National Science Foundation Configuration Management For Experimenters: Ansible Hands-On Sarah Edwards, GPO.
© 2008 Cisco Systems, Inc. All rights reserved.CIPT1 v6.0—2-1 Administering Cisco Unified Communications Manager Understanding Cisco Unified Communications.
Tools and Utilities for parallel and serial codes in ENEA-GRID environment CRESCO Project: Salvatore Raia SubProject I.2 C.R. ENEA-Portici. 11/12/2007.
CONNECT: Install Webinar for Code-A-Thon April 20th, 2010.
MSc. Miriel Martín Mesa, DIC, UCLV. The idea Installing a High Performance Cluster in the UCLV, using professional servers with open source operating.
Review Security Hardening IPTables SELinux. Today Installations and updates – Rpm command and packages Apache “Issue Ownership”
A few Linux basics Network Monitoring & Management.
1 What is a Kernel The kernel of any operating system is the core of all the system’s software. The only thing more fundamental than the kernel is the.
Booting Ubuntu Linux Live CSCI 130 – Fall 2008 Action Lab Dr. W. Jones.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Michael Still Google Inc. October, Managing Unix servers the slack way Tools and techniques for managing large numbers of Unix machines Michael.
Ruby on Rails (Slides modified by ements-2ed.shtml)
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Cole David Ronnie Julio Sam Littlefield. Let’s Begin  Globus Toolkit runs on Unix platform only  Install Ubuntu  download all updates for Ubuntu.
Ruby on Rails on Ubuntu Bradley Taylor Rails Machine, LLC
General rules 1. Rule: 2. Rule: 3. Rule: 10. Rule: Ask questions ……………………. 11. Rule: I do not know your skill. If I tell you things you know, please stop.
 Load balancing is the process of distributing a workload evenly throughout a group or cluster of computers to maximize throughput.  This means that.
VApp Product Support Engineering Rev E VMware Confidential.
Linux Services Configuration
Alwayson Availability Groups
CSE 548 Advanced Computer Network Security Trust in MobiCloud using Hadoop Framework Updates Sayan Kole Jaya Chakladar Group No: 1.
(1) Introduction to Continuous Integration Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
D EPT. OF I NFO. & C OMM., GIST Networked Media Lab. Networked Media Laboratory Dept. of Information & Communications Gwangju Institute of Science & Technology.
1 Running MPI on “Gridfarm” Bryan Carpenter February, 2005.
CSC414 “Introduction to UNIX/ Linux” Lecture 3
Alfresco deployment with Docker Andrea Agili Software Engineer – Dr Wolf srl Tommaso Visconti DevOps – Dr Wolf srl.
SCI-BUS is supported by the FP7 Capacities Programme under contract nr RI CloudBroker usage Zoltán Farkas MTA SZTAKI LPDS
WordPress and Etherpad with BlueMix and Docker. Our aim is to run on BlueMix containers (now in beta) these two famous services In the BlueMix dashboard,
Introduction to Ansible
Fixing bugs in Ubuntu. Analysing the problem bzr branch lp:ubuntu/octave-multicore Branched 4 revision(s). cd.
Best practice Upgrade process
CS1010: Intro Workshop.
A solution architect’s perspective on sustainability
CompTIA Server+ Certification (Exam SK0-004)
Linux Beginner Sastra Technologies 2012.
IT Atoumation / Conf. Mgmt...
Our chosen platform is:
Lab 1 introduction, debrief
Capistrano David Grayson Las Vegas Ruby Meetup
INSTALLING AND SETTING UP APACHE2 IN A LINUX ENVIRONMENT
Remote Computing Services Cloud connection Distributed system
LO3 – Understand Business IT Systems
A Virtual Machine Monitor for Utilizing Non-dedicated Clusters
Presentation transcript:

Capistrano for System Administrators (not rails developers) Bryan McLellan Senior Systems Administrator Widemile

Landing Page Optimization (LPO) by way of Secret Sauce with new SaaS Partner Platform Front end F5 VIP Cluster

Landing Page Optimization (LPO) by way of Secret Sauce with new SaaS Partner Platform Debian Host Blades w/VMware Server Debian Guests w/Apace fronted JBoss Clusters Front end Debian Guests w/Apace fronted JBoss Clusters Debian Guests w/Apace fronted JBoss Clusters Debian Guests w/Apace fronted JBoss Clusters F5 VIP Cluster

Landing Page Optimization (LPO) by way of Secret Sauce with new SaaS Partner Platform Debian Host Blades w/VMware Server Debian Guests w/Apace fronted JBoss Clusters Front end Database Backend Debian Guests w/Apace fronted JBoss Clusters Debian Guests w/Apace fronted JBoss Clusters Debian Guests w/Apace fronted JBoss Clusters F5 VIP Cluster MSSQL Cluster

Capistrano is Puppet for the Rails community

Not Invented Here ?

Puppet Ruby / Ruby-ish Written by a Systems Administrator Luke Kanies – Reductive Labs Designed to manage server configuration Capistrano Ruby / Ruby-ish Written by a Rails Developer Jamis Buck – 37signals Designed to deploy web applications Who is your daddy, and what does he do?

Why use Capistrano when we have Puppet? Heard during a Capistrano talk at OSCON Restart a particular service on multiple servers once Check the state of a service or resource (memory, cpu) that isn’t monitored Run a command on multiple servers AND monitor it’s output Systems deployment tasks: install puppet, build VMs, etc.

Installing Capistrano 1.Install ruby 2.Install ruby gems 3.gem install capistrano Wait, what’s a GEM? Yet another package manager

Not Invented Here ?

Not all package management systems are created equal. Debian doesn’t need another package management system. We have our own, it works quite well, thank you. PLEASE do not install unpackaged software on production systems that someone else might have to inherit after your very timely demise. Also note that ‘gem update –system’ tends to break Debian/Ubuntu ruby installations, and is disabled in libgems-ruby

Building a Capistrano deb 1.apt-get install build-essential fakeroot ruby-pkg-tools 2.svn checkout svn://svn.debian.org/pkg-ruby-extras/packages-wip/capistrano/trunk/ 3.wget 4.tar -xvzf capistrano tgz 5.mv trunk/* capistrano-2.2.0/ 6.cd capistrano-2.2.0/ 7.dch –v dpkg-buildpackage –rfakeroot 1.cd.. 2.sudo dpkg -i capistrano_ _all.deb 3.apt-get install -f

fastthread who? $ cap –V You are running Ruby 1.8.6, which has a bug in its threading implementation. You are liable to encounter deadlocks running Capistrano, unless you install the fastthread library, which is available as a gem: gem install fastthread Wait, we’re installing a gem to fix a bug in ruby? This is fixed in ruby1.8 >= p110 ( ubuntu1.1), no worries.

Using Capistrano invoke Assumptions: You can access your servers via SSH – There is some kind of proxy gateway functionality too You have the same password on all servers or PKI configured $ cap HOSTS="ots01, ots02, ots03" COMMAND="whoami" invoke * executing `invoke‘ * executing "whoami“ servers: ["ots01", "ots02", "ots03"] [ots01] executing command [ots02] executing command [ots03] executing command ** [out :: ots01] bryanm ** [out :: ots02] bryanm ** [out :: ots03] bryanm command finished

Why use Capistrano when we have Puppet? Heard during a Capistrano talk at OSCON Restart a particular service on multiple servers once $ cap HOSTS="ots01, ots02, ots03" COMMAND=“/etc/init.d/apache2 restart" invoke Check the state of a service or resource (memory, cpu) that isn’t monitored $ cap HOSTS="ots01, ots02, ots03" COMMAND="grep MemTotal /proc/meminfo" invoke Run a command on multiple servers AND monitor it’s output $ cap HOSTS="ots01, ots02, ots03" COMMAND=“tail –f /var/log/apache2/error.log" invoke Systems deployment tasks: install puppet, build VMs, etc. $ cap -S recipe=debian_client -S client=newbox01 build

Using Capistrano shell $ cap HOSTS="ots01, ots02, ots03" shell * executing `invoke‘ cap> ls [establishing connection(s) to ots01, ots02, ots03] cap> ps ** [out :: ots01] PID TTY TIME CMD ** [out :: ots01] ? 00:00:00 sshd ** [out :: ots01] ? 00:00:00 ps ** [out :: ots03] PID TTY TIME CMD ** [out :: ots03] 3222 ? 00:00:00 sshd ** [out :: ots03] 3231 ? 00:00:00 ps ** [out :: ots02] PID TTY TIME CMD ** [out :: ots02] ? 00:00:00 sshd ** [out :: ots02] ? 00:00:00 ps

Using Capistrano shell Sure, but I can do that with ClusterSSH, right? How about on fifty hosts? Programmatically? $ cap -S recipe=iclassify -S query="tag:ots-server" COMMAND="/etc/init.d/apache2 restart" SUDO=1 invoke $ cap -S recipe=iclassify -S query="tag:workstation" puppet

Andrew Shafer – Reductive Labs “Parallel to the ‘Developer’ tribe in most organizations, often with a semi-antagonistic mutual dependence, there was always another tribe: ‘Sysadmin’. When Developers and Sysadmins got together, it sometimes felt like the dwarfs and high elves forced to work together by necessity. (I’ll let you workout which is which.)”