mage titans usa 2016 - mathew beane - edit fully stacked: less oops, more ops for magento...

37
Fully Stacked: Less Oops, More Ops for Magento Development Magento Master Mover & Magento Certified Developer

Upload: stacey-whitney

Post on 08-Jan-2017

95 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Fully Stacked: Less Oops, More Ops for Magento Development

Magento Master Mover & Magento Certified Developer

Page 2: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Director of Systems Engineering @ Robofirm

Mathew Beane

Page 3: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Todays Plan

• Foundations: An overview of Magento Development and Operations.

• Team: Discussing the culture of processes, technology and people that are found throughout the Devops Lifecycle.

• Building Blocks: Examining the moving parts that make up Devops.

• Creating a Blueprint: A brief look into the setting up Devops.

Page 4: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Magento Development & OperationsFoundations, an overview of Devops.

Page 5: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

What is Devops?

“Devops is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.”From: http://bit.ly/1SVOYGU

Page 6: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Devops Goals

• Release on demand• Prepare technology and processes• Infrastructure as code• Eliminate technical debt • Fail without fear• Measure and document everything• Provide a knowledge and cultural feedback loop

Page 7: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Devops Foundation: CAMS Cycle

Term coined by John Willis in 2010• http://bit.ly/20cIRRq

• This is a feedback loop which can be built around simple building blocks

• Produces incremental growth of the Devops culture, which creates more automation, monitoring and sharing

Page 8: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

CAMS: Culture

“People and process first. If you don’t have culture, all automation attempts will be fruitless.”

Page 9: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

CAMS: Automation

“Start to stitch together an automation fabric for Devops. Tools for release management, provisioning, configuration management, systems integration, monitoring and control, and orchestration become important pieces in building a Devops fabric.”

Page 10: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

CAMS: Measurement

“If you can’t measure, you can’t improve. A successful Devops implementation will measure everything it can as often as it can… performance metrics, process metrics, and even people metrics.”

Page 11: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

CAMS: Sharing

“Sharing is the loopback in the CAMS cycle. Creating a culture where people share ideas and problems is critical.”

Page 12: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Team DevopsDiscussing the processes, technology and people that are found throughout the Devops Lifecycle.

Page 13: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Team Devops

Each Devops role has people, processes and technologies that are used to deliver the end product.

Page 14: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Devops Individual Roles

Roles may be more individualized for some of your “Star Players”• Automation Architect• Release Manager• Security Engineer• Experience/Quality Assurance• Disruptive Technology Research Technician

Page 15: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Business / Operations

Business• Sales• Support• Administration• Business Operations• Business Snowflake Logic

Operations• “The Store” and any hardware or

software that is providing it• Support for customers,

administrators and other users• Secondary and tertiary

applications that support “The Store”

Page 16: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Development / Engineering

• People who write and test code• Tools that are used for Development• Methods and Practices that are encouraged• The development and testing infrastructure

Page 17: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Testing / Monitoring

• A wide variety of technologies and tools exist for testing• Monitoring can turn up things tests missed• Responding to monitoring is a must for it to be effective• Testing and Monitoring should be throughout the Devops lifecycle

Page 18: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Customers / End Users

• Users of the store/website including administrators and customers• Any service that consumes data from the website• Processes that are related to “User Experience”• Feedback from this group is critical to operational success

Page 19: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Building BlocksExamining some of the moving parts that make up Devops.

Page 20: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Devops Infrastructure Overview

Page 21: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Example Setup of Development Environment

Page 22: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Example Setup of Testing Environment

Page 23: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Infrastructure and Configuration as Code

Automated builds using Vagrant and Terraform are a great way to treat infrastructure as code.

Configuration Management Tools:• Ansible• Chef• Puppet• Salt Stack• And many others…

Page 24: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

AWS

Page 25: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

AWS Continuous Full Coverage

http://fbrnc.net/blog/2016/03/continuous-load-testing

Page 26: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Continuous Integration and Delivery Tools

Automated build, deploy, test and release.

CI/CD Tools that work well with Magento• Amazon CodePipeline • Bamboo• Jenkins • TravisCI• And many others…

Page 27: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Continuous Testing

* Testing is a broad subject, deserving of more attention.

Continuous Integration tools like bamboo provides hooks to allow you to test using several different methods.

Magento 2: Testing is built in and easy to tie into your CI/CD

Magento 1: More difficult, it is possible with some effort

Page 28: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Continuous Monitoring

Nagios:

Page 29: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Continuous Stats

See metrics from all of your apps, tools & services in one place using Datadog.

This can be tied to a variety of inputs and outputs:• Newrelic• AWS Cloudwatch• Slack• VictorOps / Pagerduty• And Many More

Page 30: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Metrics

Page 31: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Logs

With the constant fragmentation of the infrastructure you end up with some pretty incredible logging requirements.

Data sources of interest:• Infrastructure metrics (CPU, Network IO)• Business metrics (Sign ups, logins, placed orders)• Events (deployments, auto-scaling activity)• Test metrics (response times, error rates)

Page 32: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Creating a Devops BlueprintA brief look into setting up Devops.

Page 33: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

“The Devops Plan”

Define, Document & Empower Devops Culture1. Identify and Document Processes2. Find people within the Roles3. Focus on building the foundation for feedback loop

Start Automating4. Application build process5. Development environment builds6. UAT environments7. Production environments

Build in monitoring, metrics and create feedback loop.

Page 34: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Small Simple Building Blocks

• Start with the git workflow• Application build process• Testing and peer review• Release build process• Automate production deployments• Use operations and monitoring to

plan the next release

Page 35: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Keep it simple.

With so many choices for all of the technology, its important to focus on small solutions that fit within your existing infrastructure that are easy to implement and maintain.

Page 36: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Questions & Answers

Page 37: Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS for Magento Development / Magento Master

Thanks!

• My Family• Robofirm• Mage Titans• The Magento Community• Fabrizio Branca

The people who have contributed to the meta-culture that inspired this talk.

Follow me on twitter:

@aepod

See my blog at http://aepod.com/ for a more detailed list of sources and inspiration for this talk.