SlideShare a Scribd company logo
1 of 20
Download to read offline
Devops Workshop

                            Unit 1
                           Overview

Monday, June 13, 2011
About This Workshop

                    • Open ended discussions
                    • Identifying patterns
                    • Not the end, just the beginning


Monday, June 13, 2011
Instructor

                             • John Willis
                             • john@dtosolutions.com
                             • twitter.com/botchagalupe
                             • 919 244-9680

Monday, June 13, 2011
Company Background
                    • Founded in 2004 from:
                     • eTrade, NASA, Fidelity, Schwab
                     • Canonical, Opscode
                    • Agile IT and Operations Team
                     • Over 100 person-years and 6 books
                     • Financials, telco, transpiration, etc.
                    • Headquartered in San Mateo CA
                     • Offices in Atlanta, and San Francisco
Monday, June 13, 2011
Our Customers




Monday, June 13, 2011
Students

                    • Name
                    • Company
                    • Goals


Monday, June 13, 2011
Workshop Objectives

                    • Understand Devops Goals
                    • Explore CAMS
                    • Devops Case Studies


Monday, June 13, 2011
Workshop Outline

                    •   Unit 1 - Overview

                    •   Unit 2 - Introduction to Devops

                    •   Unit 3 - Case Studies

                    •   Unit 4 - Devops Culture

                    •   Unit 5 - Devops Automation

                    •   Unit 6 - Devops Measurement


Monday, June 13, 2011
What does Devops
                         mean to you?


Monday, June 13, 2011
Cloud Gone
                          Wrong

                          The true story of

                          Anonymous
                             Inc.




Monday, June 13, 2011
Busine
                                                             s       s
                                   Dev

                                                       AWS
                        business         s3put                 s3
                                                 ssh
                         ideas !
                             apache/php                      Rightscale
                               memcached
                                 mysql




Monday, June 13, 2011
apache/php
                              p arty,
                         3rd                                s3
                                                                      memcached
                               & are                 AWS                 mysql
                                   w
                          mi ddle
                                                            Rightscale

                                              yum
                                                           Business
                    apache/php                 puppet
                     memcached
                        mysql                                       apache/php
                                        s3
                         AWS                                s3       memcached
                                                     AWS                mysql
                                        Rightscale
                                                             Rightscale
                                    s3put                        s3put
                                        ssh                          ssh



                        Business2                     Business3
Monday, June 13, 2011
ANOTHER DEAD
                                   MACHINE ?
                   SOFWARE
                 DOESN'T WORK
                    RIGHT !
                                MY BOXES GOT
                                 CLOBBERED !

                GIVE ME MY
               ENVIRONMENT!




Monday, June 13, 2011
ANOTHER DEAD
                                   MACHINE ?
                   SOFWARE
                 DOESN'T WORK
                    RIGHT !
                                MY BOXES GOT
                                 CLOBBERED !

                GIVE ME MY
               ENVIRONMENT!




                                                Oh crap!

                                                           ?



Monday, June 13, 2011
“As-is”

                                                                operations            server
                                                                                    templates


                                                         TAR
                                                          RPM                  restarts

                                      TAR
                                       TAR
                                      code,
                                                                                                             EC2
                                     content                              pupp
                                                   deploys                 et                              RS
                        app                                                                         RS deployment
                        devs                                                                    deployment
                                                                                                                          S3

                                                                 yum
                                                                 repo
                                                                                                               Provision-time builds


                                                                                     reconfigs

                                            TAR                                                                                 EXE
                                             TAR                                                               AUTO
                                                                                                   server
                                                                                                               TOOLS
                                            code                                                 templates
                                                                        TAR
                                                                         RPM
                               middleware
                                  devs                              platform                      CONTROL      PROVISION       RELEASE

                                                                                  system
                                                                                    eng




Monday, June 13, 2011
Organizational fixes...

       • Isolate environments between business lines
       • Publisher / Consumer development teams
       • Package-based distribution model
       • “meta-package” represents software stacks
       • Business lines control when to adopt new
              versions from other groups


