-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathinfrastructure-as-code-pip-install-your-environment.html
224 lines (198 loc) · 10.7 KB
/
infrastructure-as-code-pip-install-your-environment.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://use.fontawesome.com/2231f865fc.js"></script>
<link rel="shortcut icon" href="https://pyvideo.org/theme/images/favicon.png">
<meta name="google-site-verification" content="cHuieLjiIIDAHKKXSPPDsnbLEz9QgVNTi23qy_mOzDU" />
<title>PyVideo.org · Infrastructure as Code: "pip install" your environment</title>
<link href="https://pyvideo.org/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="PyVideo.org Full Atom Feed" />
<link href="https://pyvideo.org/feeds/all.rss.xml" type="application/rss+xml" rel="alternate" title="PyVideo.org Full RSS Feed" />
<link href="https://pyvideo.org/feeds/event_europython-2016.atom.xml" type="application/atom+xml" rel="alternate" title="PyVideo.org Event Atom Feed" />
<link href="https://pyvideo.org/feeds/event_europython-2016.rss.xml" type="application/rss+xml" rel="alternate" title="PyVideo.org Event RSS Feed" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha256-7s5uDGW3AHqw6xtJmNNtr+OBRJUlgkNJEo78P4b0yRw= sha512-nNo+yCHEyn0smMxSswnf/OnX6/KwJuZTlNZBjauKhTK0c+zT+q5JOCx0UFhXQ6rJR9jg6Es8gPuD2uZcYDLqSw=="
crossorigin="anonymous">
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<link href="/theme/css/ie10-viewport-bug-workaround.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="/theme/css/base.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<meta property="og:site_name" content="PyVideo.org" />
<meta property="og:title" content="Infrastructure as Code: "pip install" your environment" />
<meta property="og:type" content="video" />
<meta property="og:url" content="https://pyvideo.org/europython-2016/infrastructure-as-code-pip-install-your-environment.html" />
<meta property="og:image" content="https://i.ytimg.com/vi/zL6G3nl0IjM/maxresdefault.jpg" />
<meta property="og:image:secure_url" content="https://i.ytimg.com/vi/zL6G3nl0IjM/maxresdefault.jpg" />
<meta property="og:image:type" content="image/jpeg" />
</head>
<body>
<a class="github" href="https://github.com/pyvideo/pyvideo/wiki/How-to-Contribute-Media">
<img style="position: absolute; top: 0; right: 0; border: 0; z-index: 2;" src="/images/contribute_to_me_right_red_aa0000.png" alt="Contribute Media" />
</a>
<div class="header notice clearfix">
A thank you to everyone who makes this possible:
<a href="/pages/thank-you-contributors.html">Read More</a>
</div>
<header id="banner" class="header clearfix">
<nav class="header__nav"><div class="container">
<ul class="nav">
<li role="presentation">
<a href="https://pyvideo.org/index.html"><i class="fa fa-fw fa-home"></i> <span>Start</span></a>
</li>
<li role="presentation" class="active">
<a href="https://pyvideo.org/events.html"><i class="fa fa-fw fa-list-ul"></i> <span>Events</span></a>
</li>
<li role="presentation">
<a href="https://pyvideo.org/tags.html"><i class="fa fa-fw fa-tags"></i> <span>Tags</span></a>
</li>
<li role="presentation">
<a href="https://pyvideo.org/speakers.html"><i class="fa fa-fw fa-users"></i> <span>Speakers</span></a>
</li>
<li role="presentation"
>
<a href="https://pyvideo.org/pages/about.html"><i class="fa fa-fw fa-info"></i> <span>About</span></a>
</li>
<li role="presentation"
style="display: none;">
<a href="https://pyvideo.org/pages/thank-you-contributors.html"><i class="fa fa-fw fa-info"></i> <span>Thank You</span></a>
</li>
<li role="presentation"
style="display: none;">
<a href="https://pyvideo.org/pages/thanks-will-and-sheila.html"><i class="fa fa-fw fa-info"></i> <span></span></a>
</li>
</ul>
</div></nav>
<div class="container">
<h3 class="text-muted header__title">
<a href="https://pyvideo.org/"><img src="/theme/images/logo.png" alt="" style="height:50px"> <span><i>Py</i>Video</span> <strong></strong></a>
</h3>
<div class="header__searchbox">
<form method="GET" action="/search.html">
<input name="q" type="search" placeholder="Search...">
</form>
</div>
</div>
</header>
<div class="container">
<section id="content" class="body">
<header>
<h2 class="entry-title">
<a href="https://pyvideo.org/europython-2016/infrastructure-as-code-pip-install-your-environment.html" rel="bookmark"
title="Permalink to Infrastructure as Code: "pip install" your environment">Infrastructure as Code: "pip install" your environment
</a>
</h2>
</header>
<footer class="post-info">
<time class="published" datetime="2016-08-01T00:00:00+00:00">
<i class="fa fa-calendar"></i> Mon 01 August 2016
</time>
<address class="vcard author">
By
<a class="url fn" href="https://pyvideo.org/speaker/sebastian-neubauer.html">Sebastian Neubauer</a>
</address>
</footer><!-- /.post-info -->
<div class="entry-content">
<ul class="nav nav-tabs" role="tablist">
<li class="active" role="presentation"><a href="#youtube" aria-controls="youtube" role="tab" data-toggle="tab">
<i class="fa fa-fw fa-youtube"></i> YouTube
</a></li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="youtube">
<div class="embed-responsive embed-responsive-16by9 videocontainer">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/zL6G3nl0IjM" title="Video for " frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div> <h3>Description</h3><p>Sebastian Neubauer - Infrastructure as Code: "pip install" your environment
[EuroPython 2016]
[20 July 2016]
[Bilbao, Euskadi, Spain]
(<a class="reference external" href="https://ep2016.europython.eu//conference/talks/infrastructure-as-code-pip-install-your-environment">https://ep2016.europython.eu//conference/talks/infrastructure-as-code-pip-install-your-environment</a>)</p>
<p>In this talk I will show how to build your own infrastructure-
as-a-service on the example of "Postgraas", an open source postgres-
as-a-service I wrote in python just for fun. With a simple curl
request you can get your very own database, just like RDS on AWS. You
will learn how easy it is to create such a remarkably useful service
with hardly three hundred lines of flask, docker and some glue-code, a
project for a rainy Sunday.</p>
<hr class="docutils" />
<p>Continuous Delivery, DevOps, Lean - all those movements have one thing
in common: extending the process of software development along the
whole value stream, ultimately to the customer. This simple
requirement causes surprising serious difficulties on traditional
operations workflows. All of a sudden, a single manual ticket to the
operations team is a critical blocker in the delivery process.
Therefore all parts of the infrastructure, storage, databases,
identities, compute resources must be provided as a self service for
the developers in order to be able to achieve this goal. What one may
call "the cloud" (including self hosted ones like open stack) is such
a successful model not least because they offer exactly this "ticket-
less" self-service. But why should we wait for "the cloud" to offer
what we really need? We are python developers, we are hackers!</p>
<p>In this talk I will show how to build your own infrastructure-
as-a-service on the example of "Postgraas", an open source postgres-
as-a-service I wrote in python just for fun. With a simple curl
request you can get your very own database, just like RDS on AWS. You
will learn how easy it is to create such a remarkably useful service
with hardly three hundred lines of flask, docker and some glue-code, a
project for a rainy Sunday. After the talk you will know how to amaze
your colleagues by eliminating an annoying ticket or manual workflow
with a simple flask app and some creativity.</p>
</div><!-- /.entry-content -->
<div class="details-content">
<h3>Details</h3>
<ul>
<li>
Event:
<a href="https://pyvideo.org/events/europython-2016.html">EuroPython 2016</a>
</li>
<li>Language: English</li>
<li>
Media URL: <a href="https://www.youtube.com/watch?v=zL6G3nl0IjM" rel="external">YouTube</a> </li>
<li>
Related URLs:
<ul class="related-urls">
<li><a href="https://ep2016.europython.eu//conference/talks/infrastructure-as-code-pip-install-your-environment">
https://ep2016.europython.eu//conference/talks/infrastructure-as-code-pip-install-your-environment </a></li> </ul>
</li>
</ul>
</div>
<a href="https://github.com/pyvideo/data/blob/main/europython-2016/videos/sebastian-neubauer-infrastructure-as-code-pip-install-your-environment.json">
<i class="fa fa-pencil-square-o"></i> Improve this page
</a>
</section>
<footer class="footer">
<p>
©
<a href="https://github.com/pyvideo/pyvideo/blob/main/LICENSE">PyVideo.org</a> |
<a href="https://github.com/pyvideo/data/blob/main/LICENSE">pyvideo/data</a>
</p>
</footer>
<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="/theme/js/ie10-viewport-bug-workaround.js"></script>
<script src="/theme/js/thumb.js"></script>
<script src="/theme/js/language.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-72949800-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = 'https://ssl.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</div>
</body>
</html>