Friday, May 20, 2016

Puppet Bootcamp Boston -- "Puppet, Security and PCI"

I gave a presentation yesterday at Puppet Bootcamp Boston today. The title of the presentation was "Puppet, Security and PCI."  I went into the history of Internet credit card theft and the emergence of the PCI standard to combat the threat.  The conference was at the Revere Hotel which has a fabulous auditorium. The seats closest to the stage were actually couches and had little swivel tables.  And every seat had its own power!  Also, free drinks at the end of the day on the rooftop bar--not bad :)

Thank you Puppet for the opportunity!

A PDF of my slides is here.

Monday, April 11, 2016

DevOps dead? Not so fast.


Andrey Akselrod over at TechCrunch wrote "Managed services killed DevOps." He may think he's covering new ground proclaiming the death of DevOps in his article,  but he's not.  This story has been around for quite a while; tt's almost as old as the word DevOps itself.  Which altogether is a pretty short amount of time.  Here's Mike Gualtieri from five years ago with his take on the death of DevOps: "I don't Want DevOps. I want NoOps.

The panacea of "Full Stack Developers" will not meet the needs. There are many large and complicated systems, that need a lot of attention to keep them running. And these systems are growing (think Internet of Things).   While the bar has been raised for when dedicated Ops is required, it has not gone away, and won't be going away anytime soon

Thursday, April 7, 2016

TOP 8 || BEST Linux Command Line Tools

Here they are... my eight favorite linux command line tools. 

#8) systat

All systems should have systat installed.  Systat is the easiest way to get basic server performance logging running on a system.  Systat includes the utility sar.  Sar tracks system utilization over time.  There are few things more frustrating then trying to determine what happened over night on your server, and you don’t have any data on the performance of the box because sar is not installed.

#7) rsync

Moving large groups of files around is made a lot easier with rsync.  Rsync computes a unique hash of each file you would like to copy and compares it to your target.  If rsync finds a matched hash, the source and destination files are the same, and file copying is skipped.  Skipping files that have already been copied can really cut down the work effort! Running an rsync in cron is an easy way to keep a backup or replica of data files up to date.

#6) telnet

Telnet is a granddaddy of network tools. Telnet and its server side daemon, telnetd, for many years provided remote console connectivity to servers and network gear.  As it passes traffic in plain text including login information, it has rightly been relegated to the landfill for antiquated technologies.  I haven’t connected to a telnet server in at least a decade. However, the client program is still useful.  Telnet to a well know port enables an interactive session over TCP to many common network programs that pass data in plain text, like HTTP, dns, smtp and even SSH.  SSH doesn’t pass interactive data, but most SSHd servers will tell you the version of SSHd you have connected to.  It’s good for simple tests of network connectivity or for passing protocol commands over the command line.

#5) emacs 

I am a vi user myself, but I admire the heck out of emacs. I recall vividly, back in my WebLogic days in the late 90s, setting up a new developer, Anno Langen. Bob Pasker was walking Anno through the environment. What has stuck in my mind was there 30-minute conversation filled with backslapping and high fives as they compared their emacs macros. For all you emcas people out there, I salute you.

#4) lynx

It may come as a surprise that I have included a text base web browser in a list of must have network tools. But having an actual browser in your console is handy. There are times when it is easier to fire up lynx to smoke test the content of a web page without having to exit the console. Command line tools like wget or curl, don’t always do the job. Sometimes you want an interactive session, not just a single get or post.

#3) mtr

Back in the day, traceroute was a common tool for tracing the path of packets from a source to a destination. It relied on ICMP responses to generate its maps. Because these same useful ICMP responses have been exploited to generate denial of service attacks they have been largely turned off on the Internet. Instead of getting a nice list of hosts between you and your target with useful timing data indicating where in the network there are bottlenecks, you get back a lot of no-replies. MTR to the rescue!  Somewhat similar in look and feel to traceroute, MTR relies on UDP responses to generate its network maps. Once again, we can see where the network bottlenecks are.

#2) nmap

NMAP is a very useful tool for scanning networks and ports. It’s a useful way to uncover information about what system is on the other end. If an nmap reveals port 3369 is open, chances are pretty good you are looking at a windows server. Nmap is also a quick and easy way to scan a range of IP addresses to see what’s on your network and how many IP addresses are in use.

