SlideShare a Scribd company logo
Release Engineering Downstream
of an OpenStack Project
Best Practices for the Path from Idea to Production with
an Open Source Code Base
Rainya Mosher
@rainyamosher | www.rainyamosher.com
People don’t want…a quarter inch
drill. They want a quarter inch hole.
Clayton M. Christensen
The Innovator’s Solution
About Rainya
• 10+ Years Web App Devoplment
(ASP & .NET C#)
• 3+ Years OpenStack Operations
• Master of Science in Technology
Commercialization
• Musical Theatre Nerd, Singer, and
Actor
• Twitter: @rainyamosher
• Blog: rainyamosher.com That about sums it up.
ENFP
What is Release Engineering?
Release Engineering (RelEg / RE) is the sub-
discipline of software engineering concerned
with the compilation, assembly, and delivery of
source code into finished products or other
software components.
https://en.wikipedia.org/wiki/Release_engineering
Release
Engineering
UPSTREAM
PDLC / SDLC TOOLS
CULTURE
What is your relationship with the
upstream codebase?
Current Dates & Milestones: https://wiki.openstack.org/wiki/Releases
http://docs.openstack.org/infra/manual/developers.html
• Clone the code from github
• Branch your change
• Make fixes
• Submit review
• Submit patch revisions until you
get passing tests and a +2
• Change is merged
Average Review Wait Times
as of 7/20/2015
• Nova – 22 days
• Neutron – 9 days
• Glance – 26 days
http://stackalytics.com
Pull
OpenStack
Master
Consume
Third-Party
Distro
Internal Integrations & Configs
More ownership
over release
cadence
More in-house
resources for
packaging
More flexiblity
with to
integration of
internal
changes into
python source
code
Third party
guides release
cadence
Fewer in-house
packaging
needs
Less flexibility in
integrating
internal
changes into
python source
code
No matter the upstream relationship,
you’ll need to account for your
internal configurations and system
integrations!
Even understanding
the upstream
landscape of the
project, there will be
times when someone
– usually a product
or engineering
manager – will say “I
don’t care about the
community, just ship
the feature/bug
fix/widget.” What can
you do?
How will you manage the product
and software development lifecycles?
PDLC
SDLC
AGILE
Scrum,
Kanban,
XP, etc.
PDLC is the management of a
good or service from inception,
design, engineering, build, sale,
maintenance, and disposal
through the integration of
people, data, process, and
business systems to make an
optimal experience for a
customer (internal or external).
SDLC is a framework of steps
and phases providing a model
for development teams to follow
when creating a piece of
software to improve the quality
of the software and the overall
process.
AGILE SDLCs are a collection
of methodologies valuing
flexibility, collaboration,
communication, and rapid
iterations in the development
process.
Simple Easy
One role / task /
concept / dimension
vs Complex
Familiar, part of our
skillset, near at hand
vs Hard
Source Image: Rich Hickey, “Simple Made Easy”, 11/2012
Early on, the easy path gives
you speed and a sense of doing.
Over time, easy ignores
complexity, slows you down, and
leads to painful technical debt.
Being intentional with your PDLC & SDLC approach can help
you get from mad baby to successful sand eating baby.
What tools will you use for build,
release, and deploy activities?
BUILD
RELEASE
DEPLOY
SYSTEMS
Pipeline
Config
Management
Packaging
Orchestration
BUILD
RELEASE
DEPLOY
SYSTEMS
Pipeline
• Invest in your non-production environments
• Engineers cannot deliver stable software to production if the places
they have to develop and validate are unstable
Dev
• Prod-like
functionality
(as much as
possible)
• Unit tests at a
minimum
Integration
• First place for
Dev to
integrate code
with upstream
packages
• Unit tests
• Basic smoke
tests
Test
• Full smoke
tests
• High level
integration
testing with
tightly coupled
services
Pre-Prod
• Mirrors Prod
• Full
integration
testing with all
services
• Load and
performance
testing when
major
changes
Production
• Run baseline
tests prior to
an upgrade
• Automate the
deploy to
keep human
error out of
the way
• Don’t touch it!
Speed: Find failures quickly Accuracy: Find all failures Stability!
BUILD
RELEASE
DEPLOY
SYSTEMS
Config
Management
• Make all system and software
changes through a config
management system
• Start with immutable servers and
services (it’s harder to give up root
later)
• Ansible, Puppet, Chef, Salt
all have strengths &
weaknesses – take the
time to determine which is
best for your situation!
BUILD
RELEASE
DEPLOY
SYSTEMS
Packaging
• Successful packaging has been
done with RPMs and DEBs on
physical hosts and VMs
• Containers are rapidly maturing into
a viable approach for the control
plane
• Finding an approach everyone
can agree to is perhaps the
biggest challenge!
• Configs can be bundled
with the source code or
distributed separately
based on frequency of
updates and scale of
system
BUILD
RELEASE
DEPLOY
SYSTEMS
Orchestration
• Thoughtful orchestration for deploy-
time activities can overcome many
shortfalls of software
• Dedicate time and energy to find the
best order of operations for
introducing changes to services
• Deploy patterns - blue-green, rolling,
shotgun – are limited by the
architecture of the software being
deployed, and that’s ok!
How will your organization adapt to
the changes necessary for success?
We need to create a culture that reinforces
the value of taking risks and learning from
failure and the need for repetition and
practice to create mastery.
Gene Kim
The Phoenix Project
CI &
DevOps
Release
Management
Engineering Practices
Always code as if the person who
ends up maintaining your code will
be a violent psychopath who
knows where you live.
~ John F. Woods, c. 1991
Until zero-downtime deploys are a
reality, CI/CD may as well stand for
continual impact and constant
downtime. Adopt a release
management process to stay sane!
Automation first! This is difficult for many
organizations to do. It often means slowing
down, taking the long way rather than the
easy way, and telling people “not right now.”
Be Intentional
Adapt to Overcome
Simplicity First
References
 Images
- Gripp & Drouhard. Space Unicorn. (2012). http://youtu.be/17o1OlroNSE
- Miltonious Blog Unicorn of Technical Difficulties, Source Unknown
- Random Internet Meme’s found via Google Search
- Hickey, R. 2012. Simple Made Easy. http://www.slideshare.net/evandrix/simple-made-easy
 Quotes
- Christensen, C. M. (2003). The Innovator’s Solution: Creating and Sustaining Successful Growth
- Kim, G., Behre, K., Spafford, G. (2013). The Phoenix Project: A Novel about IT, DevOps, and
Helping Your Business Win
References
 Useful Links
- OpenStack Dev: http://docs.openstack.org/infra/manual/developers.html
- Review Wait Times: http://stackalytics.com/
- OpenStack Releases: https://wiki.openstack.org/wiki/Releases
- Rel Eng Overview: https://en.wikipedia.org/wiki/Release_engineering
Release Engineering Downstream
of an OpenStack Project
Discovering the Path from Idea to Production with an
Open Source Code Base
Rainya Mosher
@rainyamosher | www.rainyamosher.com

More Related Content

What's hot

DevOps
DevOpsDevOps
DOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About FeedbackDOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About Feedback
Gene Kim
 
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
DevOpsDays Tel Aviv
 
Principles of Continuous Delivery and DevOps
Principles of Continuous Delivery and DevOpsPrinciples of Continuous Delivery and DevOps
Principles of Continuous Delivery and DevOps
Bert Jan Schrijver
 
Very first introduction to DevOps
Very first introduction to DevOps Very first introduction to DevOps
Very first introduction to DevOps
Hien Nguyen
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
Christian F. Nissen
 
DevOps Culture Shift: Expanding On-Call Responsibilties
DevOps Culture Shift: Expanding On-Call ResponsibiltiesDevOps Culture Shift: Expanding On-Call Responsibilties
DevOps Culture Shift: Expanding On-Call Responsibilties
VictorOps
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
Ross Gardler
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBusters
XebiaLabs
 
Mainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled RoadmapMainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled Roadmap
DevOps.com
 
Putting Devs On-Call: How to Empower Your Team
Putting Devs On-Call: How to Empower Your TeamPutting Devs On-Call: How to Empower Your Team
Putting Devs On-Call: How to Empower Your Team
VictorOps
 
What is DevOps? - ITSM Academy Webinar
What is DevOps?  - ITSM Academy Webinar What is DevOps?  - ITSM Academy Webinar
What is DevOps? - ITSM Academy Webinar
ITSM Academy, Inc.
 
DevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsDevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devops
Basis Technologies
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture
Mandi Walls
 
A beginners guide to scaling DevOps
A beginners guide to scaling DevOpsA beginners guide to scaling DevOps
A beginners guide to scaling DevOps
Eficode
 
XebiaLabs Enterprise DevOps
XebiaLabs Enterprise DevOpsXebiaLabs Enterprise DevOps
XebiaLabs Enterprise DevOps
Bob Sokol
 
Why Even DevOp?
Why Even DevOp?Why Even DevOp?
Why Even DevOp?
VMware Tanzu
 
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
ZeroTurnaround
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutes
Jolyon Brown
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
Ievgenii Katsan
 

What's hot (20)

DevOps
DevOpsDevOps
DevOps
 
DOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About FeedbackDOES15 - Elisabeth Hendrickson - Its All About Feedback
DOES15 - Elisabeth Hendrickson - Its All About Feedback
 
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
 
Principles of Continuous Delivery and DevOps
Principles of Continuous Delivery and DevOpsPrinciples of Continuous Delivery and DevOps
Principles of Continuous Delivery and DevOps
 
Very first introduction to DevOps
Very first introduction to DevOps Very first introduction to DevOps
Very first introduction to DevOps
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
DevOps Culture Shift: Expanding On-Call Responsibilties
DevOps Culture Shift: Expanding On-Call ResponsibiltiesDevOps Culture Shift: Expanding On-Call Responsibilties
DevOps Culture Shift: Expanding On-Call Responsibilties
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
DevOps MythBusters
DevOps MythBustersDevOps MythBusters
DevOps MythBusters
 
Mainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled RoadmapMainframe DevOps: A Zowe CLI-enabled Roadmap
Mainframe DevOps: A Zowe CLI-enabled Roadmap
 
Putting Devs On-Call: How to Empower Your Team
Putting Devs On-Call: How to Empower Your TeamPutting Devs On-Call: How to Empower Your Team
Putting Devs On-Call: How to Empower Your Team
 
What is DevOps? - ITSM Academy Webinar
What is DevOps?  - ITSM Academy Webinar What is DevOps?  - ITSM Academy Webinar
What is DevOps? - ITSM Academy Webinar
 
DevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devopsDevOps Deep Dive Webinar: Building a business case for agile and devops
DevOps Deep Dive Webinar: Building a business case for agile and devops
 
5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture5 Keys to Building a Successful DevOps Culture
5 Keys to Building a Successful DevOps Culture
 
A beginners guide to scaling DevOps
A beginners guide to scaling DevOpsA beginners guide to scaling DevOps
A beginners guide to scaling DevOps
 
XebiaLabs Enterprise DevOps
XebiaLabs Enterprise DevOpsXebiaLabs Enterprise DevOps
XebiaLabs Enterprise DevOps
 
Why Even DevOp?
Why Even DevOp?Why Even DevOp?
Why Even DevOp?
 
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
DevOps vs Traditional IT Ops (DevOps Days ignite talk by Oliver White)
 
DevOps in 5 minutes
DevOps in 5 minutesDevOps in 5 minutes
DevOps in 5 minutes
 
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank FrambachiSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
iSQI Certification Days DASA – DevOps & ISTQB Frank Frambach
 

Similar to Release Engineering Downstream of an OpenStack Project

AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
Matt Wright
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
SlideTeam
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
Mujahed Al-Tahle
 
BuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfBuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdf
Andri Muhyidin
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
Adam Stephensen
 
DevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software DeliveryDevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software Delivery
Najib Radzuan
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Steve Mercier
 
Back To Basics
Back To BasicsBack To Basics
Back To Basics
kamalikamj
 
Dev ops
Dev opsDev ops
Dev ops
PHAGUNJAIN1
 
Tell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you areTell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you are
Juan Vicente Herrera Ruiz de Alejo
 
Site-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdfSite-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdf
DeepakGupta747774
 
Do's and don'ts for continuous delivery
Do's and don'ts for continuous deliveryDo's and don'ts for continuous delivery
Do's and don'ts for continuous delivery
Michael Athiwat Wongwaisayawan
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptx
aasssss1
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
Jon Petter Hjulstad
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
Mesut Güneş
 
What_is_DevOps.pptx
What_is_DevOps.pptxWhat_is_DevOps.pptx
What_is_DevOps.pptx
mridulsharma774687
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
anilpmuvvala
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
anilpmuvvala
 
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
Hui (Henry) Chen
 
Webinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform EngineeringWebinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform Engineering
OpenCredo
 

Similar to Release Engineering Downstream of an OpenStack Project (20)

AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
Devops Strategy Roadmap Lifecycle Ppt Powerpoint Presentation Slides Complete...
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
BuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfBuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdf
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
DevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software DeliveryDevOps Culture transformation in Modern Software Delivery
DevOps Culture transformation in Modern Software Delivery
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
Back To Basics
Back To BasicsBack To Basics
Back To Basics
 
Dev ops
Dev opsDev ops
Dev ops
 
Tell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you areTell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you are
 
Site-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdfSite-Reliability-Engineering-v2[6241].pdf
Site-Reliability-Engineering-v2[6241].pdf
 
Do's and don'ts for continuous delivery
Do's and don'ts for continuous deliveryDo's and don'ts for continuous delivery
Do's and don'ts for continuous delivery
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptx
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
What_is_DevOps.pptx
What_is_DevOps.pptxWhat_is_DevOps.pptx
What_is_DevOps.pptx
 
What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.What_is_DevOps_how_it's_very_useful_in_daily_Life.
What_is_DevOps_how_it's_very_useful_in_daily_Life.
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
 
Webinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform EngineeringWebinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform Engineering
 

Recently uploaded

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

Release Engineering Downstream of an OpenStack Project

  • 1. Release Engineering Downstream of an OpenStack Project Best Practices for the Path from Idea to Production with an Open Source Code Base Rainya Mosher @rainyamosher | www.rainyamosher.com
  • 2. People don’t want…a quarter inch drill. They want a quarter inch hole. Clayton M. Christensen The Innovator’s Solution
  • 3.
  • 4.
  • 5. About Rainya • 10+ Years Web App Devoplment (ASP & .NET C#) • 3+ Years OpenStack Operations • Master of Science in Technology Commercialization • Musical Theatre Nerd, Singer, and Actor • Twitter: @rainyamosher • Blog: rainyamosher.com That about sums it up. ENFP
  • 6. What is Release Engineering?
  • 7. Release Engineering (RelEg / RE) is the sub- discipline of software engineering concerned with the compilation, assembly, and delivery of source code into finished products or other software components. https://en.wikipedia.org/wiki/Release_engineering
  • 9. What is your relationship with the upstream codebase?
  • 10. Current Dates & Milestones: https://wiki.openstack.org/wiki/Releases
  • 11. http://docs.openstack.org/infra/manual/developers.html • Clone the code from github • Branch your change • Make fixes • Submit review • Submit patch revisions until you get passing tests and a +2 • Change is merged Average Review Wait Times as of 7/20/2015 • Nova – 22 days • Neutron – 9 days • Glance – 26 days http://stackalytics.com
  • 12. Pull OpenStack Master Consume Third-Party Distro Internal Integrations & Configs More ownership over release cadence More in-house resources for packaging More flexiblity with to integration of internal changes into python source code Third party guides release cadence Fewer in-house packaging needs Less flexibility in integrating internal changes into python source code No matter the upstream relationship, you’ll need to account for your internal configurations and system integrations!
  • 13. Even understanding the upstream landscape of the project, there will be times when someone – usually a product or engineering manager – will say “I don’t care about the community, just ship the feature/bug fix/widget.” What can you do?
  • 14. How will you manage the product and software development lifecycles?
  • 15. PDLC SDLC AGILE Scrum, Kanban, XP, etc. PDLC is the management of a good or service from inception, design, engineering, build, sale, maintenance, and disposal through the integration of people, data, process, and business systems to make an optimal experience for a customer (internal or external). SDLC is a framework of steps and phases providing a model for development teams to follow when creating a piece of software to improve the quality of the software and the overall process. AGILE SDLCs are a collection of methodologies valuing flexibility, collaboration, communication, and rapid iterations in the development process.
  • 16. Simple Easy One role / task / concept / dimension vs Complex Familiar, part of our skillset, near at hand vs Hard
  • 17. Source Image: Rich Hickey, “Simple Made Easy”, 11/2012 Early on, the easy path gives you speed and a sense of doing. Over time, easy ignores complexity, slows you down, and leads to painful technical debt.
  • 18. Being intentional with your PDLC & SDLC approach can help you get from mad baby to successful sand eating baby.
  • 19. What tools will you use for build, release, and deploy activities?
  • 21. BUILD RELEASE DEPLOY SYSTEMS Pipeline • Invest in your non-production environments • Engineers cannot deliver stable software to production if the places they have to develop and validate are unstable
  • 22. Dev • Prod-like functionality (as much as possible) • Unit tests at a minimum Integration • First place for Dev to integrate code with upstream packages • Unit tests • Basic smoke tests Test • Full smoke tests • High level integration testing with tightly coupled services Pre-Prod • Mirrors Prod • Full integration testing with all services • Load and performance testing when major changes Production • Run baseline tests prior to an upgrade • Automate the deploy to keep human error out of the way • Don’t touch it! Speed: Find failures quickly Accuracy: Find all failures Stability!
  • 23. BUILD RELEASE DEPLOY SYSTEMS Config Management • Make all system and software changes through a config management system • Start with immutable servers and services (it’s harder to give up root later) • Ansible, Puppet, Chef, Salt all have strengths & weaknesses – take the time to determine which is best for your situation!
  • 24. BUILD RELEASE DEPLOY SYSTEMS Packaging • Successful packaging has been done with RPMs and DEBs on physical hosts and VMs • Containers are rapidly maturing into a viable approach for the control plane • Finding an approach everyone can agree to is perhaps the biggest challenge! • Configs can be bundled with the source code or distributed separately based on frequency of updates and scale of system
  • 25. BUILD RELEASE DEPLOY SYSTEMS Orchestration • Thoughtful orchestration for deploy- time activities can overcome many shortfalls of software • Dedicate time and energy to find the best order of operations for introducing changes to services • Deploy patterns - blue-green, rolling, shotgun – are limited by the architecture of the software being deployed, and that’s ok!
  • 26. How will your organization adapt to the changes necessary for success?
  • 27. We need to create a culture that reinforces the value of taking risks and learning from failure and the need for repetition and practice to create mastery. Gene Kim The Phoenix Project
  • 28. CI & DevOps Release Management Engineering Practices Always code as if the person who ends up maintaining your code will be a violent psychopath who knows where you live. ~ John F. Woods, c. 1991 Until zero-downtime deploys are a reality, CI/CD may as well stand for continual impact and constant downtime. Adopt a release management process to stay sane! Automation first! This is difficult for many organizations to do. It often means slowing down, taking the long way rather than the easy way, and telling people “not right now.”
  • 29. Be Intentional Adapt to Overcome Simplicity First
  • 30. References  Images - Gripp & Drouhard. Space Unicorn. (2012). http://youtu.be/17o1OlroNSE - Miltonious Blog Unicorn of Technical Difficulties, Source Unknown - Random Internet Meme’s found via Google Search - Hickey, R. 2012. Simple Made Easy. http://www.slideshare.net/evandrix/simple-made-easy  Quotes - Christensen, C. M. (2003). The Innovator’s Solution: Creating and Sustaining Successful Growth - Kim, G., Behre, K., Spafford, G. (2013). The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win
  • 31. References  Useful Links - OpenStack Dev: http://docs.openstack.org/infra/manual/developers.html - Review Wait Times: http://stackalytics.com/ - OpenStack Releases: https://wiki.openstack.org/wiki/Releases - Rel Eng Overview: https://en.wikipedia.org/wiki/Release_engineering
  • 32. Release Engineering Downstream of an OpenStack Project Discovering the Path from Idea to Production with an Open Source Code Base Rainya Mosher @rainyamosher | www.rainyamosher.com

Editor's Notes

  1. References: http://www.keirsey.com
  2. Identifiability Being able to identify all of the source, tools, environment, and other components that make up a particular release. Reproducibility The ability to integrate source, third party components, data, and deployment externals of a software system in order to guarantee operational stability. Consistency The mission to provide a stable framework for development, deployment, audit and accountability for software components. Agility
  3. References: https://wiki.openstack.org/wiki/Releases
  4. References: http://docs.openstack.org/infra/manual/developers.html http://stackalytics.com/report/reviews/nova/open http://stackalytics.com/report/reviews/glance/open http://stackalytics.com/report/reviews/neutron/open
  5. References: http://www.slideshare.net/evandrix/simple-made-easy
  6. References: http://www.rainyamosher.com/how-the-taoist-farmer-faces-the-edge/ http://www.radicallyhuman.com/downloads/change_talkmx2013_nelson.pdf
  7. https://groups.google.com/forum/#!msg/comp.lang.c++/rYCO5yn4lXw/oITtSkZOtoUJ
  8. WHAT methodology you choose to follow is far less important than adopting a framework everyone can get behind, from the entry level software devs to the senior leader of the organization. SDLC Frameworks are a starting point, not the end result. Whichever you chose probably won’t be a perfect fit out of the box. Expect to iterate and tweak the framework to find the best fit for your organization and team. Unless it’s throw away work, push for simplicity over easy first and foremost. Ease will come with time and the technical debt you DON’T incur.
  9. intro (why i am qualified to talk about this shit); SDLC -- what the hell does "agile" even mean?; BRDS -- why you need build release and deploy systems; Culture - DevOps, release management, change