TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
WSO2Con EU 2015: Keynote - The Containerization of the Developer Workspace
1. Containers and Developers
Tyler Jewell, Founder and CEO
tyler@codenvy.com
June 2015
The continuous nature of web-scale software deployment requires development teams to become
part of a seamless flow of functionality from idea to production code.
- Nathan Wilson, Gartner, 2014
2. Management
Tyler Jewell: CEO, Board Member
Brad Micklea: Operations
Gennady Azarenkov: R&D
Board
Benjamin Mestrallet
Byron Sebastian
Investors
Toba Capital
Auriga Ventures
Bob Bickel
Sacha LaBourey
My Background
GP @ Toba Capital
Sauce Labs
WSO2
Cloudant - Acquired by IBM, 2014
Angel
InfoQ
ZeroTurnaround
SourceGraph
Author
Java Web Services, O’Reilly
Mastering EJBs, Wiley
Java Server Programming, Wrox
Advisor
SD Elements
ShiftMobility
Tomitribe
3. The Application Trinity
System to Continuously Deliver AppsPlatform to Develop Apps
issue mgmt
Platform to Host Apps
source code repo
agile ide
workspace?
check out &
build code
unit test quality control
package &
archiving
integration
testing
deploy to test
environment
deploy to pre-
production
acceptance
testing
deploy to
production
continuous
integration
testing
frameworks
artifact
repository
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...
4. Responsible For
Your Targets
Toolchain Integration | Resource Management | Security | Isolation
Local Edit / Build / Run Cycle | Packaging and Dependencies | Reporting
Developer WorkspaceYour Editors
developer
cycle
edit build
run
transition
commit deploy
sync ftp
configuration
importcreate
git svn
Your Toolchain
Code Repository | Asset Repository | CI / CD | Issue Management System | LDAP / Active Directory
APIs
Middleware
Databases
PaaS
The Developer Workspace
Localhost is not cloneable, shareable, scalable or compliant
5. Reality: Wikis For Workspace Configuration
Django and
PHP with
Eclipse
Tomcat
with IntelliJ
Compile
and install
Ruby
Mozilla
Webmaker
with
Vagrant
Continuous delivery demands repeatability - but developer
workspace configuration is individual & complex.
6. Input: IDC 2014 Report w/ # of hobbyist / professional devs world wide through 2020
Input: BLS statistics on growth of developers
Average RAM per dev desktop: http://www.quepublishing.com/articles/article.aspx?p=1941419
Assumption: Hobbyist RAM is 50% of professional
Assumption: Pro works 2600 hours / year; hobbyist is 1040
Assumption: 100% of non-configuration work time is compiling + debugging
Assumption: Compiling + debugging time consumes 100% of available RAM
Configuration Wastes Time and Compute
2007 2010 2013 2016 2019
20
40
60
80
100
140
160
200
180
120
billion gb hours Resources Wasted From Developer Config
Developers Config Hours
Resources
Wasted
Value of
Wasted Idle
Compute
18.5M 15.7B 99B $1.98B2014:
22.8M 19.3B 213B2020: $3.45B
3.5% 3.5%
Configuration is constant and pervasive, costing organizations time and money.
13.6%CAGR: 9.7%
Private & Confidential
8. Qualities of Containers
DevOpsDevelopers
Multiple containers execute in parallel
with separate copies of code stack.Boots in milliseconds.
IsolationSpeed
DevOpsDevelopers
Multiple containers can be connected.Dockerfiles create repeatability.
NetworkedRecipes
DevOpsDevelopers
Containers can have their state saved.Tasks can be sent into the container.
SnapshotsCommand Injection
10. Containers Shift Burdens Away From DevOps
ContainersRepos Libraries NodesFolders & Files
how to
maintain
versionable
mapping?
11. Containers and Composition
Imagine a developer working on a 3-tier application using containers. The
container configuration changes based upon need of developer.
Web Client
API Microservice
Local Database
Web Client
API Microservice
Shared, Central
Database
Web Client
API Microservice
Database
Rapid Authoring Are Compose & Pods a solution?Staged Data Networked
13. Codenvy
Developer workspace cloud that eliminates configuration hell. Develop in mega
workspaces with unlimited resources. Use your tools or ours - no compromises.
DevOpsDevelopers
Repeatable, Shareable, Scalable, and Compliant
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.
14. Codenvy Offerings
Codenvy On-Prem
Workspaces behind your firewall
connected to your systems with
custom Che extensions.
Private & Confidential
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 SaaS
Self-service workspaces with 150K
users and 400K projects.
15. Codenvy Makes Development Boundless
Machines Your SystemsYour Tools Microservices Nodes
Web IDE
CLI
Eclipse
IntelliJ
Sublime Text
Emacs
vi
CodenvyProvidedYouProvide
syntax
refactor
clone
build
package
run
debug
query
merge
compile
Middleware
APIs
Code Repo
Artifact Repo
CI / CD
Issue Mgmt
LDAP
TargetsToolChain
Databases
PaaS
Workflow
contribute
pull request
corporate
hack
Codenvy Workspace
16. Codenvy Makes Development Frictionless
Manual Codenvy
1. Setup project
2. Gain access rights
3. Fork / clone project
4. Checkout branch
5. Install compiler
6. Configure unit test
7. Install packager
8. Install dependencies
1. Edit, compile and debug
2. Make pull request
Developer
Responsibilities
14 Days
Avg. time to configure
developer VM / desktop
2 Hours
Avg. time to configure
each contribution
Seconds
Avg. time to configure
a workspace or contribution
9. Install environment stack
10. Configure IDE for project
11. Install debugger
12. Edit, compile and debug
13. Synchronize master deltas
14. Package contribution
15. Make pull request
Source: Voke media survey, Dec. 2014 Source: David Blevins, TomEE Project Lead, Dec. 2014
17. Eclipse Che Extensibility
Che Kernel
Java Extension
(you author)
deploys
as
GWT Extension
(you author)
compiles
into
Che REST Services
Workspace Project Builder
+ many more...
loads
Cross-Browser JavaScript App
Codenvy IDE Wizard
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.
Browser
Desktop IDE CLI
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
18. Eclipse Che Codenvy Platform Distribution
Plug-In
Plug-In
Plug-In
Plug-In
Plug-In
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 Extensions
Editors Projects
Operations
HA Tenancy Metering Security
API CLI Browser Mobile
Automation Management
Factories Contrib Admin Analytics
The Codenvy IP Stack
Installation
update.codenvy.com
Notices Accounts Binaries Installers
Offerings
SaaS @ On-Prem @ Managed @
codenvy.com Your Datacenter Any Datacenter
1-Node n-Node CentOS 6 CentOS 7
Cloud Marketplaces
IBM AWS Google ...
Kernel
java javascript c++
maven gradle 55+
Your Extensions
Che Extensions
project builder
REST API
runner
auth factory analytics