REDtalks #22 – IBM Cloud with Simon Kofkin-Hansen

In this episode I’m joined by Simon Kofkin-Hansen of IBM Cloud.

As Distinguished Engineer of Cloud Automation, Simon travels the world enabling organizations a smooth transition towards their hybrid cloud goals. Watch this episode to understand some of the realities of a journey to cloud, what to look at for, and what you might want to do differently to make the most out of your newly adopted operating model. HINT: automation is key!

Thanks for joining us, Simon! Great to have you on REDtalks.live

REDtalks #21 – Super-NetOps Live Q&A

UPDATE: incase you missed it, see a recording of the “What is Super-NetOps Live Q&A” here: https://youtu.be/qFbmiVrvxlE

On October 24th, at 9am PST (UTC -7) we will be hosting a Live Q&A forum on Super-NetOps (NetOps for DevOps) – click on the video below for details, or open directly on YouTube here.

Whether you’re a total beginner to infrastructure automation, or well on your way with Programmable Infrastructure, bring your questions for our Super-NetOps champions to answer. Simply enter your question into the ‘live chat’ window now, or during the live broadcast.

For some background, we’ve covered Super-NetOps in previous articles including Does DevOps need a “Super-NetOps”? and REDtalks #19 – Super-NetOps Explained. Due to the overwhelming interest we’re hosting this Live Q&A session to help accelerate your journey.

Live Q&A will commence October 24th, 9am PST (UTC -7).

 

REDtalks #20 – Programmable Infrastructure 101 – be Declarative

While the payoff of a successful implementation can be HUGE, the beginning of your Programmable Infrastructure journey may be difficult and fraught with danger. There are decisions you need to make right from the start that will dictate the experience you and your customers, external or internal, encounter. To avoid ‘kicking an operational nightmare can further down the road’ (or into the orchestrator as it may be), ensure you are employing declarative API interfaces and appropriate levels of abstraction in your automation tooling.

In this episode I explain the importance of declarative API interfaces. Trying to move all of the knobs and buttons of programmable infrastructure into your deployment tooling WILL come back to bight you later. It will be costly to support, it will create an integration too rigid to adapt to new systems and services, and it will increasingly inhibit business agility as time goes on.

 

Thanks for joining us on the 20th episode of REDtalks.live

REDtalks #19 – Super-NetOps Explained

Due to popular demand, here is a short (16 minute) video explanation of the Super-NetOps persona.

I frequently give talks on the need for Super-NetOps engineers and architects to support modern development/DevOps processes. However, that talk (especially with enthusiastic Q&A sessions) takes about 90 minutes. Hence, below is a quick ‘why you need Super-NetOps’ version I put together for those in a hurry.

Brilliantly summarized by my colleague, Joe Cassidy, “Great short video by Nathan Pearce explaining the “Super-NetOps” concept wherein NetOps embraces principles and practices of DevOps to reduce the skills gap between Infrastructure and Developer silos. Like DevOps, “Super-NetOps” is not a technology, tool or person but rather a culture change where infrastructure teams adopt “systems thinking”. This shifting focus towards “systems thinking” empowers the traditional infrastructure silos to collaborate, continuously improve delivery, enhance communication, enable self-service and speed development. F5 is helping enterprises embrace this concept by (among other things) enabling APIs, exposing Declarative Interfaces and executing on Self-Service Models and Templates.

Thanks for listening!

https://f5.com/supernetops

 

REDtalks #18 – Enabling the docker TCP API in AWS

Not a traditional REDtalks post today (no interview/demo), but this took me a while to work out so I thought I’d share.

What’s this about?

It all started with me building REST extensibility solutions for F5 Networks in AWS. I created (Launched) a new AWS AMI Linux instance – yep, the very first one on the list: “Amazon Linux AMI 2017.03.0 (HVM), SSD Volume Type“.

Next, I followed the AWS instructions to install docker:

sudo yum update -y

sudo yum install -y docker

sudo service docker start

sudo usermod -a -G docker ec2-user

docker info

NOTE: Full docs here: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html

This is where I got stuck!

As part of the solution I needed to issue a docker command on the docker host, from inside a container… Ok, Batman, to the Google-copter…

There’s loads of suggestions out there to map /var/run/docker.sock into the container using -v. For example:

$ docker run -it -v /var/run/docker.sock:/var/run/docker.sock my_container sh

With this you can execute:

$ curl --unix-socket /var/run/docker.sock http:/containers/json

HOWEVER, there are loads of forum posts saying to be real careful about mapping /var/run/docker.sock to all you containers…

