accelerating devops at the sf devops meetup
TRANSCRIPT
Codenvy’s Journey to Continuous Development
Brad MickleaCodenvy COO
What is Codenvy?
Codenvy on-demand developer environments connect teams to the continuous delivery pipeline.
Replicable
Provision workspace replicas for developers, QA, PM or stakeholders.
Replicable
Provision workspace replicas for developers, QA, PM or stakeholders.
Collaborative
Share workspaces with one click, or work in isolated “local” workspaces.
Codenvy on-demand developer environments connect teams to the continuous delivery pipeline.
Replicable
Provision workspace replicas for developers, QA, PM or stakeholders.
Collaborative
Share workspaces with one click, or work in isolated “local” workspaces.
Constraint-Free
Give developers unlimited resources without thrashing or blocking.
Codenvy on-demand developer environments connect teams to the continuous delivery pipeline.
Codenvy On-Prem
Codenvy installed behind customer firewalls - updated automatically.
Open source project in the Eclipse Foundation. >50 contributors from Codenvy, SAP, IBM and others.
Eclipse Che
built on
Codenvy SaaS
Codenvy hosted on AWS serving 150K users and 400K projects.
Increase customer happiness by making 1st versions more like 3rd versions.
Goal for 2015
Bring User Feedback into
Pre-Merge Development
87%Have contributed feature requests.
Problem: Developer workspaces were “on an island,” not connected to the continuous delivery pipeline . . .
LocalhostDevelopment
ContinuousIntegration
ContinuousDeployment
FEEDBACK IS ONLY POSSIBLE DURING CI
CONTINUOUS DELIVERYPRE-MERGE DEVELOPMENT
ContinuousIntegration
LocalhostDevelopment
ContinuousDeployment
“What I really
need is...”
“Nailed it! Time to jump
on a new feature.”
CONTINUOUS DELIVERY
. . . this made feedback delayed and frustrating.
PRE-MERGE DEVELOPMENT
ContinuousDeployment
What’s needed is to connect users to developers while they are working on a feature.
ContinuousDevelopment
ContinuousIntegration
PRE-MERGE FEEDBACKAND COLLABORATION
CONTINUOUS DELIVERY
How to enable pre-merge feedback without breaking the
Developer’s flow?
Question
Codenvy template (Factory) is created for each feature.Edit / build / debug environment replicable on any machine.
Source code branch is codified. Isolated build and run environments created automatically.
1
During pre-merge development, users and stakeholders use the Factory to perform isolated, non-intrusive reviews.
Each workspace instance gets isolated Docker containers running an identical stack and populated with the latest code commits.
2
Policies control if users can edit, build or run the project.
Edit, build and debug for contributors.Run only for stakeholders.
3
2012 2015
Customers Giving Pre-Beta Feedback** As of 8/31
0 1000+
“This is beautiful! Exactly what I need.”
Increase developer happiness by maximizes coding time.
Goal for 2015
Increase Coding Time
25.7 5.89.9
Environment Management + Build/Test Waiting
Administrative Tasks
Brainstorming, Design and Coding
Before
Automate the creation of workspaces for each JIRA issue, feature branch and
pull request.
Issues are developed on an isolated source code branch. Developers sync from master frequently using Git rebasing.
Codenvy Project
JIRA issue branch
1
Codenvy template (Factory) created for each branch.Contributor gets a guaranteed-correct workspace instantly.
Factory URL guarantees the developer workspace has the right branch and is using the right build and debug environments.
2
Developers use “local” Docker environments for resource intensive tests without blocking.
3
All branches are submitted as pull requests. Pull requests are rebased against latest commits before review.
Review Factory replicates PR in an isolated workspace.
4
5 Each pull request automatically generates a “review Factory” so reviewers can quickly move from PR to PR.
When branch is merged, JIRA issue is marked as Resolved and Codenvy Factory is automatically updated to the CommitID on Master for the merge.
When post-merge continuous integration tests pass, JIRA issue is marked with a fixVersion and Closed.
6
7
Master is always releasable and shippable.
Contributor can move into the next issue immediately - no Git or environment reconfiguration required.
8
9
2012 2015
Trailing 20 Day Commits / Engineer** As of 8/31
5 30
33.2 5.82.4
25.7 5.89.9
Environment Management+ Build/Test Waiting Admin TasksBrainstorming, Design and Coding
After
Before
39% more time for coding.
Gives everyone on the team their own “supercomputer.”
SolutionRunning Codenvy in their datacenter CCCIS was able to provide each developer an isolated Docker container for build and run.
ValueDevelopers can work faster and collaborate quickly from any device and location.
ProblemCCCIS application stack was too large to run on a single laptop. Team members found VDI / shared VM solutions too slow.
We call this continuous development.
DevOps can deliver a workspace per task as part of the continuous
delivery pipeline.
Codenvy makes workspaces instant
through automation.
Thank YouCome see me after to learn more about how Codenvy customers are accelerating their businesses with better development.