CoreOS and cloud provider integration: simple cloud-init example at Exoscale
1. CoreOS
and
cloud
integra1on
Antoine
Coetsier
-‐
CEO
2015-‐01-‐08
2. ...
a
IaaS
provider
and
beyond
Cloud
hos5ng
based
on
latest
technology
§ Flexible
server
and
storage
infrastructure
§ Trimmed
for
performance,
intui1ve
usability
and
tooling
Market
place
for
value
added
applica5ons
§ One-‐stop-‐shop
to
reduce
infrastructure
complexity
for
developers
and
sysadmins
exoscale
in
a
nutshell...
The
safe
home
for
your
cloud
applica1ons
...
with
a
solid
background
Trust
rela5onship
with
the
cloud
provider
§ Started
2011
within
Vel1group
§ Spun-‐off
mid
2014
Swiss
company
§ Proximity
to
EMEA
clients
§ Swiss
data
privacy
standards
2
99.95%
Pla$orm
availability
3. exoscale
offering
overview
A
one-‐stop-‐shop
for
developers/sysadmins
and
business
IT
3
Swiss
Support
4. Security
not
an
op1on
Solid
customers
business
reliability
4
+130
points
dealing
with
the
whole
cloud
service
–
Data
Governance
–
Facility
–
HR
–
Informa1on
Security
–
Legal
–
Risk
Management
–
Security
Architecture
Controls
base
lined
and
mapped
to:
–
COBIT,
HIPAA
/
HITECH
Act,
ISO/IEC
27001-‐2005
–
NISTSP800-‐53,
FedRAMP,
PCI
DSSv2.0
–
BITS
Shared
Assessment,
GAPP
...
Datacenters
Security
Framework
Top
of
the
art
loca1ons
for
safe
housing
– GV1:
Internet
peering
point
– GV2:
Extreme
density
– DK2:
Reconverted
Swiss
Army
bunker
5. Open
Cloud
compute:
instances
for
Devs
and
Sysadmins
Direct,
simple
to
use
cloud
instances
for
Devs
and
Sysadmins
Open
– Open
source
based
– Standard
API
– Mul1
OS:
Ease
of
use
– Direct
console
– Integrated
support
Performance
– KVM
– Persistent
storage
and
IP
– 10
GB
networking
Security
features
– Security
groups
– SSH
keypair
management
6. Open
Cloud
compute:
a
unique
portal
One
comprehensive
portal
for
instance
management,
support,
documenta1on
and
billing
informa1on
7. Scalable
security
Your tenant
Internet
public IPpublic IP
Security group A
public IPpublic IP
Security group B
Controlled Inbound
and Outbound traffic
8. confiden5al
Open
Cloud
Storage
Open
Cloud
Storage
Unique
Swiss
object
storage
offering
8
Unique
object
storage
offering
in
Switzerland
AWS
S3
compliant,
built
on
internal
IP
–
open
source
project
pithos.io
Masters
the
key
challenges
of
object
storage
– Unlimited
scalability
– High
performance
(low
read/write
latencies)
Object
Storage
background
S3
API
unlimited
Buckets
Objects
or
files
Object
storage
unlike
file
storage
focuses
on
high
performance
and
unlimited
scalability
of
storage
AWS
S3
de
facto
industry
standard
Market
highly
dominated
by
US
players
(Amazon,
Rackspace,
Google,
Microsoe)
9. confiden5al
Open
Cloud
Compute
Open
Cloud
Compute
More
than
25’000
instances
launched
in
2014
A
provider
of
virtual
servers
All
in
one
self-‐service
portal
– Deployment
of
new
instances
in
less
than
35
seconds
– Reduces
opera1onal
complexity
(like
networking)
Fully
compliant
to
many
open
and
proprietary
DevOps
tools
– Tooling
and
automa1on
(APIs)
Minutes
based
pricing
9
Technical
specifica1ons
Cloud
Control
System
Apache
CloudStack
(tm)
Hypervisor
Linux
KVM
(Kernel
Virtual
Machine)
Storage
Local
SAS
Storage
(all
SAS/SSD)
Admin
interface
Own
provisioning
interface
Instance
size
CPU:
1
–
8
vCPUs
RAM:
512MB
–
32GB
Root
disk:
10GB
–
400GB
Network
Security
groups
for
network
isola1on
1
Public
IP
per
instance
OS
images
Linux
(CentOS,
Debian,
Ubuntu,
CoreOS)
Windows
Server
(2008
R2,
2012)
Billing
and
pricing
Minutes
pricing
Online
payment
or
monthly
invoice
SLA
99.95%
availability
24/7
interven1ons
10. Open
Cloud
apps
Rapid
applica1on
integra1on
and
deployment
10
PaaS*:
Plajorm
as
a
service
– Languages
– First
in
Switzerland
Databases
and
cache
via
addons:
– SQL
– Memcache
– ....
Commit
your
code
–
git
commit
–m
–c
‘ready
for
prod’
Push
your
applica1on
to
exoscale
apps
–
exoapp
default/myapp
push
Deploy
applica1on
–
exoapp
default/myapp
deploy
Rollback,
push
new
version,
a
branch
...
– Without
losing
a
single
user
connec1on
Standard
Typical
workflow
From development to testing to production right from developer tools
11. Applica1on
scaling
Containers
can
scale
horizontally
and
ver1cally
11
Advanced
features
– Custom
domain
names
– hmps
or
websockets
support
– SSH
connec1on
– Log
viewing
– Buildpacks
13. We
need
“good
ci1zens”
A
machine
should:
Automa1cally
deploy
itself
Find
its
iden1ty
seqngs
(name,
keys,...)
Install
the
necessary
packages
for
which
it
was
intended
Register
itself
to
all
tools
Live
along
its
peers
and
respect
regula1ons
Report
to
city
hall
if
anything
goes
wrong
14. Step
1:
deployment
Simple
YAML
syntax
that
can
be
queried
by
a
machine
at
boot
1me
Standardized
(almost)
across
providers
and
stacks
Allows
for
automa1on
of
deployment
tasks
– Pushing
the
correct
informa1on
to
a
machine
#cloud-‐config
hostname:
zurich
users:
-‐
name:
antoine
coreos-‐ssh-‐import-‐github:
retrack
Cloud-‐Init
Userdata
(sample)
15. What
can
it
do
with
CoreOS?
#cloud-‐config
coreos:
fleet:
metadata:
role=etcd
etcd:
discovery:
https://
discovery.etcd.io/
6729068bb6832318ac645b501c8e04b2
addr:
$public_ipv4:4001
peer-‐addr:
$public_ipv4:7001
snapshot:
true
units:
-‐
name:
etcd.service
command:
start
-‐
name:
fleet.service
command:
start
update:
group:
alpha
reboot-‐strategy:
off
Join
a
Cluster
– With
Etcd
and
fleet
Change
update
policy
Manage
users
/
SSH
keys,
…
Feed
in
some
/etc/hosts
entries
Or
simply
output
to
a
file
è
Full
documenta1on:
hmps://coreos.com/docs/cluster-‐management/setup/cloudinit-‐
cloud-‐config/
16. Chaining
with
APIs
Going
further
with
examples:
Hybrid:
CoreOS
+
Kubernetes
hmps://
github.com/
runseb/
kubernetes-‐
exoscale
Adding
a
machine
to
a
CoreOS
Cluster
manually
is
not
very
efficient
Userdata
can
also
be
passed
via
the
API
POST
/deployVirtualMachine
-‐userData
(up
to
32K
of
data,
base64
encoded)
17. Containeriza1on
considera1ons
Exoscale
answer:
Compute
+
CoreOS
+
Docker
– Fast
provisioning:
less
than
35
sec
– Cloud-‐Init
/
Userdata
– Tags
Pros
Auto
updates
of
the
OS
Very
easy
migra1on
Developers
love
it
– They
are
free
to
choose
their
dependencies
and
libraries
at
will
Cons
Does
not
solve
the
State
problem
– How
to
store
the
data,
database
Young
technology,
skills
are
not
there
yet
19. Thank
you
for
your
amen1on
Contact
us
+41
58
668
56
00
sales@exoscale.ch
Follow
us
@exoscale
exoscale
code
Head
Office
Lausanne
Avenue
de
Provence
4
CH
-‐
1007
Lausanne
Opera5ons:
Geneva
Rue
du
Pré
de
la
Fontaine
19
CH
-‐
1217
Meyrin