Automating Developer Workspace Construction for the Nuxeo Platform
Vladimir Pasquier - Developer, NuxeoSun Tan - Developer, CodenvyBrad Micklea - COO, Codenvy
Webinar Agenda
1. Introductions
2. The Developer Environment Configuration Problem
3. Codenvy Factories: 1-Click to Contribute
4. Nuxeo Platform: Use Case Story
5. Docker: What Is It? Why Does Codenvy Use It?
6. Q&A Session
About Codenvy
ProductsCodenvy SaaS
Codenvy On-Prem
Codenvy Factories
Eclipse “Che” OSS Project
360,000 ProjectsOver 55 countries
25 of the Fortune 100
>120,000 DevelopersCompanyFounded: 2013
HQ: San Francisco, CA
49 Employees
Operations in 5 Countries
About NuxeoThe Company and Our Vision
● Offices in NYC, Los Gatos and Paris
● Provider of Nuxeo Platform, a powerful
and versatile content management
platform
● Highly modular and extensible, designed
by developers for developers
● Openly developed on Github, 100+ active
contributors, 5y old
● Powerful application development
environment, SaaS-based tools
● Super scalable deployments
The Nuxeo Platform
Core Use Cases of the Nuxeo Platform
The Biggest Inhibitor toDevelopment Productivity is Developer Environment Maintenance
“Simple” Installation of Tomcat and Eclipse IDE
Development Teams Want Modern Architectures
Containers
Decomposes applications into separately configured parts.
Continuous Delivery
Shifts operation burdens to development.
Open Source
Downstream changes cause configuration reverberations.
MicroservicesIncreased setup, update and maintenance.
. . . without absorbing the configuration complexity caused by each.
Contribute in 1-Click with Codenvy Factories
A developer can view the code and then modify it,
build it, debug it, and run it without installing anything.
OLD WAY: MANUALhttp://codenvy.com/factory?...
OUR WAY: 1 CLICK
Never ending steps, manually
executed.
Failure and abandonment rates high.
Codenvy Factory Features
FREENO SIGN-UP
Clicking on the Factory
instantiates the project in a
temporary workspace.
No account required.
POST-PROCESSING ACTIONSParametrized, start a run, open files or data sources
ANY TYPE OF PROJECTUses Docker to build any Linux environment
FACTORY BUTTONGet a button to easily publish and share your Factory
ANY SOURCESStart from a Git repository or SVN
GUIDED TOURCreate a custom project tour for new contributors
Creating A Codenvy Factory
1
2
3
Import your project in Codenvy and ensure it is running
Prepare the Factory configuration files
Create the Factory and magic URL
Tune and customize to create a really delightful experience
Nuxeo Platform Factory In Action
https://codenvy.com/f?id=pqc56f54rim6rm1u
Docker and Codenvy
What Is Docker? Why Does Codenvy Use It?
● Open source project for Linux containers.
● Simplifies creation of highly distributed systems with lightweight containers.
● Containers are isolated and use a defined amount of compute resources.
● Dockerfiles are recipe-style scripts that dictate how an environment is created.
● Dockerfiles ensure consistency.
● Docker runs under Codenvy - you have full access to create any stack with Dockerfiles.
● Projects are injected in your Docker machines.
● Codenvy defines machines with Dockerfiles so they’re portable & shareable.
● Developers can leverage 1000s of Dockerfiles on Docker Hub.
● Our microservices let developers launch parallel processes to build, run and deploy.
Using Docker with Codenvy
Goal: Pre-prepare as much as possible to speed loading:
● Include all build dependencies in your image
● Create image from a completed platform setup
● Always cleanup images to minimize DockerHub images size○ Good post from CenturyLink: http://www.centurylinklabs.com/optimizing-docker-images/
○ And another from Jason Wilder: http://jasonwilder.com/blog/2014/08/19/squashing-docker-images/
Docker Optimizations for Codenvy
Wrap-Up and Questions
Factories: Endless Possibilities
Automate Workspace Creation
One-Click Developer On Boarding
Simplify Project Contribution Flow
Instant Code Review & Run
Secure Code & RunTask Oriented Workspaces
Issue-Tracker Integrated with FactoryCI Integration
Plugin & Extensions Testing
Workspaces Without Maintenance
Instant & Consistent Environments
Easy Workspace Sharing
Live Tutorials
Simpler Training Sessions
Thank You