devnation

24

Upload: jwi11iams

Post on 07-Aug-2015

23 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: DevNation
Page 2: DevNation

Contribute to a Project in Seconds with Eclipse Che & Codenvy

Tyler Jewell

Page 3: DevNation

The Application TrinityDeliver AppsDevelop Apps

issue mgmt

Host Apps

source code repo

agile ide

workspace

check out & build code

unit testquality control

package & archiving

integration testing

deploy to test environment

deploy to pre-production

acceptance testing

deploy to production

continuous

integration

testing framewor

ks

artifact repository

packaging & build tools

release mgmt

code quality analysis

test

pre-production

production

100 firms including Atlassian, JetBrains, Puppet, Chef, Ansible, ZeroTurnaround, IBM, Electric Cloud, Coverity, Sonatype, JFrog, and

so on...

Page 4: DevNation

Responsible For

Developer Workspace

Dev cycle

Edit Build

Run

Transition

Commit

Deploy

Sync FTP

Configuration

Import

Create

Git SVN

The Developer Workspace

Toolchain | Security | Isolation | Resources | Dependencies | Reporting

Localhost is not cloneable, shareable, scalable or compliant.

Page 5: DevNation

Code Repository | Asset Repository | CI / CD | Issue Management System | LDAP / Active Directory

APIsMiddlewareDatabases

PaaS

The Developer WorkspaceYour TargetsYour Editors

Your Toolchain

Responsible For

Developer Workspace

Dev cycle

Edit Build

Run

Transition

Commit

Deploy

Sync FTP

Configuration

Import

Create

Git SVN

Toolchain | Security | Isolation | Resources | Dependencies | Reporting

Page 6: DevNation

Reality: Workspace Configuration via WikiDjango

and PHP with

Eclipse

Tomcat with

IntelliJ

Compile and

install Ruby

Mozilla Webmake

r with Vagrant

Continuous delivery demands repeatability - but developer workspace configuration is individual &

complex.

Page 7: DevNation

Codenvy: A Developer Workspace CloudDevelop in mega workspaces with unlimited resources.

Use your tools or ours - no compromises.

DevOps create ready-to-debug projects integrated with their tool chain while adhering to internal coding and governance practices.

Developers edit, build and debug without thrashing using any IDE (even vi, emacs, or IntelliJ).

DevOpsDevelopers Automation and GovernanceWorkspaces, Web IDE and Offline Sync

Provision developer workspaces that are simply shareable and securely managed.

Craft code anywhere in non-thrashing mega workspaces that never run out of resources.

Page 8: DevNation

Codenvy Offerings

Codenvy On-PremWorkspaces behind your firewall

connected to your systems with custom Che extensions.

Open source SDK for creating custom workspaces supported by Codenvy, IBM, SAP, and WSO2.

Eclipse Che

built on

Multi-user, multi-tenant, secure, scalable, and compliant.

Single user for desktop, embedded, or hosted workspaces.

Codenvy SaaSSelf-service workspaces for

150K users and 400K projects.

Page 9: DevNation

Workspace Governance

Teams want modern architectures without absorbing their complexity

DevOps want versionable workspaces integrated with their tool chain

CIOswant IP governance controls and enforceable coding practices

Developers want environments ready to code with nothing to install

How we deliver: 1. Recipes that define workspaces.

2. Automation to manage workspace lifecycle.

3. Microservices to scale developer tasks.

4. Workflow that enforces corporate coding policies.

5. Analytics to benchmark developer performance.

Page 10: DevNation

Your TargetsYour IDEs

Codenvy Makes Development Boundless

MachinesMicroservices Nodes

syntax

refactor

clone

build

package

run

debug

query

merge

compile

APIsDatabases

PaaSMiddlewar

e

Workflow

contribute

pull request

corporate

hack

Developer Workspace

Your ToolchainCode Repository | Asset Repository | CI / CD | Issue Management System | LDAP /

Active Directory

Page 11: DevNation

StoriesCodenvy and Eclipse Che make 1M developers more productive and efficient.

Page 12: DevNation

Products Differentiate With CodenvyWhite Label & EmbeddedWSO2 rewriting 15 Eclipse plug-ins for WSO2 Developer Studio.

SAP uses Che as standard for Hana Cloud developer tooling across a dozen R&D teams.

YouthDigital created custom training platform for 100,000 students learning Minecraft modding in Java.

Private & Confidential

Page 13: DevNation

On-prem deployment.

Replace desktop VMs and Eclipse to eliminate 2 week setup per developer.

DevOps-driven adoption for 250 engineers.

Codenvy Delivers Organizational Governance

Private & Confidential

Page 14: DevNation

SaaS self-service adoption.

Nuxeo trainers eliminate 1 day setup / class with on-demand workspace for corporate students.

Monthly classes followed by R&D adoption to embed within Nuxeo cloud.

Teams Save Time and Money

Private & Confidential

Page 15: DevNation

Open and ExtensibleEclipse Che and Codenvy

Page 16: DevNation

