accelerating devops at the sf devops meetup

31
Codenvy’s Journey to Continuous Development Brad Micklea Codenvy COO

Upload: jwi11iams

Post on 11-Apr-2017

273 views

Category:

Software


6 download

TRANSCRIPT

Page 1: Accelerating DevOps at the SF DevOps MeetUp

Codenvy’s Journey to Continuous Development

Brad MickleaCodenvy COO

Page 2: Accelerating DevOps at the SF DevOps MeetUp

What is Codenvy?

Page 3: Accelerating DevOps at the SF DevOps MeetUp

Codenvy on-demand developer environments connect teams to the continuous delivery pipeline.

Replicable

Provision workspace replicas for developers, QA, PM or stakeholders.

Page 4: Accelerating DevOps at the SF DevOps MeetUp

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.

Page 5: Accelerating DevOps at the SF DevOps MeetUp

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.

Page 6: Accelerating DevOps at the SF DevOps MeetUp

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.

Page 7: Accelerating DevOps at the SF DevOps MeetUp

Increase customer happiness by making 1st versions more like 3rd versions.

Goal for 2015

Page 8: Accelerating DevOps at the SF DevOps MeetUp

Bring User Feedback into

Pre-Merge Development

87%Have contributed feature requests.

Page 9: Accelerating DevOps at the SF DevOps MeetUp

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

Page 10: Accelerating DevOps at the SF DevOps MeetUp

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

Page 11: Accelerating DevOps at the SF DevOps MeetUp

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

Page 12: Accelerating DevOps at the SF DevOps MeetUp

How to enable pre-merge feedback without breaking the

Developer’s flow?

Question

Page 13: Accelerating DevOps at the SF DevOps MeetUp

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

Page 14: Accelerating DevOps at the SF DevOps MeetUp

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

Page 15: Accelerating DevOps at the SF DevOps MeetUp

Policies control if users can edit, build or run the project.

Edit, build and debug for contributors.Run only for stakeholders.

3

Page 16: Accelerating DevOps at the SF DevOps MeetUp
Page 17: Accelerating DevOps at the SF DevOps MeetUp

2012 2015

Customers Giving Pre-Beta Feedback** As of 8/31

0 1000+

“This is beautiful! Exactly what I need.”

Page 18: Accelerating DevOps at the SF DevOps MeetUp

Increase developer happiness by maximizes coding time.

Goal for 2015

Page 19: Accelerating DevOps at the SF DevOps MeetUp

Increase Coding Time

25.7 5.89.9

Environment Management + Build/Test Waiting

Administrative Tasks

Brainstorming, Design and Coding

Before

Page 20: Accelerating DevOps at the SF DevOps MeetUp

Automate the creation of workspaces for each JIRA issue, feature branch and

pull request.

Page 21: Accelerating DevOps at the SF DevOps MeetUp

Issues are developed on an isolated source code branch. Developers sync from master frequently using Git rebasing.

Codenvy Project

JIRA issue branch

1

Page 22: Accelerating DevOps at the SF DevOps MeetUp

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

Page 23: Accelerating DevOps at the SF DevOps MeetUp

Developers use “local” Docker environments for resource intensive tests without blocking.

3

Page 24: Accelerating DevOps at the SF DevOps MeetUp

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.

Page 25: Accelerating DevOps at the SF DevOps MeetUp

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

Page 26: Accelerating DevOps at the SF DevOps MeetUp

Master is always releasable and shippable.

Contributor can move into the next issue immediately - no Git or environment reconfiguration required.

8

9

Page 27: Accelerating DevOps at the SF DevOps MeetUp

2012 2015

Trailing 20 Day Commits / Engineer** As of 8/31

5 30

Page 28: Accelerating DevOps at the SF DevOps MeetUp

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.

Page 29: Accelerating DevOps at the SF DevOps MeetUp

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.

Page 30: Accelerating DevOps at the SF DevOps MeetUp

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.

Page 31: Accelerating DevOps at the SF DevOps MeetUp

Thank YouCome see me after to learn more about how Codenvy customers are accelerating their businesses with better development.