What to do?

Enable the API over TCP! 

Back to the Google-copter, there are a few posts out there about getting it running on Ubuntu but none for the Linux AMI distro…

A solution (hours later…)

1. Change some startup options:

The default ‘OPTIONS’ in /etc/init.d/docker is:

OPTIONS="${OPTIONS:-${other_args}}"

we need to change this to:

OPTIONS="${OPTIONS:-${other_args}} -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

So, you need to go ahead and edit that to something link this:

$ sudo vi /etc/init.d/docker

#OPTIONS="${OPTIONS:-${other_args}}"
OPTIONS="${OPTIONS:-${other_args}} -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

2. Restart docker for these options to take effect:

sudo service docker restart

Now you have enabled the docker API over TCP! #w00t

Test the API

Lets get the API version:

curl http://<ip_address>:2375/version

NOTE: Replace <ip_address> with the IP address of the docker host, or its hostname!

The response will look something like this:

{"Version":"1.12.6","ApiVersion":"1.24","GitCommit":"7392c3b/1.12.6","GoVersion":"go1.6.3","Os":"linux","Arch":"amd64","KernelVersion":"4.9.20-11.31.amzn1.x86_64","BuildTime":"2017-03-07T20:34:04.601909006+00:00"}

Note the:

"ApiVersion":"1.24"

Now add that version number to the beginning of the URI, slap json on the end of it, and presto:

curl http://<ip_address>:2375/v1.24/images/json

Returns:

[{"Id":"sha256:80ee3a0f225e543668eca9922bf5642bce0e484403df665f3ac9b107d2895d40","ParentId":"","RepoTags":["npearce/ilxe-festivus:latest"],"RepoDigests":["npearce/ilxe-festivus@sha256:973dbf813f6a7f07929b8fd86da4fa9b79f613228e3942fb35d9d525fcfa61b0"],"Created":1495771390,"Size":85001082,"VirtualSize":85001082,"Labels":{}}]

 

Now you can go read this: https://docs.docker.com/engine/api/v1.24/

Enjoy!

CAUTION: One last step, and this is REALLY important! Don’t leave your Docker API open on the Internet!

REDtalks #17 – Orchestration 2.0 (w/ a side of bacon)

Greeting automators and welcome to edisode #17 of REDtalks. Today’s guest is Tyler Hatton who is from WWTs own internal IT Operations team. Tyler is the F5 BIG-IP Subject Matter Expert for WWT and is hell-bent on replacing the mundane with declarative interfaces and orchestration systems.

Watch this episode to hear about the interesting culture at WWT and their regular hack-a-thon’s. These events themed at breaking the routine and investing internally in continuous education and, my favorite, “continuous improvement”. Following this, Hatton talks us through his brilliantly named, hack-a-thon winning, “(P)orchestrator” solution!

Tune it to understand the time-saving, self-service interface that Tyler produced, quite literally, from the Ops ‘drivers seat’.

 

Many thanks, Tyler, for sharing your story!

Thomas A. McGonagle – REDtalks.live Author

Hello,

My name is Thomas (Tom) A. McGonagle http://www.linkedin.com/in/thomasmcgonagle, and I am a new REDtalks.live author. You might recognize me from previous REDtalks #16 and #14. I am a new Senior Product Management Engineer working on F5’s Programmability and DevOps. I am a former Field Systems Engineer based out of Boston, MA. Where I have lived my whole life, and over the last 10 years been devoted to the DevOps movement.

I have been a customer facing engineer my whole career. I was a DevOps strategy consultant at Booz Allen Hamilton and CloudBees the makers of Jenkins. I was a customer facing Site Reliability Engineer at RedHat, and I owned my own Puppet consulting business for three years. At Cloudbees, I had a blog called Field Notes from a DevOps Cultural Anthropologist. One of my favorite blogs, was a blog on Buddhism and DevOps https://www.cloudbees.com/blog/bramavihara-four-immeasurables-devops

In addition to my work, I also spend a lot of time working with the DevOps community. I am the organizer of the Boston Jenkins Area Meetup group, which is the largest Jenkins meetup in the world as well as HackerNest the tech social meetup group. I am also active and help with the Boston DevOps meetup group and the F5 user’s meetup group. DevOps community organizing is a passion of mine.

Its an honor and a privilege to be an author on REDtalks.live, I am both impressed and passionate about the message and content that Nathan has been able to create. My greatest professional goal is to get NetOps engineers practicing Agile and DevOps. I have been calling this Agile Networking, but we at F5 are coalescing around calling it Super NetOps.