Monday, June 13, 2011
Single release pipeline

                                                                          apache/php
                               messaging,
                                                                           memcached
                                queuing                                        mysql

                           app middleware                3rd yparty
                                                              um
                                y      um


                               Busine
                         code,
                                     s        s               rundeck
                                                          "D
                        content,                             e plo
                         metas                    te"
                                                  o                  y"
                                              rom                       &
                                            "p job                    job "Re
                                                                              l
                           jenkins                      yum                       ea
                                                                                    se
                                                                                       "
                            builds
                                             dev
                                                                       prod

Monday, June 13, 2011
Tool Integration
      (Infrastructure as SDLC)

                                                   SVN

                                                                       hud                                 agent cfg
                                                                                    yum       pup
                                                                       son          repo      pet


                                                              packages
                          active users           run                         packages

                        directory                deck
                                                                     commands
                                                                                                           nag         splunk
                                                                                                           ios
                                      resource model

                                                           sys cfg

                              right      instance create
                              scale

                                                                                                  events
                                           new node                       Node a                                 log data




                                                                                        CONTROL    PROVISION           RELEASE




Monday, June 13, 2011
Deployed as “Operations Middleware”




                                                yum               puppet
                            rundeck


                                        operations middleware



                        web[server array]   memcached[server array]   mysql




                                            New Environment


Monday, June 13, 2011
Begin with the end in mind.




Monday, June 13, 2011

More Related Content

Similar to Devops workshop unit1

Error Handling Done Differently
Error Handling Done DifferentlyError Handling Done Differently
Error Handling Done DifferentlyCloudBees
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVMPhil Calçado
 
Storage on EC2 (& Cassandra), Cassandra Workshop, Berlin Buzzwords
Storage on EC2 (& Cassandra), Cassandra Workshop, Berlin BuzzwordsStorage on EC2 (& Cassandra), Cassandra Workshop, Berlin Buzzwords
Storage on EC2 (& Cassandra), Cassandra Workshop, Berlin BuzzwordsAcunu
 
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...Cyrille Le Clerc
 
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...Publicis Sapient Engineering
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackabilityPuppet
 
Devops workshop unit2
Devops workshop unit2Devops workshop unit2
Devops workshop unit2John Willis
 
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Goikailan
 
Scaling the Britain's Got Talent Buzzer
Scaling the Britain's Got Talent BuzzerScaling the Britain's Got Talent Buzzer
Scaling the Britain's Got Talent BuzzerMalcolm Box
 
WTF Is Messaging And Why You Should Use It?
WTF Is Messaging And Why You Should Use It?WTF Is Messaging And Why You Should Use It?
WTF Is Messaging And Why You Should Use It?James Russell
 
State of Puppet Amsterdam
State of Puppet AmsterdamState of Puppet Amsterdam
State of Puppet AmsterdamPuppet
 
ROLE Vision RWTH Aachen
ROLE Vision RWTH AachenROLE Vision RWTH Aachen
ROLE Vision RWTH AachenRalf Klamma
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywoodehuard
 
Advanced mysql replication techniques
Advanced mysql replication techniquesAdvanced mysql replication techniques
Advanced mysql replication techniquesGiuseppe Maxia
 
The State of Puppet
The State of PuppetThe State of Puppet
The State of PuppetPuppet
 
Big Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataBig Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataTugdual Grall
 
Hadoop meets Cloud with Multi-Tenancy
Hadoop meets Cloud with Multi-TenancyHadoop meets Cloud with Multi-Tenancy
Hadoop meets Cloud with Multi-TenancyTreasure Data, Inc.
 

Similar to Devops workshop unit1 (20)

Error Handling Done Differently
Error Handling Done DifferentlyError Handling Done Differently
Error Handling Done Differently
 
From a monolithic Ruby on Rails app to the JVM
From a monolithic  Ruby on Rails app  to the JVMFrom a monolithic  Ruby on Rails app  to the JVM
From a monolithic Ruby on Rails app to the JVM
 