#1) nc

nc may be my favorite of any network tool. What makes nc particularly awesome is its ability to open an ad hoc TCP or UDP port on any available port. This is a great way to test network connectivity between systems and networks during the network build phase, before applications are installed. 

So what do you think? Is there a favorite of yours that is not on the list? Please let me know in the comments.


Saturday, February 27, 2016

The DevOps Phenomenon -- Abstract


The DevOps Phenomenon
Continuous Integration and Security 
in the Internet Age
by Kevin Eberman
Abstract
This book is about DevOps. DevOps integrates previously misaligned concerns: Development and Operations. Development teams are driven to continually add new features and functionality to the application. These changes cause instability, which imperils the prime directive of Operations teams—keeping the applications running. DevOps is the convergence between Development and Operations, making the Internet, how it is developed, and how it operates, more efficient, effective, and secure. Amazing convergences are emerging between science, business, culture, and politics; DevOps is one of them. “Talking about music is like dancing about architecture” will no longer be a hallmark of inane comparisons, but a harbinger of new ways of seeing and doing.
The Internet has been the engine of my professional career. I have 20 years of experience in San Francisco and Cambridge at software companies that have helped make the Internet what it is. This book, my story, my DevOps trip, is a microcosm of the Internet during this epoch of the Information Revolution.
“When you come to a fork in the road, take it!”
Audience
Readers of WiredQuartz and InfoWorld.
Ops people, full-stack developers,
software executives, and product managers.
Me.


Comparisons
DevOps for Developers Michael Hitermann. Apress, 2012
The Phoenix Project Gene Kim, George Spafford, Kevin Behr. IT Revolution Press, 2013
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation Jez Humble. Addison-Wesley Signature Series, 2010
The Painted Word Thomas Wolfe. Picador, 1975


Kevin Eberman 
twitter: @Manager_of_it 
http://manager-of-it.blogspot.com 

Wednesday, December 16, 2015

Inspiration: Why write a book about DevOps?

Inspiration

Why write a book about DevOps?

My first computer, a TRS-80 Model I, is in my attic.  It has an external 5-¼ floppy drive and 4k RAM on the main board. I bought the computer, used, with gift money from my Bar Mitzvah.  I liked to play games on it.  Some were classic adventure games with no graphics at all, just descriptions. “You are in a room. There are two doors on the east wall.  On a table are a book and a knife.” When they had graphics it was white, low-res pixels on a grey screen. These games were fun even with the poor graphics. When I wasn’t playing games, I taught myself BASIC programming.  I wrote some small programs, copied others and tweaked a few. 

I had a computer at the beginning of the personal computer revolution, but I was not consumed with my PC.  My interest grew when I got my first exposure to the Internet in college.  I was at the University of Kansas pursuing a degree in Electrical Engineering. I had done well in Calculus and EE seemed more practical than a liberal arts degree and more useful than a business degree.  That was about as much of my future as I could conceive.  This was in the late 1980s before the World Wide Web made the Internet easily accessible.  But the Internet was out there and had been for a few decades already. When I came upon the Internet, I found troves of interesting reads, elite users and computing resources on an international network of systems available for anyone that had the wherewithal to connect to it. And of course—Games! My connection was a 1200-baud modem on a Macintosh Plus, slow even by the standards of the day. The stream of ASCII characters flowing onto my screen in my dormer in Lawrence, Kansas at the bottom of The Hill connected me to more people and places than I could imagine.  The Internet continues to dazzle me.

The Internet has been the engine behind my professional career.  My contributions, as meager as they are compared to many, including people I am fortunate to call friends and colleagues, have been the work of my professional life.  I began my career in earnest when I returned to San Francisco from extended travels.  I had been backpacking around the world.  Returning to the States, I was ready to get my career going.

They year was 1995.  1995 has been called “The Year of the Internet” or even more grandiosely, “The Year the Future Began.”[1] It was the year the Internet entered mainstream consciousness.  The Web exploded over Silicon Valley and sent shockwaves all around the world.  I felt it in the kiosks set up in malls in Thailand where hawkers shouted, “Go ahead! Surf the Internet!” I felt it in the breathless articles in newspapers in India and I felt it in the first Internet café I ever-visited in Jerusalem.
                                                                                                               
