19
CoreOS and cloud integra1on Antoine Coetsier CEO 20150108

CoreOS and cloud provider integration: simple cloud-init example at Exoscale

Embed Size (px)

Citation preview

Page 1: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

CoreOS  and  cloud  integra1on  Antoine  Coetsier  -­‐  CEO  2015-­‐01-­‐08  

Page 2: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

...  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  

Page 3: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

exoscale  offering  overview  A  one-­‐stop-­‐shop  for  developers/sysadmins  and  business  IT  

3  

Swiss  

Supp

ort  

Page 4: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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  

Page 5: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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  

Page 6: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

Open  Cloud  compute:  a  unique  portal  

 One  comprehensive  portal  for  instance  management,  support,  documenta1on  and  billing  informa1on    

Page 7: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

Scalable  security  

Your tenant

Internet

public IPpublic IP

Security group A

public IPpublic IP

Security group B

Controlled Inbound and Outbound traffic

Page 8: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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)  

Page 9: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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  

Page 10: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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

Page 11: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

Applica1on  scaling  Containers  can  scale  horizontally  and  ver1cally

11  

 Advanced  features  

– Custom  domain  names  

– hmps  or  websockets  support  

– SSH  connec1on  

– Log  viewing  

– Buildpacks  

Page 12: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

CoreOS  ?  

Page 13: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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  

Page 14: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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)  

Page 15: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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/    

Page 16: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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)  

Page 17: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

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  

Page 18: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

And  now?  

Page 19: CoreOS and cloud provider integration: simple cloud-init example at Exoscale

Thank  you  for  your  amen1on  

   Contact  us  +41  58  668  56  00  [email protected]        

 

   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