Top Banner
LACHLAN DALLY SENIOR SUPPORT ENGINEER ATLASSIAN @LACHED Scaling Without Expanding: A DevOps Story
83

Scaling Without Expanding: a DevOps Story

Mar 19, 2017

Download

Technology

Atlassian
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Scaling Without Expanding: a DevOps Story

LACHLAN DALLY • SENIOR SUPPORT ENGINEER • ATLASSIAN • @LACHED

Scaling Without Expanding: A DevOps Story

Page 2: Scaling Without Expanding: a DevOps Story
Page 3: Scaling Without Expanding: a DevOps Story

Automation is the driving force of

DevOps

Page 4: Scaling Without Expanding: a DevOps Story

Automation

ChatOpsTracking

Support

The heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Page 5: Scaling Without Expanding: a DevOps Story

MandateBuild and maintain the platform required by Atlasssian’s developers to build, test and release their products

Build Engineering’s

Page 6: Scaling Without Expanding: a DevOps Story

OPERATIONS

Build Engineering

SUPPORT

DEVELOPMENT

Page 7: Scaling Without Expanding: a DevOps Story

1.8x the number of customers

Page 8: Scaling Without Expanding: a DevOps Story
Page 9: Scaling Without Expanding: a DevOps Story

Automation

ChatOpsTracking

Support

The heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Page 10: Scaling Without Expanding: a DevOps Story

Automate

every facet of your work

Page 11: Scaling Without Expanding: a DevOps Story

Installing new infrastructure

Configuring your servers

Deploying a new release

Stuff you actually want to get done

Page 12: Scaling Without Expanding: a DevOps Story
Page 13: Scaling Without Expanding: a DevOps Story

Continuous Integration

The starting point of every project

Bring visibility to your automation

Page 14: Scaling Without Expanding: a DevOps Story

Know what’s running

in each environment

Page 15: Scaling Without Expanding: a DevOps Story

Continuous testing = more frequent releases

Page 16: Scaling Without Expanding: a DevOps Story

full bleed image - construction? - farming? - lego?

Configuring Servers

Configuration as Code

Page 17: Scaling Without Expanding: a DevOps Story

Building Software

Building Infrastructure

Page 18: Scaling Without Expanding: a DevOps Story

file { ‘/etc/cron.daily/clean_m2_local': source => ‘puppet:///modules/bamboo_agent_support_maven /etc/cron.daily/clean_m2_local', owner => 'root', group => 'root', mode => '0755', }

Configuration as Code

ldally@ip-172-30-97-250:~$ ls -la /etc/cron.daily/clean_m2_local -rwxr-xr-x 1 root root 352 Sep 18 00:38 /etc/cron.daily/clean_m2_local

Page 19: Scaling Without Expanding: a DevOps Story

Puppet Bamboo

Page 20: Scaling Without Expanding: a DevOps Story

full bleed image - measuring something (olympics)? - science?

Test

Virtualization and Behavioural Testing

Page 21: Scaling Without Expanding: a DevOps Story

Spin up an instance

Apply your configuration management and deploy your app

Run your tests

The Testing Process

Page 22: Scaling Without Expanding: a DevOps Story

Testing Tools

Vagrant Cucumber

Virtualization Behavioral Testing

Page 23: Scaling Without Expanding: a DevOps Story

Spin up an exact mirror of your server

~/s/buildeng-puppet ❯❯❯ vagrant status

Current machine states:

aptly not created (aws)

consul not created (aws)

bambooagent not created (aws)

bambooserver running (aws)

efs not created (aws)

bambooserver_rds not created (aws)

dns not created (aws)

basebox not created (aws)

gnomes not created (aws)

status not created (aws)

graphite not created (aws)

Page 24: Scaling Without Expanding: a DevOps Story

Easy to understand expectations

Quick to write

Page 25: Scaling Without Expanding: a DevOps Story

full bleed image - shipping crates? - military drop from plane? - ice road trucker?

Configuring Hardware

Infrastructure as Code

Page 26: Scaling Without Expanding: a DevOps Story

Building Software

Configuring Hardware

Page 27: Scaling Without Expanding: a DevOps Story

# Create an instance for our JIRA server resource "aws_instance" “fried_fritter_jira” { instance_type = "m4.2xlarge" ami = "ami-dfb0e7b5" disable_api_termination = "true" ebs_optimized = "true" subnet_id = “${aws_subnet.ff_us_east_1b.id}” vpc_security_group_ids = [ “${aws_security_group.fried_fritter_jira.id}” ] provider = "aws.{{ vpc.provider }}"}

Infrastructure as Code

Page 28: Scaling Without Expanding: a DevOps Story

Bamboo Terraform

Page 29: Scaling Without Expanding: a DevOps Story

Everything = AutomatedStuff you actually want to get done

Page 30: Scaling Without Expanding: a DevOps Story

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Page 31: Scaling Without Expanding: a DevOps Story

…software and IT teams evolved from email to chat. They also replaced repetitive tasks with automation, and replaced annual change control meetings with devops’ continuous collaboration. And they pulled it all together into a central tool like HipChat.S E A N R E G A N , H I P C H AT E VA N G E L I S T, AT L A S S I A N

Page 32: Scaling Without Expanding: a DevOps Story

full bleed image - nasa ops room? - ?

The Command Centre

Page 33: Scaling Without Expanding: a DevOps Story

Public

Our HipChat Rooms

Private

Alerts The FIGHT channel

Page 34: Scaling Without Expanding: a DevOps Story

Pull Request approvals

Green builds

No open tasks

