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

Scaling Without Expanding: a DevOps Story

Embed Size (px)

Citation preview

LACHLAN DALLY • SENIOR SUPPORT ENGINEER • ATLASSIAN • @LACHED

Scaling Without Expanding: A DevOps Story

Automation is the driving force of

DevOps

Automation

ChatOpsTracking

Support

The heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

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

Build Engineering’s

OPERATIONS

Build Engineering

SUPPORT

DEVELOPMENT

1.8x the number of customers

Automation

ChatOpsTracking

Support

The heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Automate

every facet of your work

Installing new infrastructure

Configuring your servers

Deploying a new release

Stuff you actually want to get done

Continuous Integration

The starting point of every project

Bring visibility to your automation

Know what’s running

in each environment

Continuous testing = more frequent releases

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

Configuring Servers

Configuration as Code

Building Software

Building Infrastructure

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

Puppet Bamboo

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

Test

Virtualization and Behavioural Testing

Spin up an instance

Apply your configuration management and deploy your app

Run your tests

The Testing Process

Testing Tools

Vagrant Cucumber

Virtualization Behavioral Testing

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)

Easy to understand expectations

Quick to write

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

Configuring Hardware

Infrastructure as Code

Building Software

Configuring Hardware

# 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

Bamboo Terraform

Everything = AutomatedStuff you actually want to get done

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

…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

full bleed image - nasa ops room? - ?

The Command Centre

Public

Our HipChat Rooms

Private

Alerts The FIGHT channel

Pull Request approvals

Green builds

No open tasks

See which builds are (or aren’t) passing

Know what needs to be done to get your PR merged

You have an amazing knowledge base!

…but no one knows where it is :(

Inline access to a knowledge base

I heard you like bots

So I put bots in your bot

So you can scale while they bot

ChatOps helps you

Spread your DevOps culture

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Everything you seek

to improveyou must track

I have no idea what I’m doing

Keep an eye on known causes of

performance issues…

…Alongside the system’s resources

agent smith SS

The most important details of each instance

Most of the time your deployments will succeed!

… but sometimes they won’t

Can you see the forest for the trees?

What’s sending the most alerts?

Expose the critical stats to your users

If you track your service…

shouldn’t you track how

people use your service?

Contact Rate Tracking

Count and categorise your contacts

Maven - Usage

External

Bamboo - Usage

Other

Agents - Capability Request

0 12.5 25 37.5 50

Contact Analysis

Case Study: M.A.S.H

go/mash

The most important details about an artefact summarised

Shareyour tracking

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

OPERATIONS

Build Engineering

SUPPORT

DEVELOPMENT

OPERATIONS

Maintenance

SUPPORT

DEVELOPMENT

Shields

OPERATIONS

Maintenance

SUPPORT

DEVELOPMENT

Shields

MaintenanceShields Development / Operations

HipChat

ConfluenceQuestions

ServiceDesk

“Shields”

Infrastructure specialists

Development specialists

go/buildeng

full bleed of go/buildeng

go/buildeng

full bleed of go/buildeng

Building Champions

Public Forum

User Groups

Bootcamps

Getting proactive: Pipeline Consulting

PC - Criteria

What makes a pipeline hard to work with?

PC - Scoring

Focus on what’s most important

PC - guides

Clear examples to get people started

Support your customers

proactively

Tooling Summary

Atlasssian Stack Third Party Tooling

MonitoringHostingDeployment

Configuration Testing Dependency Analytics + Security

Something for everybody

Automation

ChatOpsTracking

Support

The Heart Of DevOps

Build Your Command Centre

Create an Army of Sentinels

Protect Your Project Work

Thank you!

LACHLAN DALLY • SENIOR SUPPORT ENGINEER • ATLASSIAN • @LACHED

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