devops on a shoestring budget - nercomp · introduction what are devops? • devops is the...

21
© 2016 University of New Hampshire. All rights reserved. DevOps on a Shoestring Budget

Upload: others

Post on 05-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

© 2016 University of New Hampshire. All rights reserved.

DevOps on a Shoestring Budget

Page 2: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

© 2016 University of New Hampshire. All rights reserved.

Chris Schneider

Systems Administrator/Manager

Web Hosting and Data Engineering Groups

[email protected]

Page 3: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

© 2016 University of New Hampshire. All rights reserved.

Definitions

• What are DevOps

• What is a pipeline

• What constitutes a tool chain

Page 4: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Introduction

What are DevOps?

• DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.

– https://aws.amazon.com/devops/what-is-devops/

Page 5: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Introduction

What is a pipeline?

• The pipeline breaks down the software delivery process into stages. Each stage is aimed at verifying the quality of new features from a different angle to validate the new functionality and prevent errors from affecting your users. The pipeline should provide feedback to the team and visibility into the flow of changes to everyone involved in delivering the new feature’s.

• https://devops.com/continuous-delivery-pipeline/

Page 6: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Branch Flow through GitLab

Page 7: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Introduction

What is a a tool chain?

• A DevOps toolchain is a set or combination of tools that

aid in the delivery, development, and management of

software applications throughout the systems development

life cycle, as coordinated by an organization that

uses DevOps practices.

– https://en.wikipedia.org/wiki/DevOps_toolchain

Page 8: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

The Basic UNH DevOps Toolkit

Page 9: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

The UNH Development DevOps

Toolkit

Page 10: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

The Toolkit Periodic Table

Page 11: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

So, where do we begin?

Page 12: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Things to consider first

1. What is your budget, if any?

2. What is your timeline?

3. What services do you already have?

4. What do you need to add to your tool kit to reach your timeline goal?

5. Consider the learning curve of new technologies, development processes, etc.

Page 13: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

What are you already

using?

Existing services at UNH

1. Many people at this stage already

have a SCM in place

2. What about logging, notifications,

and general communication?

3. What about automation tools?

1. Job runners?

2. Scripting?

4. What’s the state of your

configuration management?

5. In each case above, ask yourself, is

this tool doing what we need it to

do?

1. Can we move forward with this

toolchain?

2. If not, what’s it going to take to

replace it?

Page 14: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Recap: What do we know now?

It's critical to consider where you are now and

where you want to realistically be in a given

timeframe. You will need to audit existing

infrastructure and pick tools that either

compliment or replace ones in your existing

toolchain, which add value, and with minimal

learning curve to all stakeholders. This is how you

keep your costs down.

Page 15: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

The Journey at UNH

Page 16: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

What we had: 2015

Page 17: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Gitlab and CI/CD

Page 18: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Basic Pipeline Process

Validation Tests

Security and

Performance Tests

Owner Testing,

Review, and

Signoff

Staging

Production

1. Local or Shared Development

2. Work is performed on a unique branch

3. Rebase prior to merge request is required for submission

4. Push new branch to GitLab

5. Create merge request in Gitlab to project master branch

6. Optionally delete branch after successful merge

7. TD ticket number must be in the merge request comment

1. Check that valid ticket number exists in merge request

2. Spin up app service container

3. Spin up testing suite container

4. If all tests pass, accept merge request into Master branch

1. Performance Tests

2. Security Tests

3. Regression Tests

1. ADA scans (Optional)

2. UI testing (Optional)

3. Project/Ticket owner sign off (Required)

1. Provision production database

2. Provision production database credentials

3. Deploy tagged revision to tagged directory

4. Rsync "files/" directory - Round 1

5. Run grunt tasks

1. Place existing site in maintenance mode

2. Rsync "files/" directory - Round 2 (pull over stragglers)

3. Run required database process (See database upgrade matrix)

4. Run validation tests

Drupal 7 Pipeline Overview

DevelopmentDatabase Upgrade Matrix

Test DB Status

Content Backfilled

Schema Changed

- Or -

No Changes

Production DB Action

Replace DB with Test DB

Clone Production

- And -

Apply any Schema

Changes

Development

Complete

Deploy to

Sandbox

Deploy to

Test

Test

Complete

Prepare for

Deployment

Page 19: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

What we have now: 2016 - 2019

Page 20: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

Final Thoughts

• Our costs, for the most part, did not include anything not already

budgeted for

• Spending what money we had on professional development and

research really aided our ability to build a solid infrastructure.

• Having the time to build it right was a privilege, but a requirement,

in order to keep costs down.

• This is just what we did. Your path will likely be very different.

Page 21: DevOps on a Shoestring Budget - NERCOMP · Introduction What are DevOps? • DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s

© 2016 University of New Hampshire. All rights reserved.

Thank you.