34
Cloud Developer Camp Berlin, 2013-07-14 Thomas Witt <[email protected]> Cloud Architecture

Servers Are Software

Embed Size (px)

DESCRIPTION

My Talk at the Cloud Developer Camp Berlin about «Servers Are Software» - how to architect cloud infrastructures by regarding servers as disposable commodities, written in code. See the talk live: http://www.youtube.com/watch?v=5zcofv8v9A4

Citation preview

Page 1: Servers Are Software

Cloud Developer Camp Berlin, 2013-07-14

Thomas Witt <[email protected]>

Cloud Architecture

Page 3: Servers Are Software

Servers are Software

http://www.flickr.com/photos/threemilesdwn/376943774

Page 4: Servers Are Software

Cloud is astate of mind

Page 6: Servers Are Software
Page 7: Servers Are Software

What do you associate with„The Cloud™“?

Page 8: Servers Are Software
Page 9: Servers Are Software

EC2

Page 10: Servers Are Software

It‘s not onlyabout elastic

Page 11: Servers Are Software

Servers are Software

A service commodity, disposable at your will

Page 12: Servers Are Software

Deployment

Page 13: Servers Are Software

Dev > Test > Production… in the good old days

Page 14: Servers Are Software
Page 15: Servers Are Software

“How many servers do we need?Which OS?Other installed software?Which database?Which version?…

Page 16: Servers Are Software
Page 19: Servers Are Software

Integration Testing

Page 20: Servers Are Software
Page 22: Servers Are Software

Automatization

Page 24: Servers Are Software

Sysadmin = root

Installation documentation =Know what‘s on your hard drive

Page 25: Servers Are Software

Servers are software

written in code and checked in

Page 26: Servers Are Software

Welcome to DevOps.

Page 27: Servers Are Software

Images and EBSElastic Block Storage

Page 28: Servers Are Software
Page 29: Servers Are Software

package("monit")

cookbook_file("/etc/default/monit") do source("monit.default") owner("root") group("root") mode(0644)end

service("monit") do action(:start) enabled(true) supports([:start, :restart, :stop])end

require_recipe "apache2"

remote_directory "/usr/local/build/mod_xsendfile" do source "mod_xsendfile"end

execute "build and install mod_xsendfile" do command "cd /usr/local/build/mod_xsendfile && apxs2 -ci mod_xsendfile.c" not_if { File.exists?("/usr/lib/apache2/modules/mod_xsendfile.so") }end

template "/etc/apache2/mods-available/xsendfile.load" do source "xsendfile.load.erb"end

apache_module "xsendfile"

/var/log/apache2/*.log { <%= node[:apache][:logrotate][:schedule] %> missingok rotate <%= node[:apache][:logrotate][:rotate] %> compress <% if node[:apache][:logrotate][:delaycompress] -%> delaycompress <% end -%> copytruncate notifempty create <%= node[:apache][:logrotate][:mode] %> <%= node[:apache][:logrotate][:owner] %> <%= node[:apache][:logrotate][:group] %>}

Page 30: Servers Are Software

OpsWorks

Page 31: Servers Are Software

Coded with Chef

Administered by Developers

Lifetime: One Deployment, maybe

Servers are Software

http://www.flickr.com/photos/elidr/6625760939

Page 32: Servers Are Software

Cloud != Hosting

Page 33: Servers Are Software

New Dev ApproachFaster and more elastic development

Page 34: Servers Are Software