DevOps 101

Victoria Guido

 

 

 

By the end of this talk, you will be able to:

  • Define DevOps
  • Explain why DevOps is important
  • Talk about DevOps Culture
  • Name common tools
  • Understand a "devops engineer" role

What is DevOps?

DevOps

Refers to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes.

 

 

Development

Development (Dev) Teams are responsible for creating change, new features, enhancements, and functionality

Operations

Operations (Ops) teams are responsible for keeping the system stable, running efficiently, and and available.

Before DevOps

Text

To solve this, we have DevOps!

Thought Leaders

The Three Ways of DevOps describe the values that frame the processes of DevOps and they provide prescriptive steps - Gene Kim

1st Way - Emphasize entire system performance vs a specific silo of work

2nd Way - Create feedback loops

3rd Way - Culture of continual experimentation Understanding that mastery requires practice

Thought Leaders

Culture

Automation

Lean

Measurement

Sharing

 

Damon Edwards, John Willis. Add an "L" For Lean = CALMS (Jez Humble)

DevOps Tools

So, what does a languages does a DevOps person know?

DevOps is not so much about languages or tools, but disciplines to keep systems and their resources running

 

Not so much languages, but processes

- What is your build process?

You might be called a DevOps person if you know about:

  • Operating System (Linux, Windows, etc)
  • Docker
  • AWS
  • Python
  • Chef, Ansible, Puppet
  • Jenkins
  • Monitoring

All the DevOps Buzzwords

  • Infrastructure as Code
  • Microservices
  • Continuous Delivery
  • Continuous Integration
  • Delivery Pipeline
  • Immutable Architecture
  • Containerization
  • Serverless Architecture
  • Cattle over Pets
  • Chaos Monkeys
  • Automation
  • _____ as code
  • Orchestration
  • Unicorn
  • Lifecycle
  • Scalablity
  • Monitoring
  • Sharding

https://xebialabs.com/periodic-table-of-devops-tools/

Why is DevOps Important?

It is important because

  • Faster delivery of software
  • More reliable systems
  • Happier people (friends!)
  • Everyone will have to DevOps in tech

DevOps is all around you!

DIY DevOps

DevOps Engineer

 

Glenna Gallagher

 

~ 3 Clouds
~ 3 Environments (Test/Stage/Prod)
~ 19 Web and Database Servers
~ 17 Different Agencies (with their own development teams)
~ 22 Websites
> 99 Problems Each

 

~ 5 Engineers

Why We DevOps

Day-to-Day Problems 

  • Slowness/Error Investigations (Network, Database, Website, Caching, Security)
    • Digging through logs, deciphering code, checking permissions and versions, inventing workarounds, testing, googling so much
  • How to rebuild legacy applications in a better way
    • Can't always teach old code new tricks
  • How to automate all the things
    • If the same set of steps needs to be followed more than 3 times, script it
  • How to communicate technical issues
    • (Handle egos with care)

Languages and Tools

Google!
Also: Linux, AWS, Akamai, Python, Bash, PHP & Drush (Drupal Sites), MySQL, Ruby/Rails, Ansible, Splunk, Bamboo (Jenkins/Travis), BitBucket (Github), Git, Jira, New Relic, Zenoss, (Hopefully soon: App Dynamics), and many, many more, basically a million

Lessons Learned

  • Do everything one step at a time
  • Do everything in versions
  • Collaborate as much as possible
  • Ask questions
  • Trust Instincts
  • Keep Learning

More resources about DevOps!

Take-Home Reading

Contact Us

  • Victoria Guido: @victoriaLguido
  • Glenna Gallagher: @glenna_opt
  • Women Who Code: @WomenWhoCodeDC

DevOps 101

By Victoria Guido

DevOps 101

  • 2,508