devops and magento

17
DevOps and Magento Meet Magento Switzerland October 23, 2015 Glattfelden, Zürich Aarno Aukia, VSHN AG

Upload: aarno-aukia

Post on 15-Apr-2017

763 views

Category:

Software


1 download

TRANSCRIPT

Page 1: DevOps and Magento

DevOps and Magento

Meet Magento SwitzerlandOctober 23, 2015

Glattfelden, Zürich

Aarno Aukia, VSHN AG

Page 2: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 2

About me

● MSc Computer Science ETH

● Security Operations @ Google

● Co-Founder & CTO @ Atrila GmbH (Security Operations)

● Co-Founder & CTO @ VSHN AG (DevOps & Ops)

● @aarnoaukia

● http://about.me/aarno

Page 3: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 3

Agenda

● What is DevOps ???

– Culture & Tools● DevOps tools in the Magento world

Page 4: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 4

DevOps?

● Collaboration: Development (Dev) and Operations (Ops)

● Bring agile software engineering methods to operations

– Automation: infrastructure as a code, versioning/rollback

– Testing: continuous integration/testing/deployment● Bring operations engineering experience to developers

– Scalability: independent microservices

– Production insight: monitoring/logging/metrics● Together: make the application's owner happier

Page 5: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 5

Dev + Ops collaboration

● Bring together Developers & Operations

● Practice agile Operations Engineering

● Counter fear of change with (automated) testing

● Provide developer and development infrastructure

– Tools for developers, preferably self-served

Page 6: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 6

Infrastructure as code

● Change from hand-groomed servers to Operations Engineering (from pets to cattle)

● Speed & reliability

● Versioning & rollback

● Prerequisite for self-service

– Give each developer a full stack

– No manual changes in production

– As many testing instances as needed

Page 7: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 7

Infrastructure tools

● Packaging code & dependencies for atomic deployment/rollback

– Deb/rpm, docker● Infrastructure state management (configuration mgmt)

– Puppet, salt, chef, ansible● Continuous Integration/Testing/Deployment

– Jenkins/TravisCI/GitlabCI● Self-Service

– Vagrant/Docker or through Continuous Deployment

Page 8: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 8

Infrastructure testing

● Bring software engineering best practice to operations

● Large complex infrastructure (as code) → many moving parts

– Unit testing each module (webserver setup, database setup, cache setup, etc)

– Functional end-to-end testing of full stack (request to cache delivers content from database)

● Basically the same thing as production service monitoring but for each change

Page 9: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 9

Infrastructure feedback

● Collect all logs in Elasticsearch-Logstash-Kibana

– Let the developers search for prod error root cause ● Collect Server & Application Metrics

– Correlate with deployments & site traffic

Page 10: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 10

Software Delivery Automation

16

Backends

DB, File

Cache

Page 11: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 11

the 30000ft view

Customer-specific customization, design, etc

Framework & Standard Modules (magento, ...)

App deployment (ssh, ftp, git, composer)

Application Server & Backends (PHP, mysql, ...)

Guest OS

Virtualization (OS, hypervisor)

Server

Network

Datacenter (power, cooling, etc) Colo

IaaS„hosting“

DevOps

You

Page 12: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 12

Magento

● Server stack (puppet)

– Nginx, Varnish

– Php5.5-fpm (maybe HHVM, see previous talk)

– MySQL/MariaDB-Galera-Cluster

– Memcached/Redis/Solr/Elasticsearch (see next talk)● Application Deployment/update (capistrano/ansible)

● Deps in composer (via symfony, @seldaek)

● Automated Magento settings management with magerun

● Bundle know-how (settings, tunings, etc) in common module, override if necessary per customer

Page 13: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 13

Compact stack (dev, Vagrant)

Page 14: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 14

Single stack

Page 15: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 15

Cluster stack

Page 16: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 16

About VSHN

● Swiss DevOps & Ops Company, 12 people in Zürich

● Building the tools and workflows for self-service

● Managing web applications in the cloud

– We are cloud-agnostic: we run on AWS, MSA, GCE, DO, Hetzner, OVH, SafeSwissCloud, Cloudscale, Exascale and in different enterprise-internal private clouds

● We work for Amazee Labs, Liip, Mercedes Benz Switzerland,Migros, SaltCinema, SIX Group, Sherpany, Sobrado, Starticket, Suisa, Taskfleet, zurichopenair.ch, etc

● Maybe we can help you ?

Page 17: DevOps and Magento

23.10.2015 VSHN AG | http://vshn.ch 17

Thanks

● Questions ?

● We're hiring System and Software Engineers @vshn_ch !

● Get in touch with @aarnoaukia or @tobruzh