My version of CAMS (Culture, Automation, Monitoring and Sharing) is ACAMS+ (Agile, Culture, Automation, Monitoring, Sharing, PLUS whatever is important to the customer, i.e., Network and Security). I find CAMS and ACAMS+ to be great frameworks for discussing DevOps. They are the core values of DevOps, but not its DNA. Cracking the DNA of DevOps requires a singular focus on teamwork and team mission.

The DNA of DevOps is as follows:

  • Team of coordinated specialists
  • Oriented to a common goal
  • Servant leader providing coordination and communication
  • Empathetic in dealings with others
  • Trust in the rest of the team
  • Dedication to the common goal
  • Selflessness, adherence to the greater good
  • Determination and resiliency in the face of difficulty
  • Honesty with the leader and the rest of the team
  • Commitment to the mission

REDtalks #16 – Andy & Tom on Metrics Driven Automation

In episode #16 we are joined by Andreas (Andy) Grabner, of Dynatrace, and Tom McGonagle, of F5 Networks.

Watch this episode to hear about Metrics Driven Automation, or Informed Automation, and how this takes the feat out of fully integrated deployment pipelines. Andy shares some great insights on how to avoid automating oneself into dangerous situations.

Following this, Tom shows us (yes, a live demo) how to deploy an F5 BIG-IP policy using the CI/CD tool, Jenkins.

 

You may recall Tom from a previous episode, REDtalks #14 – Tom & David on the Principles & Practices of DevOps. Thanks for coming back, Tom! Here’s the Jenkins Github repo he referenced in his demo: https://github.com/mcgonagle/F5file

And thanks, Andy, for your valuable insights on  impelmenting safe, information automation. Andreas To hear more from Andy Grabner, take a look at some of these links:

Thanks, both, for your time!

REDtalks #15 – Jason Hand on Getting started with ChatOps

Episode #15 brings us the topic of ChatOps. No, I’m not talking about late nights dialed into bulletin board chat groups on your 9600 bit/s modem! ChatOps is about cross team collaboration and information sharing.

Who better to join me in this episode than the author of O’Reilly’s “ChatOps – Managing Operations in Group Chat“, Jason Hand. As DevOps Evangelist as VictorOps, Jason spends a lot of time talking at conferences and to customers about the journey to a DevOps culture and how ChatOps enables rapid collaboration across teams.

Watch this episode to obtain a deep understanding of what ChatOps is all about, learn of the immediate benefits to organizations from adopting such a practices, and get some great tips on how to get started.

Thanks for joining us, Jason!

You can grab the book here: https://victorops.com/knowledge-drop/devops-docs/chatops-managing-operations-group-chat/

REDtalks #14 – Tom & David on the Principles & Practices of DevOps

Today I’m joined by Thomas McGonagle and Dr David Yates to discuss the principles and practices of DevOps.

Thomas McGonagle is a Sales Engineer and DevOps evangelist at F5 Networks. Before joining F5, Thomas held positions at Cloudbees (maker of Jenkins) and Booz Allen Hamilton, in addition to running his own consulting business that heavily leveraged Puppet. Consistent throughout his career has been a strong focus on automation and orchestrations.

Dr David Yates joins us from Bentley University where he is an Associate Professor of Computer Information Systems. Dr Yates has an MS & PhD in Computer Science, is co-inventor of 12 patents, and comes with hands-on experience in both Agile and DevOps. He is currently working on bringing these practices into the classroom.

Listen to this episode to hear the principals and practices that Thomas and Dr Yates live by in terms of DevOps and automation. To summarize, we discuss these three principals:

  • Systems thinking (continuous delivery, continuous everything, …)
  • Continuous intelligence (from amplified feedback)
  • Continuous learning (from experimentation and practice)

And these 9 practices:

  • Practice 1: Configuration management
  • Practice 2: Continuous integration
  • Practice 3: Automated testing
  • Practice 4: Infrastructure as Code
  • Practice 5: Continuous delivery
  • Practice 6: Continuous deployment
  • Practice 7: Continuous monitoring
  • Practice 8: Develop an engaged and inclusive culture to encourage collaboration and shared ownership
  • Practice 9: Actively participate in communities of practice to become a lifelong learner of technology development (don’t be a jerk!)

Thanks Thomas McGonagle and Dr David Yates for joining us!

UPDATE: Here are the Cloudbees blogs that Tom mentions in this REDtalks episode: https://www.cloudbees.com/blogs/thomas-mcgonagle