Eclipse Che Extensibility

Che Kernel

Java Extension(you author)

deploysas

GWT Extension(you author) compiles

into

Che REST Services

Workspace Project Builder

+ many more...

loads

Cross-Browser JavaScript AppCodenvy

IDEWizard

Panels Editors

Che combines a kernel, developer REST services, machines and a JavaScript cloud IDE.

Developers customize Che by writing extensions at any tier, overriding any behavior.

Codenvy is a multi-tenant system that runs Eclipse Che extensions.

BrowserDesktop

IDECLI

Rich Clients

runs in

Servlet Runtime

SDK

uses

Custom Clients(you author)

Custom Machines(you author)

invokes, registers, listens

Machines

Dockerdeploys as

Process

reuses

launches

Page 17: DevNation

Eclipse Che Codenvy Platform Distribution

Plu

g-I

n

Plu

g-I

n

Plu

g-I

n

Plu

g-I

n

Plu

g-I

n

IDE + SDK

Elastic Docker Machine Pool

Code

Developer Microservice Plug-Ins

Build Run Source Query

Source

External Integration Plug-Ins

CI PaaS Issue Identity

Languages

Eclipse Che ExtensionsEditors Projects

OperationsHA Tenancy

Metering

Security

API CLI Browser Mobile

Automation ManagementFactorie

sContrib Admin

Analytics

Codenvy: Secure, Scalable Platform

Installation

update.codenvy.comNotices

Accounts

BinariesInstaller

s

OfferingsSaaS @

On-Prem @

Managed @codenvy.co

mYour Datacenter Any Datacenter

1-Node n-NodeCentOS

6CentOS

7

Cloud MarketplacesIBM AWS Google ...

Kernel

javajavascri

ptc++

maven gradle 55+

Your Extensions

Che Extensions

project builder

REST APIrunner

auth factoryanalytic

s

Page 18: DevNation

The Che Glossary

Page 19: DevNation

Che 4.0: Project - Machine - Env Abstraction

Object Purpose Composition Manages For User Creates In

Account Object contains the information about billing, subscription, and organizations owned. An administrative unit, used by managers and admins to bucket groups of users and resources together, with different allocation polices & controls.

has 1 .. n account/ownerhas 0 .. n account/memberhas 0 .. n account/manager

NameBillingOwnerMembersResource limits (gbh) via subsResource limits (ram) via subs

Codenvy System UD

Workspace A thin layer that binds the set of projects and their source code to a single working machine aggregate.

has 1 .. 1 dev machinehas 0 .. n projectshas 0 .. n environmentshas 1 .. n ws/adminhas 0 .. n ws/memberhas 0 .. n ws/stakeholder

Dev machine recipeDev machine instance per user

Codenvy / Che UDIDE

Project A single project, mapped to a single source repository, that has type. A module is a project that is a child of another project.

has 1 .. 1 typehas 1 .. 1 source repositoryhas 0 .. n ACLshas 0 .. n modules

Source repositoryPublic / private

Codenvy / Che UDIDE

Environment An abstraction that contains a networked group of machines used to provide runtime capabilities for a set of projects.

has 1 .. 1 recipehas 1 .. n machineshas 1 .. 1 networkhas 0 .. n proj-machine-map

Run machinesRun networksLinkage between project & machine

Codenvy / Che IDE

Page 20: DevNation

Getting Started with Che

Source: github.com/codenvy/cheDeveloper Mailing List: [email protected] Meetings: wiki.eclipse.org/cheIRC: #eclipseche (routes to slack)

Note: Currently 1000 issues open on Che, hosted at Codenvy’s private Jira. We are working to export into bugzilla.

Page 21: DevNation

Che Extension

@Singleton

public class AngularJSProjectType extends ProjectType {

public AngularJSProjectType() {

super("AngularJS", "AngularJS Project", true, false);

setDefaultRunner("system:/javascript/webapp/grunt");

addRunnerCategories(Arrays.asList(RunnerCategory.JAVASCRIPT.toString()));

}

}

@Singleton

@Extension(title = "AngularJS")

public class AngularJsExtension extends JsExtension {

@Inject

public AngularJsExtension(IconRegistry iconRegistry, AngularJSResources resources) {

super(Const.ANGULAR_JS_ID, iconRegistry, resources);

}

}

plugin-angularjs/core/client/src/main/java/com/codenvy/plugin/angularjs/core/client/

plugin-angularjs/core/server/src/main/java/com/codenvy/plugin/angularjs/core/server/project/type

Page 22: DevNation

Thank You

Page 23: DevNation

Containers Shift Burdens Away From DevOps

ContainersRepos Libraries NodesFolders & Files

How to maintain a versionabl

e mapping?

Page 24: DevNation

Containers and CompositionImagine a developer working on a 3-tier application using containers. The container configuration can change frequently.

Web Client

API Microservice

Local Database

Web Client

API Microservice

Shared, Central Database

Web Client

API Microservice

Database

Rapid Authoring

Docker Compose is a step forward...

Staged Data Networked