Server installation – Current "Personnal server" – Needs



Server installation – Current "Personnal server" – Needs

0 0


about-my-server

Presentation for Algolia team

On Github Nainterceptor / about-my-server

Server installation

An unexpected Journey

Current "Personnal server"

Context

  • Old configuration
  • Too many "failover" IP
  • More power !

Configuration

  • Proxmox
  • OpenVZ (On Debian)
  • Haproxy
  • One container by service

Needs

  • Easier configuration management
  • Closer to "development" spirit
  • IPv6 ?
  • Have fun
  • No reliability

What I want on my server ?

  • PHP hosting
  • Project management
  • Private Git repository
  • IRC bouncer
  • Mails
  • Backend services (MariaDB, MongoDB...)
  • Seedbox

Considered

  • Openstack
  • Docker
  • Cloud hosting
  • Proxmox
  • LXC containers

Considered configuration management

  • Puppet
  • Chief
  • Good old scripts ?
  • Ansible

The IPv6 HELL

About IPv6

Cost of IPv4 : ~2€ by IP

Cost of IPv6 : 264 for free (18,446,744,073,709,551,616)

Can I have a server IPv6 only ?

Can I have a server IPv6 only ?

  • Wait, I want to clone github repository...
  • Wait, I want to install a custom package repository
  • Someone listening to me ???
  • Oh. I can't access to my server. Thanks Orange.

My stack is not made for IPv6 only containers.

LXC containers in Proxmox with LXC IPv6 only and be able to route on them ? No.

Route to the right container !

  • Handle IPv6, DNS side
  • NAT for the most part
  • HAProxy for the other part

Configuration Management

Why I want Configuration management ?

  • Track changes
  • Consistency
  • Deploy easier
  • Disaster plan

Facts about Ansible

  • Don't want any client
  • Huge community
  • ... But less scripts
  • Simple
  • Many tutorials... If you never want to do things in the right way.

Cons

  • Less powerful than tools based in other programming languages
  • Introspection...
  • Speed

How It's work ?

  • Translate in SSH commands
  • Library <- I don't have to write some Library for now
  • Roles
  • Inventory
  • Playbooks

Demo

Case

  • Install some basics repository and tools
  • Install apache

End

Thanks for your attention

(Presentation with revealJS)

Server installation An unexpected Journey