How We Enable Open Source Software

Problem Statement

Enabling large organizations to use technologies to their fullest potential is more than just purchasing a product, there are multiple building blocks that need to be put in place such as architecture, tooling, security and learning new skills.

Objective

The objective of this repository is to create a framework to enable individuals to have a strategy to get to modern methodologies for deployment of IT services. We hope to provide best practices as well as enablement workshops to help move the strategies forward and create communities of practice within organizations. In addition to this, we hope to create a culture of learning and encourage other repositories start including a workshop folder. This way people have an entry point on how to run workshops to enable others in the future.

Why Strategy Matters

"Formalizing your organization’s approach to open source management and strategy creates guidelines that boost efficiency and minimize risks. Whether or not you have set a business strategy around your open source efforts, you likely already know that this is important." - Linuxfoundation.org

At the highest level, having company standards around the way IT services are delivered is one of the most important things to address in order to help accelerate the adoption of open source software and tools.

Below are the base Enterprise Architecture Standards that help ease the move to cloud native.

Enterprise Architecture Standards
APIs
Automation
Cloud Native Development
Continuous Integration / Continuous Delivery
Monitoring / Observability
Source Code Management
Security
Testing
User Centered Design / Research

For a deeper dive on each of the above standards go here Standards Deep Dive.

Assessment Worksheet

The first step in this process is to have a good understanding of where an organization is. We created an Assessment worksheet to help document where an organization is in this journey here:

Open Source Assessment

Enablement Workshops/Hackathons

These workshops (in a perfect world) consist of 2 days of intensive training on a technology followed by 3 days of applying what was learned to a real business problem.

Note: This can be broken down into smaller sessions as it is sometimes difficult to get an entire week. The main goal is to have people apply the new skills they learned as soon as possible to something they are currently working on.

Logistics

Workshops and Self Learning Links (Work in Progress)

Example Workshops Length Link (Blanks are Work in Progress)
AI/ML w/ RH Open Data Science 4-5 hours
APIs 2-3 hours Day in the Life Integration
Authentication 1-2 hours
Automation 4-5 hours
CI/CD 2-3 hours
Commercial of the shelf on OCP 2-3 hours
IOT 4-5 hours
Kubernetes 2-3 hours Kubernetes by Example
Modern Authentication 2-3 hours
Openshift 101 3-4 hours
Openshift 102 3-4 hours
Refactoring .Net 3-4 hours Modernize .Net
Source to Image (s2i) 2-3 hours
Source Code Management 1-2 hours Git 101
Tekton Pipelines 2-3 hours Tekton Pipelines Lab

Lint Code Base