#DCMuc16 @drubb
Closing	the	Drupal	Hosting	Gap
A	Review	of	Wodby
DrupalCamp	Munich,	3.12.2016
#DCMuc16 @drubb
About	me
Boris	Böhne
aka	drubb	on	d.o,	DrupalCenter,	Twitter,	Slideshare,	...
Freelance	Drupal	Developer
Sindelfingen,	Germany
Drupal	since	2006	(Drupal	4.7)
#DCMuc16 @drubb
1.	Some	typical	Hosting	Solutions	for	Drupal
#DCMuc16 @drubb
1.1	Back	in	the	Old	Days:	Shared	Hosting
 cheapest	solution
 wide	availability
 no	ssh,	git,	drush,	...
 no	additional	services,	like	Varnish	or	Solr
 no	flexible	configuration,	e.g.	php	memory
 not	optimized	for	Drupal
 multiple	security	flaws
#DCMuc16 @drubb
1.2	Roll	your	Own:	Self-managed	Server
 inexpensive
 great	flexibility
 needs	much	knowledge	(Linux,	provisioning,
security,	...
 time-consuming	maintenance
#DCMuc16 @drubb
How	to	Manage	a	Server...
#DCMuc16 @drubb
1.3	Top	Notch:	Drupal	Business	Hosting
(looking	at	you,	pantheon.io	/	amazee.io	/	acquia	cloud	/	platform.sh	/	freistilbox)
 Optimized	stacks
 Top	performance
 Scalability
 Top	security
 Latency	issues	(e.g.	server	location)
 Privacy	concerns	(EU	data	privacy	laws)
 Not	affordable	for	some	customer	types
 No	support	for	Drupal	6	(e.g.	PHP	version)
#DCMuc16 @drubb
2.	Closing	the	Gap:	The	Wodby	Approach
Your	servers,	your	repos,	your	workflow
Infrastructure	as	a	service
Base	tools:	Docker,	Kubernetes
https://wodby.com
#DCMuc16 @drubb
2.1	Basic	Wodby	Concepts
Application
Your	Drupal	site,	with	all	environments	(instances)
Bundle
Optimized	stack	of	services	for	an	application	type,	e.g.	web	server,	database	server,	Varnish,	Solr,	...
Instance
Single	environment,	like	dev/stage/prod
Container
Docker	container	holding	one	service
Server
Hosting	platform,	e.g.	VPS,	cloud	or	dedicated	server
#DCMuc16 @drubb
2.2	Managing	Servers	and	Git	Repositories
One	or	multiple	servers
One	or	multiple	providers
Native	or	custom	integrations
#DCMuc16 @drubb
#DCMuc16 @drubb
#DCMuc16 @drubb
#DCMuc16 @drubb
2.3	Working	with	Applications
Application	=	Your	site
Customized	bundle	/	stack	per	application
Optimized	stacks	e.g.	for	D6	/	D7	/	D8,	Wordpress,	...
One	or	more	environments	/	instances	per	application
#DCMuc16 @drubb
#DCMuc16 @drubb
#DCMuc16 @drubb
#DCMuc16 @drubb
2.4	Managing	Environments
Unlimited	instances	per	application
Assigned	to	git	branches	/	servers
Three	instance	types:	Dev,	Stage,	Prod
Import	database	/	files,	e.g.	from	other	environments
#DCMuc16 @drubb
#DCMuc16 @drubb
#DCMuc16 @drubb
#DCMuc16 @drubb
2.5	Domain	Management
 Internal	default	domain	per	environment
 One	or	more	custom	domains	per	environment
 Let's	Encrypt	certificates	for	custom	domains
 Support	for	Basic	Authorization
#DCMuc16 @drubb
#DCMuc16 @drubb
2.6	Daily	Workflow
 Git-based	workflows
 Manual	/	automated	deployments
 Post-deployment	scripts	using	yaml	files
 Remote	debugging	with	Xdebug
 Deploy	via	UI
 Deploy	via	CLI	(Drush,	Git,	Composer)
#DCMuc16 @drubb
#DCMuc16 @drubb
Post	deployment
example	script:
wodby.yml
																			pipeline:
																			-	name:	update	db
																					type:	command
																					command:	drush	updb	-y
																					directory:	$WODBY_APP_DOCROOT
																			-	name:	clear	cache
																					type:	command
																					command:	drush	cc	all
																					directory:	$WODBY_APP_DOCROOT
#DCMuc16 @drubb
#DCMuc16 @drubb
Example:	Basic	deployment	using	Drush	/	Git
Dev	instance Prod	instance
(Just	one	master	branch,	no	local	development	environment)
drush	@wodby.drubb.chips.dev	ssh
drush	up	ctools	-y
drush	cc	all
...	do	some	checks	...
git	commit	-am	'Updated	CTools	module'
git	push
exit
drush	@wodby.drubb.chips.prod	ssh
git	pull
drush	cc	all
exit
#DCMuc16 @drubb
2.7	Security
 Isolated	environments
 Drupal	security	best	practices
 Files	outside	web	root
 Limitation	of	executable	scripts
 Regulary	backups
 Local
 Remote
#DCMuc16 @drubb
#DCMuc16 @drubb
#DCMuc16 @drubb
3.	What	else?
Fine	grained	access	control	per	organization	/	application
Clustered	solutions	(HA)
Wodby	API
Open	Source:	Docker4Drupal
#DCMuc16 @drubb
Wodby	Team	Management
Assign	user	roles	/	access	rights
General	(per	organization)
Per	application
#DCMuc16 @drubb
#DCMuc16 @drubb
Read	on
docs.wodby.com
docs.wodbyapi.apiary.io
docker4drupal.org
slideshare.net/drubb
#DCMuc16 @drubb
Thank	you!
Questions?

Closing the Drupal Hosting Gap - A Review of Wodby