Online development runtime

Developing in Cloud

Created by Frank Wang / @yanqiw

Why use online development runtime

One configuration for all developer's runtime

Runtime capability dose not limited by the developer's machines

Emulate full production stack in development runtime

Development at anywhere

Why use online development runtime

  • One configuration for all developer's runtime
  • Runtime capability dose not limited by the developer's machines
  • Emulate full production stack in development runtime
  • Development at anywhere

What is the online development runtime

  • Edit the code online
  • Run the code
  • Debuging the code
  • Version control

Technical challenge - online IDE

Compatible modern browser - even the browser on mobile device

Debug the code - even add breakpoint

Potential open sorce project - online IDE

Technical challenge - Runtime

Isolated

Customrized

Efficient

Technical challenge - Runtime

  • Isolated
  • Customrized
  • Efficient

Potential technical - Runtime

  • Language level isolation - JVM
  • VM
  • Docker

Architecture overview

Proof of concept

  • online IDE - none
  • online runtime - Docker
  • Version control - Git

Demo

Hello, everyone!!

Setup Nginx runtime by yourself

Install docker and Git on your machines

Clone yanqiw/gitsyn

git clone git@github.com:yanqiw/gitsyn.git

Add your public SSH key

cd gitsyn
echo path/your/sshpubilckey > sshkeys/authorized_keys

Build git repo image

docker build -t project-name-git-repo

Run the image, and add volumen to git work-dir

docker run --name project-name-git -v your/host/workdir:/workspace -p 22:22 project-name-git-repo

Run the runtime image - nginx

docker run --name nginx_runtime -v "$PWD":/usr/share/nginx/html:ro -p 8080:80 -d nginx

Config your git remote

git remote add YOUR_PROJECT_GIT_REPO

Optional: Auto-commit and push to remote

Reference

Frank Wang

  • I have been working at IBM 9.5 years
  • 2 years application architect experience
  • A programmer, like sharing
  • Playing docker

How to find me