Page 35: Scaling Without Expanding: a DevOps Story

See which builds are (or aren’t) passing

Know what needs to be done to get your PR merged

Page 36: Scaling Without Expanding: a DevOps Story

You have an amazing knowledge base!

…but no one knows where it is :(

Page 37: Scaling Without Expanding: a DevOps Story

Inline access to a knowledge base

Page 38: Scaling Without Expanding: a DevOps Story
Page 39: Scaling Without Expanding: a DevOps Story
Page 40: Scaling Without Expanding: a DevOps Story

I heard you like bots

So I put bots in your bot

So you can scale while they bot

Page 41: Scaling Without Expanding: a DevOps Story
Page 42: Scaling Without Expanding: a DevOps Story
Page 43: Scaling Without Expanding: a DevOps Story
Page 44: Scaling Without Expanding: a DevOps Story

ChatOps helps you

Spread your DevOps culture

Page 45: Scaling Without Expanding: a DevOps Story

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Page 46: Scaling Without Expanding: a DevOps Story

Everything you seek

to improveyou must track

Page 47: Scaling Without Expanding: a DevOps Story
Page 48: Scaling Without Expanding: a DevOps Story

I have no idea what I’m doing

Page 49: Scaling Without Expanding: a DevOps Story

Keep an eye on known causes of

performance issues…

…Alongside the system’s resources

Page 50: Scaling Without Expanding: a DevOps Story

agent smith SS

The most important details of each instance

Page 51: Scaling Without Expanding: a DevOps Story

Most of the time your deployments will succeed!

… but sometimes they won’t

Page 52: Scaling Without Expanding: a DevOps Story
Page 53: Scaling Without Expanding: a DevOps Story

Can you see the forest for the trees?

Page 54: Scaling Without Expanding: a DevOps Story

What’s sending the most alerts?

Page 55: Scaling Without Expanding: a DevOps Story
Page 56: Scaling Without Expanding: a DevOps Story

Expose the critical stats to your users

Page 57: Scaling Without Expanding: a DevOps Story
Page 58: Scaling Without Expanding: a DevOps Story

If you track your service…

shouldn’t you track how

people use your service?

Page 59: Scaling Without Expanding: a DevOps Story

Contact Rate Tracking

Page 60: Scaling Without Expanding: a DevOps Story

Count and categorise your contacts

Page 61: Scaling Without Expanding: a DevOps Story

Maven - Usage

External

Bamboo - Usage

Other

Agents - Capability Request

0 12.5 25 37.5 50

Contact Analysis

Page 62: Scaling Without Expanding: a DevOps Story

Case Study: M.A.S.H

Page 63: Scaling Without Expanding: a DevOps Story

go/mash

The most important details about an artefact summarised

Page 64: Scaling Without Expanding: a DevOps Story

Shareyour tracking

Page 65: Scaling Without Expanding: a DevOps Story

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Page 66: Scaling Without Expanding: a DevOps Story

OPERATIONS

Build Engineering

SUPPORT

DEVELOPMENT

Page 67: Scaling Without Expanding: a DevOps Story

OPERATIONS

Maintenance

SUPPORT

DEVELOPMENT

Shields

Page 68: Scaling Without Expanding: a DevOps Story

OPERATIONS

Maintenance

SUPPORT

DEVELOPMENT

Shields

Page 69: Scaling Without Expanding: a DevOps Story

MaintenanceShields Development / Operations

HipChat

ConfluenceQuestions

ServiceDesk

“Shields”

Infrastructure specialists

Development specialists

Page 70: Scaling Without Expanding: a DevOps Story

go/buildeng

full bleed of go/buildeng

Page 71: Scaling Without Expanding: a DevOps Story

go/buildeng

full bleed of go/buildeng

Page 72: Scaling Without Expanding: a DevOps Story

Building Champions

Public Forum

User Groups

Bootcamps

Page 73: Scaling Without Expanding: a DevOps Story

Getting proactive: Pipeline Consulting

Page 74: Scaling Without Expanding: a DevOps Story

PC - Criteria

What makes a pipeline hard to work with?

Page 75: Scaling Without Expanding: a DevOps Story

PC - Scoring

Focus on what’s most important

Page 76: Scaling Without Expanding: a DevOps Story

PC - guides

Clear examples to get people started

Page 77: Scaling Without Expanding: a DevOps Story

Support your customers

proactively

Page 78: Scaling Without Expanding: a DevOps Story

Tooling Summary

Atlasssian Stack Third Party Tooling

Page 79: Scaling Without Expanding: a DevOps Story

MonitoringHostingDeployment

Configuration Testing Dependency Analytics + Security

Something for everybody

Page 80: Scaling Without Expanding: a DevOps Story

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Page 81: Scaling Without Expanding: a DevOps Story
Page 82: Scaling Without Expanding: a DevOps Story

Thank you!

LACHLAN DALLY • SENIOR SUPPORT ENGINEER • ATLASSIAN • @LACHED

Page 83: Scaling Without Expanding: a DevOps Story

Factorio Splash - https://www.factorio.com/

Lego Splash - https://pixabay.com/en/lego-blocks-bricks-toy-game-252602/

Rulers Splash - https://pixabay.com/en/measure-yardstick-tape-ruler-1509707/

Rocket Launch Splash - https://pixabay.com/en/rocket-launch-rocket-take-off-nasa-67646/

Command Centre Splash - https://en.wikipedia.org/wiki/BM%26F_Bovespa

Forest Splash - https://commons.wikimedia.org/wiki/File:England_-

_English_Summer_Forest_(7183018142).jpg

Citations