devops on a shoestring budget - nercomp · introduction what are devops? • devops is the...
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/1.jpg)
© 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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/2.jpg)
© 2016 University of New Hampshire. All rights reserved.
Chris Schneider
Systems Administrator/Manager
Web Hosting and Data Engineering Groups
![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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/3.jpg)
© 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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022042407/5f21e9061f8bce7c8465747b/html5/thumbnails/21.jpg)
© 2016 University of New Hampshire. All rights reserved.
Thank you.