Prezi

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in the manual

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Dokku - your very own Heroku

An introduction to a minimal platform as a service hosting environment
by Anders Bornholm on 23 October 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Dokku - your very own Heroku

Dokku - your very own Heroku

What is Dokku?
Dokku is a PaaS - Platform as a Service. In essence a way to deploy code, do installation, build and environment in a single step
What do you need?
Linux server for hosting
Preferably Ubuntu 13.04 x64
Git
One of the supported languages or build your own Buildpack
Plugins - more stuff!
The other things your environment needs are plugged in, variables set etc.
Why not Heroku?
Nothing's perfect...
But why?
It's your own Heroku, that's all the why you need!
DEMO!
The TV Chef - I prepared some things...
Thanks for listening!
How stuff works
Setup your project using Git as version control
Add a new remote
Push - it's all automatic: deploy, installation of dependencies, build, host name
Building blocks
Docker
Buildstep
gitreceive
pluginhook
sshcommand
nginx
Modern architecture
Functional blocks instead of layers
Specialized libraries/modules instead of monolithic "engines"
Scalability and thinking in interfaces
Freestyle Development
Proof of Concept
Instant test environment
Smaller step dev -> release
Developers/Operatios
Developers create and maintain application environment
Operations create, maintain and monitor host environment
Ops can move and scale
History of the Container
Pre 1960: furniture, boxes, barrels, bags in a mess
Difficult to load, optimize, shift
In 1960 the container arrived: standard measurements, protection
Easy to shift, secure, enclosed, optimized
The Docker Container
Virtual machine - sort of, but not really...
Self-contained but not complete
Isolated but light-weight
Movable between different hosts - like a shipping container
Fun with Containers
It's got what apps crave
No need to restart a full machine
Saves snapshots based on diffs
Easy to move
Less isolated than a full VM, but shares resources better
Data Stores
MongoDB
MariaDB
PostgreSQL
Redis
RiakCS
Others
Process managers (Circus, Shoreman, Supervisord)
Config/environment
Node (as a dev tool)
Chef
Dokku drawbacks
No git submodules
No throttling
No adding dynos etc.
No .NET
No client app - some tasks (like viewing logs) requires ssh into host
Dokku > Heroku
Control! (routing, startup time, request limits, memory)
No dynos are le tired
More functionality (save local files?)
Price - Dokku is free!
Dokku Machine
Instantiated on Digital Ocean
DNS mapping:
sthlmjs.iteam.se
*.sthlmjs.iteam.se
Development Machine
Generated public ssh key
Installed GIT
Recap
Release the stack and app in one go
Virtualization and diffs without the penalties
Full control and better pricing than Heroku
Try it yourself
https://github.com/progrium/dokku
Stay in touch
Twitter: @osirisguitar
Github: osirisguitar
Web: www.iteam.se
Blog: www.tekniken.nu
What is supported?
Ruby
Node.js
Java
Play!
Python
PHP
Clojure
Go
Dart
Your own
More about Docker
See the full transcript