Storage on EC2 (& Cassandra), Cassandra Workshop, Berlin Buzzwords
Storage on EC2 (& Cassandra), Cassandra Workshop, Berlin BuzzwordsStorage on EC2 (& Cassandra), Cassandra Workshop, Berlin Buzzwords
Storage on EC2 (& Cassandra), Cassandra Workshop, Berlin Buzzwords
 
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
 
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
Paris NoSQL User Group - In Memory Data Grids in Action (without transactions...
 
Puppet camp europe 2011 hackability
Puppet camp europe 2011   hackabilityPuppet camp europe 2011   hackability
Puppet camp europe 2011 hackability
 
Apc Memcached Confoo 2011
Apc Memcached Confoo 2011Apc Memcached Confoo 2011
Apc Memcached Confoo 2011
 
Devops workshop unit2
Devops workshop unit2Devops workshop unit2
Devops workshop unit2
 
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
2011 June - Singapore GTUG presentation. App Engine program update + intro to Go
 
Scaling the Britain's Got Talent Buzzer
Scaling the Britain's Got Talent BuzzerScaling the Britain's Got Talent Buzzer
Scaling the Britain's Got Talent Buzzer
 
WTF Is Messaging And Why You Should Use It?
WTF Is Messaging And Why You Should Use It?WTF Is Messaging And Why You Should Use It?
WTF Is Messaging And Why You Should Use It?
 
State of Puppet Amsterdam
State of Puppet AmsterdamState of Puppet Amsterdam
State of Puppet Amsterdam
 
ROLE Vision RWTH Aachen
ROLE Vision RWTH AachenROLE Vision RWTH Aachen
ROLE Vision RWTH Aachen
 
Ruby hollywood
Ruby hollywoodRuby hollywood
Ruby hollywood
 
Advanced mysql replication techniques
Advanced mysql replication techniquesAdvanced mysql replication techniques
Advanced mysql replication techniques
 
The State of Puppet
The State of PuppetThe State of Puppet
The State of Puppet
 
Plumbr case study
Plumbr case studyPlumbr case study
Plumbr case study
 
Big Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataBig Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big Data
 
Stardog talk-dc-march-17
Stardog talk-dc-march-17Stardog talk-dc-march-17
Stardog talk-dc-march-17
 
Hadoop meets Cloud with Multi-Tenancy
Hadoop meets Cloud with Multi-TenancyHadoop meets Cloud with Multi-Tenancy
Hadoop meets Cloud with Multi-Tenancy
 

More from John Willis

Automated Governance
Automated GovernanceAutomated Governance
Automated GovernanceJohn Willis
 
Devops Long Strange Trip
Devops Long Strange Trip Devops Long Strange Trip
Devops Long Strange Trip John Willis
 
I Got 99 Problems and a Bash DSL Ain't One of Them
I Got 99 Problems and a Bash DSL Ain't One of ThemI Got 99 Problems and a Bash DSL Ain't One of Them
I Got 99 Problems and a Bash DSL Ain't One of ThemJohn Willis
 
The 7 deadly diseases of DevOps 2019
The 7 deadly diseases of DevOps 2019The 7 deadly diseases of DevOps 2019
The 7 deadly diseases of DevOps 2019John Willis
 
Next Generation Infrastructure - Devops Enterprise Summit 2018
Next Generation Infrastructure - Devops Enterprise Summit 2018Next Generation Infrastructure - Devops Enterprise Summit 2018
Next Generation Infrastructure - Devops Enterprise Summit 2018John Willis
 
swampUP - 2018 - The Divine and Felonious Nature of Cyber Security
swampUP - 2018 - The Divine and Felonious Nature of Cyber SecurityswampUP - 2018 - The Divine and Felonious Nature of Cyber Security
swampUP - 2018 - The Divine and Felonious Nature of Cyber SecurityJohn Willis
 
Divine and felonios cyber security devopsdays austin 2018
Divine and felonios cyber security  devopsdays austin 2018Divine and felonios cyber security  devopsdays austin 2018
Divine and felonios cyber security devopsdays austin 2018John Willis
 
Devops - A Long Strange Trip It's Been
Devops - A Long Strange Trip It's BeenDevops - A Long Strange Trip It's Been
Devops - A Long Strange Trip It's BeenJohn Willis
 
DevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's Been
DevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's BeenDevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's Been
DevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's BeenJohn Willis
 
You build it - Cyber Chicago Keynote
You build it -  Cyber Chicago KeynoteYou build it -  Cyber Chicago Keynote
You build it - Cyber Chicago KeynoteJohn Willis
 
Art of the Possible - Serverless Conference NYC 2017
Art of the Possible - Serverless Conference NYC 2017 Art of the Possible - Serverless Conference NYC 2017
Art of the Possible - Serverless Conference NYC 2017 John Willis
 
Why Executives Can't Change
Why Executives Can't Change Why Executives Can't Change
Why Executives Can't Change John Willis
 
Devops Kaizen - DevopsDays Dallas 2017
Devops Kaizen - DevopsDays Dallas 2017 Devops Kaizen - DevopsDays Dallas 2017
Devops Kaizen - DevopsDays Dallas 2017 John Willis
 
Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security John Willis
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source John Willis
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker EnterpriseJohn Willis
 
Breaking Bad Equilibrium - Devops Connect 2017 RSAC
Breaking Bad Equilibrium - Devops Connect 2017 RSACBreaking Bad Equilibrium - Devops Connect 2017 RSAC
Breaking Bad Equilibrium - Devops Connect 2017 RSACJohn Willis
 
Breaking Bad Equilibrium - Devops Connect 2016 LA
Breaking Bad Equilibrium - Devops Connect 2016 LABreaking Bad Equilibrium - Devops Connect 2016 LA
Breaking Bad Equilibrium - Devops Connect 2016 LAJohn Willis
 
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
All daydevops   2016 - Turning Human Capital into High Performance Organizati...All daydevops   2016 - Turning Human Capital into High Performance Organizati...
All daydevops 2016 - Turning Human Capital into High Performance Organizati...John Willis
 

More from John Willis (20)

Automated Governance
Automated GovernanceAutomated Governance
Automated Governance
 
Devops Long Strange Trip
Devops Long Strange Trip Devops Long Strange Trip
Devops Long Strange Trip
 
I Got 99 Problems and a Bash DSL Ain't One of Them
I Got 99 Problems and a Bash DSL Ain't One of ThemI Got 99 Problems and a Bash DSL Ain't One of Them
I Got 99 Problems and a Bash DSL Ain't One of Them
 
Math is cool
Math is coolMath is cool
Math is cool
 
The 7 deadly diseases of DevOps 2019
The 7 deadly diseases of DevOps 2019The 7 deadly diseases of DevOps 2019
The 7 deadly diseases of DevOps 2019
 
Next Generation Infrastructure - Devops Enterprise Summit 2018
Next Generation Infrastructure - Devops Enterprise Summit 2018Next Generation Infrastructure - Devops Enterprise Summit 2018
Next Generation Infrastructure - Devops Enterprise Summit 2018
 
swampUP - 2018 - The Divine and Felonious Nature of Cyber Security
swampUP - 2018 - The Divine and Felonious Nature of Cyber SecurityswampUP - 2018 - The Divine and Felonious Nature of Cyber Security
swampUP - 2018 - The Divine and Felonious Nature of Cyber Security
 
Divine and felonios cyber security devopsdays austin 2018
Divine and felonios cyber security  devopsdays austin 2018Divine and felonios cyber security  devopsdays austin 2018
Divine and felonios cyber security devopsdays austin 2018
 
Devops - A Long Strange Trip It's Been
Devops - A Long Strange Trip It's BeenDevops - A Long Strange Trip It's Been
Devops - A Long Strange Trip It's Been
 
DevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's Been
DevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's BeenDevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's Been
DevopsdaysNYC - Almost 10 Years - What A Strange Long Trip It's Been
 
You build it - Cyber Chicago Keynote
You build it -  Cyber Chicago KeynoteYou build it -  Cyber Chicago Keynote
You build it - Cyber Chicago Keynote
 
Art of the Possible - Serverless Conference NYC 2017
Art of the Possible - Serverless Conference NYC 2017 Art of the Possible - Serverless Conference NYC 2017
Art of the Possible - Serverless Conference NYC 2017
 
Why Executives Can't Change
Why Executives Can't Change Why Executives Can't Change
Why Executives Can't Change
 
Devops Kaizen - DevopsDays Dallas 2017
Devops Kaizen - DevopsDays Dallas 2017 Devops Kaizen - DevopsDays Dallas 2017
Devops Kaizen - DevopsDays Dallas 2017
 
Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security
 
Alibaba Cloud Conference 2016 - Docker Open Source
Alibaba Cloud Conference   2016 - Docker Open Source Alibaba Cloud Conference   2016 - Docker Open Source
Alibaba Cloud Conference 2016 - Docker Open Source
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker Enterprise
 
Breaking Bad Equilibrium - Devops Connect 2017 RSAC
Breaking Bad Equilibrium - Devops Connect 2017 RSACBreaking Bad Equilibrium - Devops Connect 2017 RSAC
Breaking Bad Equilibrium - Devops Connect 2017 RSAC
 
Breaking Bad Equilibrium - Devops Connect 2016 LA
Breaking Bad Equilibrium - Devops Connect 2016 LABreaking Bad Equilibrium - Devops Connect 2016 LA
Breaking Bad Equilibrium - Devops Connect 2016 LA
 
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
All daydevops   2016 - Turning Human Capital into High Performance Organizati...All daydevops   2016 - Turning Human Capital into High Performance Organizati...
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
 

Devops workshop unit1

  • 1. Devops Workshop Unit 1 Overview Monday, June 13, 2011
  • 2. About This Workshop • Open ended discussions • Identifying patterns • Not the end, just the beginning Monday, June 13, 2011
  • 3. Instructor • John Willis • john@dtosolutions.com • twitter.com/botchagalupe • 919 244-9680 Monday, June 13, 2011
  • 4. Company Background • Founded in 2004 from: • eTrade, NASA, Fidelity, Schwab • Canonical, Opscode • Agile IT and Operations Team • Over 100 person-years and 6 books • Financials, telco, transpiration, etc. • Headquartered in San Mateo CA • Offices in Atlanta, and San Francisco Monday, June 13, 2011
  • 6. Students • Name • Company • Goals Monday, June 13, 2011
  • 7. Workshop Objectives • Understand Devops Goals • Explore CAMS • Devops Case Studies Monday, June 13, 2011
  • 8. Workshop Outline • Unit 1 - Overview • Unit 2 - Introduction to Devops • Unit 3 - Case Studies • Unit 4 - Devops Culture • Unit 5 - Devops Automation • Unit 6 - Devops Measurement Monday, June 13, 2011
  • 9. What does Devops mean to you? Monday, June 13, 2011
  • 10. Cloud Gone Wrong The true story of Anonymous Inc. Monday, June 13, 2011
  • 11. Busine s s Dev AWS business s3put s3 ssh ideas ! apache/php Rightscale memcached mysql Monday, June 13, 2011
  • 12. apache/php p arty, 3rd s3 memcached & are AWS mysql w mi ddle Rightscale yum Business apache/php puppet memcached mysql apache/php s3 AWS s3 memcached AWS mysql Rightscale Rightscale s3put s3put ssh ssh Business2 Business3 Monday, June 13, 2011
  • 13. ANOTHER DEAD MACHINE ? SOFWARE DOESN'T WORK RIGHT ! MY BOXES GOT CLOBBERED ! GIVE ME MY ENVIRONMENT! Monday, June 13, 2011
  • 14. ANOTHER DEAD MACHINE ? SOFWARE DOESN'T WORK RIGHT ! MY BOXES GOT CLOBBERED ! GIVE ME MY ENVIRONMENT! Oh crap! ? Monday, June 13, 2011
  • 15. “As-is” operations server templates TAR RPM restarts TAR TAR code, EC2 content pupp deploys et RS app RS deployment devs deployment S3 yum repo Provision-time builds reconfigs TAR EXE TAR AUTO server TOOLS code templates TAR RPM middleware devs platform CONTROL PROVISION RELEASE system eng Monday, June 13, 2011
  • 16. Organizational fixes... • Isolate environments between business lines • Publisher / Consumer development teams • Package-based distribution model • “meta-package” represents software stacks • Business lines control when to adopt new versions from other groups Monday, June 13, 2011
  • 17. Single release pipeline apache/php messaging, memcached queuing mysql app middleware 3rd yparty um y um Busine code, s s rundeck "D content, e plo metas te" o y" rom & "p job job "Re l jenkins yum ea se " builds dev prod Monday, June 13, 2011
  • 18. Tool Integration (Infrastructure as SDLC) SVN hud agent cfg yum pup son repo pet packages active users run packages directory deck commands nag splunk ios resource model sys cfg right instance create scale events new node Node a log data CONTROL PROVISION RELEASE Monday, June 13, 2011
  • 19. Deployed as “Operations Middleware” yum puppet rundeck operations middleware web[server array] memcached[server array] mysql New Environment Monday, June 13, 2011
  • 20. Begin with the end in mind. Monday, June 13, 2011