accelerating devops at the sf devops meetup

Post on 11-Apr-2017

274 Views

Category:

Software

6 Downloads

Preview:

Click to see full reader

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.

top related