A devops Engineer is…..

devops is a popular term now a days. Businesses are trying to figure out what it is. Marketers are trying to figure out how to sell it.

there are some real experts out there Nicole Forsgren, Jez Humble, Gene Kim. 

I’ve spent the past year reading all I can get my hands on

Phoenix Project

Devops Handbook

Leading the transformation ( applying Agile and DevOPs principles at scale

Googles SRE book read the free version at this link

Effective DevOPs

Continuous Delivery:Reliable Software Releases through Build, Test, and Deployment Automation

and the list goes on, Still reading these and others.

The organization I work for is no different we’re trying to figure out the new shiny ,like everyone else. Management is being led down the fairy path by vendors and consultants and everyone else hoping to make a buck off devops. I try to contribute and when I’m passionate about something it’s easy to get carried away.  I felt like I needed to give my management my 2 cents.

here they are just a quick executive summary

From: Drew Burt
Sent: Monday, March 27, 2017 11:35 AM
To: Director
Cc: Scrum master
Subject: What does a devops engineer look like?
Importance: High

 

John,

 

A Devops engineer does….

 

  • Understands and uses Agile
    • Principles
      • LEAN
    • Practices
      • SCRUM
      • Kanban
      • XP
    • Methods
    • Philosophies
  • Uses automation to….
    • Reduce Waste
    • Manage WIP
    • Increase efficiency
    • Create consistency
    • (…)
  • Works closely with development partners to…
    • Decrese “Shadow IT”
    • Increase velocity
    • Co-build the release pipeline
    • Create a collaborative rather than adversarial relationship
  • Toolsets
    • Code repositories
      • Git
      • VSTS
    • Scripting languages
      • PowerShell
      • Ruby
      • Python
    • Domain specific languages (DSL)
      • JSON
      • XML HTML
      • Markdown

 

    •  Continuous Integration (CI) \ Continuous Delivery (CD) Pipeline components
      • Build
      • Configuration Mgmt.
      • Deployment
      • Orchestration
      • (…)
  • Understand that there is no real definition of “Devops Engineer” but there are great examples

A devops engineer uses  code to solve operational problems. High reliance on Automation to increase efficiency and reduce human error.

 

Time spent should be 50/50  at first Dev / Ops, with that ratio increasing over time to more dev.

 

Benefits

  • Better MTTR
  • Relationship between development / operations groups as they come to understand each others prime directives
    • Code Product Release Dev prime directive
    • Stable systems Operations prime directive
  • Better Service level objective (SLO) effective rate.
  • (…)

 

Devops culture embraces Agile promises

 

More to come(…)

 

Thanks,

 

Drew

 

I’ll leave it here for now

More to come (….)

 

 

 

 

Are you Mature..?

Towards Maturity

In the Beginning

How did it all start?

Like any other day I’m trying to work My PowerShell Fu-Do to create a tool to aid my cohorts, aid me.

The tool a mashup of Win32_DiskDrive and Win32_Volume classes to create a new Custom Object. The point of which is to gather the information I need to extend storage on the SAN .

Little Google Fu-Do and a great article from @Don Jones

Windows PowerShell: The Many Ways to a Custom Object gets me started

Which Led to My 12 PowerShell Best Practices

By the way of the 12 Practices

  1. Never use Write-Host …. I don’t I love Puppies!!
  2. Avoid $ErrorActionPreference … Wasn’t aware of it Score for ignorance
  3. Indent your Code
    1. {
      1. Fine
      2. }
  4. Spell out cmdlet and and parameter names I do mostly
  5. Don’t use Hungarian Notation … Ok … but can I still use Camel-Case?
  6. Use Multi-Purpose comments
  7. Use mostly single quotes
  8. Use Source control –Working on with internal Team Foundation Server our Dev group uses, we are moving InfraScrum to it from Jira… Maybe.
  9. Use Code signing already implemented in house with our internal CA
  10. Use cmdlet style naming
  11. Avoid Global scope
  12. Output objects… The reason this article started

And…..

That got me to thinking. Best practice implementation leads to maturity as you strive to make your enterprise the best it can be.

My take ways were

  • Security First
  • Use good coding practice
  • Don’t use Write-Host puppies puppies puppies
  • Get Ops to learn good Development Skills and practices
  • Use a repository like GIT stop storing your scripts all over the environment. They end up like being pockets of Ebola.
  • Standardization
  • Repeatability
  • Code Re-use
  • Ad Nauseum

As Operations folks we need to learn some better practices around how we write code and we are going to write more code in future infrastructure operations.

To me maturity is indicated by standard processes that are repeatable by all team members. Standard repeatability is aided by templating your environment. Maturity aids workflow reduces chaos.

Some of the process areas I’m thinking through involve the use of a TFS Git repository as we consider moving our Agile SCRUM process from Jira to the Team Foundation Server. Our team has seen this as positive move to help merge our teams as we move into the DevOps culture.

This is the first of hopefully many Blog Posts…

 

 

 

 

Footer ONe