I began to see a way to contribute to the great change the Web was going to make.  In India I picked up a marketing brochure that helped me put the pieces together.

Published by Sun in the UK, this 32-page booklet was not your everyday marketing brochure.  The company that embraced “The Network is the Computer” recognized they were selling umbrellas and it was starting to rain.  They saw themselves moving to the center of the international technology stage.

 “There is no doubt that network computing and the Internet have changed business as we know it, delivering flexible and responsive technology.  Our strategy is to help enterprises to capitalize on these opportunities.”

Martyn Lambert
Marketing Director, Sun UK [2]


Figure 1:  Java Essentials. Sun Marketing Booklet[3]



Java was marketed as a revolutionary tool for the enterprise to take advantage of the emerging power and ubiquity of the Internet.  Not withstanding Sun’s enthusiasm, their pitch was sometimes earnest, maybe even self-conscious.  Sun entreated:


Figure 2: It's a revolution! Really! [4]
Note the syntax (This book contains code. You will be asked to look at syntax again).  They printed “Java” and “Revolution” on different lines, as if they hedged their rhetorical bets and relied on your imagination to make the connection.  It does read differently like this:

Join the Java Revolution
Get started today


Sun did not constrain itself to a technical vision in this booklet.  They included lush full-page illustrations reminiscent of the drawings of M.C. Escher and the classic Sci-Fi film, Metropolis.

Figure 3: Sun, Computers, Escher and Metropolis.


Figure 4: Escher. Impossible staircase.

Figure 5: Elevated streets, Metropolis.




What was it about Java that had Sun so excited? Here’s a bullet list of benefits they included:

Table 2: Java Benefits
Java Benefits
·      With Java you can write applications that can run on any computer breaking the links between application and operating system.
·      Java brings interactive functionality to the Web.
·      Java is an object-oriented programming language.
·      Java allows developers to easily write distributed, robust and secure applications.
·      Java applications are distributed in byte code format.
·      To run a Java application, a computer needs to run a Java virtual machine program.
·      Virtual machines are available for many different platforms.
·      A Java application could be downloaded from the Internet and transparently executed, just like a web page.
·      Java applications known as applets can be embedded in web pages.

What was crystal clear to me was the benefit that “with Java you can write applications that can run on any computer breaking the links between application and operating system.”  Write once, run anywhere! I can write a program once that will run on anything: a workstation, a phone, a kiosk, or a thermostat. How about a heart valve regulator? ANYWHERE!  Couple the efficiency of writing the application with the ease of delivering it and we have the makings of a revolution.  A “java application could be downloaded from the Internet and transparently executed, just like a web page.” Java: efficient, portable, ubiquitous.  Java: cracking open the door to the future. 

Some of these benefits passed over my head. I did not appreciate the benefit of distributing applications in “byte code format.” And not all of these benefits were realized with Java.  It was not uncommon to hear Sun’s marketing turned against them.  Write once; debug everywhere! became a well-trodden joke. Nevertheless the impact Java has been making is amongst the great technology stories of the Internet age.

One of the transcendent benefits of Java was that the distance between application conception, Dev, and application delivery, Ops, became shorter and the terrain easier to traverse.  Typical obstacles for developers: programming for heterogeneous environments and distributing their programs, were smoothing towards straight lines.   These technology advancements were nascent DevOps fifteen years before the word was coined.

Without any particularly clear idea of how it was going to happen, I determined to link my coach to this locomotive called Java and see where it would take me.  The train station was in San Francisco.  I returned to San Francisco from my travels and began to pursue a career with Java and the Internet. 

The Internet has not only been a technological marvel of intellectual fascination; or even my ticket to a millennial sized pay-off in the Internet boom, but a conduit for the grandest motivator of all—love.  Before I left on my backpacking journey I had been spending time with a woman in San Francisco.  We’d kept in touch as well as we could by mail while I was away. We had vague plans to meet in Morocco where her sister was living.

