artem zhurbila - some ways to set up the server (highload strategy meetup lighting talk)

10
Some ways to set up the server Artem Zhurbila [email protected] Highload Strategy Meetup

Upload: artem-zhurbila

Post on 07-Aug-2015

94 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Some ways to set up the serverArtem Zhurbila

[email protected]

Highload Strategy Meetup

Page 2: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Definitions● Provisioning - a set of actions to prepare a server with

appropriate systems, data and software.● Idempotence - the property of certain operations, that

can be applied multiple times without changing the result.

● Configuration management - process for establishing and maintaining consistency of a product's attributes with its requirements throughout its life.

Page 3: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Servers: pets vs cattle

"When one of them gets sick, you shoot 'em in the head and replace 'em with a new one."

Page 4: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Ways to set up new server1. Manually2. Scripts3. Configuration management tools (Puppet, Chef, Salt, Ansible)

a. client-serverb. masterlessc. clientless

4. Imagesa. Virtual machine image (Full and paravirtualization)b. Container image (OS-level virtualization)

Page 5: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Immutable Server

Once you've spun up a server instance from a well-tested base image, you shouldn't run configuration management tools.

Page 6: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Microservices

Page 7: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Combinations● Partially baked Images + CM tools● Provision vanilla OS with script + containers images

○ Containers baked with shell scripts (Dockerfile)○ Containers baked with CM tools

● Fully baked OS images (soft + pre uploaded basic containers e.x. Ubuntu docker container) + containers images

Page 8: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

PackerPacker - is an open source tool for creatingidentical machine images for multiple platformsfrom a single source configuration.

Builders: Amazon EC2 (AMI), DigitalOcean, Docker, OpenStack, VirtualBox, VMware ....Provisioners: Shell, Ansible, Chef Client/Solo, Puppet Masterless/Server, Salt.Post processors: Compress, Vagrant, Docker-push ....

Page 9: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

If you are interested in Docker containers =)● Docker Machine - bootstrap new docker instance (VirtualBox,

Digital Ocean, Azure, Amazon EC2 ...)● Docker Swarm - controls a cluster of Docker hosts● Fig - user friendly YAML configuration of multiple containers● DockerUI - simple web application to manage your containers on

local machine● Shipyard - powerfull web app to control multiple docker machines.● CoreOS - lightweight OS based on the Linux kernel, provides

deploying of containers, together with built-in mechanisms for service discovery and configuration sharing

Page 10: Artem Zhurbila - Some ways to set up the server (highload strategy meetup lighting talk)

Artem [email protected]