I was in Jerusalem when we reconnected over the Internet.  I had found an Internet café.  It was the first one I’d ever seen. They had two workstations available. I logged into one of them and started writing an e-mail to Jill at jilld[ayt]well[dawt]com.

Jill’s email domain, well.com, was the home of an on-line community called The Well.  The Well was already a famous on-line hangout.  It was one of the many spin-offs of the Whole Earth ‘Lectronic Link.  The Whole Earth ‘Lectronic Link is most often remembered when we think of Steve Jobs.  Jobs famously told a Stanford graduating class that he had been inspired by their catalog. The Well began in 1985.  Co-founder, Larry Brilliant a friend of Jobs, showed the Well to him. Jobs told Brilliant it had the ugliest interface he had ever seen.[v]

Notwithstanding Jobs withering appraisal of the interface, The Well incubated extraordinary connections amongst a remarkably diverse group of users.  Writers, artists, musicians and an abundance of technology folks hung out there.  They were true early adopters of Internet technology.  The Well was a paid Internet company and volunteer community long before the commercialization of the Internet and social media.  It continues to operate to this day. In 1995 both Jill and I were members.

Jill was a conference host and was often on-line.   She was on-line when I was sitting in that Internet café in Jerusalem writing her an e-mail.  This café was a primitive setup by today’s standards.  E-mail was not from my own account, but that of the café’s. The e-mail program inserted a footer with the café’s land-line phone number. When my message came across Jill’s computer, never one to sit on her hands, she picked up the phone and called the Internet café and asked for me, half way around the world--much to the shock of the barista.  On that call, our vague plans to meet in Morocco became real plans.  In the years ahead, Jill became my partner, wife and the mother of our three sons.  As my mom was fond of saying, “When you come to a fork in the road, take it.”[vi]



Fourk 1: When you come to the fork in the road, take it!.

This book is about DevOps. DevOps is making important contributions to what we think of as the Internet, how it is developed and how it operates. DevOps is as much as the transmutation of thought into reality.  Devs conceive of applications.  As they put fingers to keys, and arrange their thoughts into well-ordered code, there is a sophisticated conglomeration of process and tools, Ops, that takes that code and delivers it to users wherever and however they need it. 

To do this, DevOps unites previously poorly aligned concerns Development and Operations. Additionally, DevOps has the potential to provide a security bulwark against profound and fast moving security threats on the Internet. DevOps is a phenomenon. As a phenomenon it is part of a wider transformation that transcends technology and impacts how we all think, communicate, sense and interact with our environment.

This transformation is about transcending boundaries heretofore considered insurmountable; boundaries between the beginning and the being; between the mind and the body; between concept and reality (think singularity).  The convergence between Development and Operations, DevOps, is a single example of many convergences emerging in science, business, culture and politics.  Talking about music, is like dancing about architecture[vii] will no longer be a hallmark of inane comparisons, but a harbinger of new ways of seeing and doing.

Ok, so maybe that last paragraph or two is bullshit and I completely went over the top.  Of course, no one actually knows what’s going to happen, or even, what will be important. I will conclude this introduction by saying; we are living in interesting times!  It has been my great privilege to work on the Internet during this epoch, and to add my voice to the story of the information revolution.  It is a story that it still at its beginning.  In the here and now, and in case you somehow missed it, I want to make it abundantly clear: I am excited about DevOps!  Thank you for picking up this book, and joining me on this journey.








[1] Campbell, W. Joseph, 1995: The Year the Future Began. 1995.
[2] Anon. “Java Essentials: The Internet Springs to Life,” Sun Microsystem Computers Ltd. Bagshot, Surrey. 1996.
[3] Anon. “Java Essentials: The Internet Springs to Life,” Sun Microsystem Computers Ltd. Bagshot, Surrey. 1996.
[4] Anon. “Java Essentials: The Internet Springs to Life,” Sun Microsystem Computers Ltd. Bagshot, Surrey. 1996.
[v] http://archive.wired.com/wired/archive/5.05/ff_well.html?pg=4&topic=
[vi] Many. http://quoteinvestigator.com/2013/07/25/fork-road/
[vii] Many. http://quoteinvestigator.com/2010/11/08/writing-about-music/