• Happy SysAdmin Day!

    Cheers to those who serve our servers – on premises and in the cloud.

    IT professionals, it is that time of the year again! This Friday, July 25th, is the 15th official annual SysAdmin Appreciation Day (link). As if you wouldn’t know that every day is SysAdmin Day. But this day is different and don’t be fooled by the acronym, SAD is a joyous occasion—a time to acknowledge, celebrate and thank the IT magicians who keep our digital worlds humming. Though SysAdmins are rarely noticed until they’re needed, and people never seem to understand what it is they do (“oh, so you’re the guy who deals with the printers?”), without them no business would run smoothly and maybe you’ve heard one of the misconceptions in this image:

    microsoft system admin day cartoon 05 dark blue

    (click the image for a larger version)

    We at Microsoft are no different from any other business and know and understand how important SysAdmins are. Companies depend on your abilities to protect private information, fix system errors as quickly as they arise, keep network connections strong, and deploy solution in datacenters or to the cloud. Without you, emails would stop flowing, networks would stop working, and productivity would grind to a halt.

    What are the biggest misconceptions that you’ve heard about SysAdmins?

    Share them with us on Facebook and Twitter, using #SysAdminDay and #WhatIDontDo, and you could win a chance to be featured on The Edge Show on Channel 9!

    Find full rules of this little contest here.

    Don’t forget, on SysAdmin Day, it’s typical to celebrate with cake and ice cream. “Cookies” & cream might be a fun choice? ;)

    HERE’S TO YOU AND THANKS!

    @volkerw

  • CIO Guide – Leading Change in Enterprise IT with DevOps

    Contrary to what a recent Wall Street Journal post suggests, I believe the CIO is needed more than ever. Increasingly, IT is at the heart of every business and with that the CIO becomes a key player – again. Traditionally, the CIO and his operations teams have been identified with phrases like “keeping the lights on” or “server hugging”. Or worse, they’ve been associated with preventing change and progress. Often enough, many CIOs have been turned into (handsomely paid) glorified managers. Those days are over. The CIO has been hired to lead and demonstrate the value of IT to the business—an objective that’s been forgotten by many over time.

    So what are the key factors for a CIO to consider when leading a transformation from traditional IT to an agile, business driven IT organization? Let’s explore what I call the soft factors of DevOps in the enterprise. Rather than diving into the technology involved, I want to a look at DevOps from a change leadership perspective.

    Enterprise IT at the Crossroads

    Every CIO is critically aware that things have changed in business and IT, and change is continuing at the speed of photons. This is a prime opportunity for CIOs to be invited back to the table of the decision makers. Their opinions and guidance are needed to make the right decisions in support of the business. And it’s the CIO’s responsibility to lead any change that’s required of IT in order to support the continued success of the company.

    Keeping the lights on and business as usual is no longer enough. Any notion along those lines will only marginalize IT, eventually making it irrelevant. Instead, look at the startup business, where you see a far more agility and flexibility in response to customers’ demands (internal as well as external) and changing market requirements.

    “Despite what some people seem to think there is more to DevOps than just Continuous Delivery and Infrastructure Automation with Puppet, Chef or Ansible.

    To me, DevOps is ‘an alternative model for the creation of business value from the software development life-cycle that encompasses a product-centric view across the entire product life-cycle (from inception to retirement) and recognises the value in close collaboration, experimentation and rapid feedback’”. DevOpsGuys.com

    The reason for their success could be attributed to the existence of small teams comprised of developers, operations people, even business and marketing staff, who regularly collaborate on solutions. Communications within these teams is easy; in many cases they share the same office space. And there’s a strong sense of shared responsibility when things fail. Equally, any success is a shared success.

    Contrast that to traditional enterprise IT where you find silos of teams, each of which is working on their individual aspects of a project, almost always lacking the required agility, especially in operations. Further, project hand-offs between teams (read: silos) are time consuming and communication is scarce. Driven by different objectives or agendas than their colleagues in operations have, many developers have adopted a more creative and flexible style of building solutions. They are used to a growing variety of tools and platforms. This, in turn, creates a lot of pressure on the operations side of IT to follow a similar agile approach, while still locked into the “old” toolset and mindset.

    A very tangible, negative side effect of this situation is Shadow IT, where developers create their own ways to deploy and run their solutions, in order to maintain the required speed of change and flexibility, and to respond to ever growing demands. One example of this is cloud technologies with easy-deploy options and pay-as-you-go offers foster Shadow-IT, which frequently leads to the drifting apart of development and operations teams, leading to a Shadow-IT scenario.

    CIOs have the responsibility to prevent this gap from widening and to bring together developers, operations and other stakeholders. It could be the first time in a company’s history, but the modern DevOps approach lived by startups and smaller companies can do the magic.

    And herein lies the huge opportunity for the CIO. While there might already be pockets of DevOps happening within a company, transforming IT as a whole requires leadership. The CIO is in a prime position to lead this change for the company’s IT, and if he succeeds he’ll have saved his own bacon in the process. As with any change, it will hurt at times and many challenges, old and new, will (re-)appear along the way.  Among the many challenges CIOs face, three main tasks emerge:

    • Keeping the lights on, supporting the current business and preventing the company from falling behind.
    • Helping the company become more agile and innovative than the competition, with little to no growth in resource or funding.
    • Leading the fundamental transformation of IT and operations, one step at a time.

    DevOps is here to the Rescue

    We are talking enterprise, so everything has to be top of mind for the CIO. If he’s not keeping the current IT running, job security is the least of his problems. Not addressing the necessary change required to stay competitive will get him fired fairly soon. With little to no options left, he will only succeed by leading a transformation of IT.

    “Any IT leader worth his or her salt is going to be constantly thinking about whether they are staying relevant to the business. Operating according to the status quo doesn’t cut it any longer -- not with constantly nagging trends like instant access to cloud computing resources and user-friendly mobile apps designed for addressing business needs.” Enterprise Project

    During the past 8-9 years, innovative CIOs have discovered and embraced the opportunity that DevOps provides for the business and for their careers. There are as many definitions for the term DevOps and as many interpretations as companies that embarked on the journey to transform their IT.

    One thing for certain is that DevOps is not a product, nor is it a certain process. Rather, DevOps aims at achieving better results faster through close collaboration between all constituents involved in the Software Development Lifecycle (SDLC). (For more details about my take on DevOps check out earlier posts on our blog here and here.)

    DevOps is a unique opportunity for the CIO to do what he likes most in his job—leading. And while leading the DevOps change for a company’s IT can be the most challenging opportunity in a CIO’s career, it can also be the most rewarding.
    Don’t tell anyone, but when done right, leading this transformational change will bear manageable risk, increased job satisfaction, and potential stardom (for some, at least).

    DevOps like there is a Tomorrow

    As with any change, the CIO must take careful steps to implement change. And because there is no one-size-fits-all approach, he needs to carefully pick his first target. Some selection criteria to consider include:

    • It does not ever negatively influence the overall performance of the IT organization
    • It has a high likelihood of succeeding
    • It has a high visibility within the organization, ideally the company as a whole

    There is plenty of good reading material available about choosing the right products and how to develop good processes when implementing DevOps. But without looking at these more technological details of the implementation, how should a CIO lead the transformational change that DevOps will bring to people, processes, and products?

    Leading the Change

    When it comes to leading change in an organization, one of the books I’ve been most impressed with is Dr. John Kotter’s “Leading Change”. His book was published in 1996, so I’m sure that most of you have read it or at least heard about it. Even so, here is my interpretation, applied to a DevOps transformation:

    1. Create Awareness - In the first phase you make your case for DevOps. Show your people and your leadership why changing the status quo is required and why DevOps can be the right model. (Read more ...)
    2. Build the Foundation - Find and build the right team. No way will you be successful without careful evaluation of the skills you need on the team.
    3. Have a Vision - Your team and you need an aspiring vision. The vision should be easy, clear, very directional, and achievable.
    4. Communicate like never before - In DevOps there is no under-communication. Progress, failure, success, key findings, everything is important. Communication inside among the team members and across the organization.
    5. Empower your Team - Your team must to be allowed and enabled to define and decide about most if not all of the processes, the tools they prefer, the risk they are willing to take and more. You must empower them.
    6. Winning - Celebrate little successes within the team. Go broad in communicating a bigger break-through. Reward your team members appropriately.
    7. Tenaciously Stick to It - You may need a long breath. Things will change during the project. The team might change. Reinforce the vision again and again. And adjust.
    8. Evangelize - Take what your team and you learned and help others to turn it into a success for their projects to transform all of IT for the benefit of the business.

    Over the following weeks let’s take a look at each of the 8 steps in more detail. In the meantime, please join the conversation and share your thoughts!

    Have fun

    @volker

  • The Three Musketeers of DevOps

    How can any organization launch products, services and solutions without focusing on the three “P”s – People, Processes and Products?

    You need the right people, following appropriate processes using the proper technology or products to accomplish a task or solve a problem. How is this related to DevOps you might ask?

    DevOps is about these three most important assets in any organization: People, Processes, and Products. They are the Three Musketeers of DevOps (Tous pour un, un pour tous).

     *

    Last week I introduced the DevOps blog series starting with what DevOps means to IT Pros.  . Bookmark this site and follow me on Twitter at @volkerw as my team digs deeper into the role of IT Pros within DevOps.  If you’re interested in the underlying technology roadmaps and products available from Microsoft and 3rd parties, a new series will start in May at DevOps in the Cloud.

    Is DevOps a role or function?

    Before we go any further, let’s get this out of the way.  What’s this DevOps all about? There’s as many opinions about what DevOps is as there are people in IT – at least. I’m going to rely on an excellent phrase coined by Adam Jacob, founder of Chef and OpsCode:

    DevOps is a cultural and professional movement. Period. That’s it!

    It is a broad initiative involving most anyone in IT. It is a way of doing work or more narrowly a new way of increasing agility and shortening cycles between application development (Dev) and operationalizing the new application within the business (Ops). Other than the term DevOps might indicate, this movements goes well beyond the Dev and Ops teams. It requires involvement throughout the entire application lifecycle management (ALM) from inception of the idea throughout development, test, and finally deployment, management, and monitoring. But in reality, no one can tell you what DevOps means in your situation. You have to figure it out. Besides all guidance and smart tips, it depends on you and your very specific situation what DevOps means for you. Or to paraphrase a senior leader from a large enterprise who just spoke at ChefConf 2014: “If someone tells you this how to do DevOps, or here is the roadmap, they are full of s**t.” Paraphrasing of course. J

    At times it helps looking at what something is not. Let’s look at what DevOps is not. Below my favorites, derived from the Twelve DevOps Anti-Pattern:

    Neither is DevOps just a person or role nor a new process of doing things. You cannot “do DevOps” just by using a new set of products and tools. DevOps is about collaboration across functional boundaries, involves experimentation and the ability to act fast on feedback. And for any DevOps work to be successful it better creates business value along the whole product lifecycle, from cradle to grave.

    Enterprise IT is no different but some

    Driven by an ever changing business and its requirements to create new and better products and services with a competitive advantage, more and more pressure is put on all groups inside companies. Operations, developers, tester, QA, operations teams, security and networking groups alike, to name a few, feel this urgent need by the business to be not just better than the competition but also faster. Most likely developers experience this first. New features must be delivered faster than ever and with less bugs. If bugs are discovered, hopefully during the testing phase and not by the consumer, fixes must be deployed within hours rather than with a next major update in a few months.

    Startups may have a leading edge as they for one do not maintain a large base of legacy code. And with a strong tendency to use Microsoft Azure and other off-premise cloud based services for their core infrastructure and service delivery, there is way less investment in traditional on premise operations, allowing for greater agility. More often than not a startup displays a different culture than traditional enterprises. The whole company is just 10-20 people strong. Everyone may even work on the same floor, in the same room and close collaboration is their lifeblood. And every step that can be automated saves precious time and resources.

    On the other hand, larger and more mature organizations may have unique sets of requirements, restrictions, and regulations. Large enterprises in particular. Not to mention the boatloads of legacy code that no startup has to deal with. Other parameters like big geographically distributed teams or regulatory restriction pose challenges unknown to most startups. And in cases we see a natural resistance to change in the existing staff.

    Within even large enterprises, however, there might be net-new projects which could easily operate like a startup. Or the next iteration of a service or feature can serve as a greenfield project to try DevOps.

    DevOps is for everyone, large and small, startup as well as well-established enterprises. It is just that there is not one size that fits all..  While following DevOps practices should be in the future of companies of any size, careful introduction and thoughtful selection of the approach is key to its success. All enterprises are different from another, posing different sets of challenges for the teams involved.

    Microsoft believes DevOps can only be effectively implemented with the help of all of the Three Musketeers: People, Process, and Product. Following ideal DevOps practices requires taking on those three in the order listed.

    Over the course of the next few posts we will peek at each of the three musketeers of DevOps and their relevance when embarking on the enterprise journey to DevOps to save the day.

    To get you further started, here are a few additional resources to get you into the right mood for the next post.

    Resources

    -      Big Enterprises Need Big DevOps

    -      DevOps does not equal “Developers managing Production”

    -      Getting Started in DevOps Without Buy-In

    -      No, You Are Not a DevOps Engineer

    -      Where Is IT Operations Within DevOps?

    -      Twelve DevOps Anti-Patterns

    -      Top 11 Things to know about DevOps

    -       

    -      Have fun.

    -      @volkerw

     

    *Photo by Flicker user pasukaru76

     

  • Top 10 DevOps Books for IT Operations

    Regardless whether you consider yourself a decision maker in IT or if you are an ITI (IT Implementer), check out our top 10 booklist. Consider it our suggestion for an early summer read.

    Rather than a comprehensive guide to every book you may want to read about DevOps, this post reflects literature my team and I have been reading over time and consider it our must-reads to get started and dive in. My hope is our list will help you exploring the some of the background, some key challenges, and a bit about the general theory behind collaboration and team work.

    And of course we hope you share back you favorite book related to the topic of DevOps. Without any further ado, the list*, in no particular order.

    The Phoenix Project

    Bill is an IT manager at Parts Unlimited. It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO.
    The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else

    Visible Ops

    The Core of Visible Ops Visible Ops is a methodology designed to jumpstart implementation of controls and process improvement in IT organizations needing to increase service levels, security, and auditability while managing costs. Visible Ops is comprised of four prescriptive and self-fueling steps that take an organization from any starting point to a continually improving process.

    Test Driven Infrastructure with Chef

    Test-Driven Infrastructure with Chef demonstrates a radical approach to developing web infrastructure that combines the powerful Chef configuration management framework with Cucumber, the leading Behavior-driven development (BDD) tool. Learn how to deliver real business value by developing infrastructure code test-first.

    Team Geek

    In a perfect world, software engineers who produce the best code are the most successful. But in our perfectly messy world, success also depends on how you work with people to get your job done.

    In this highly entertaining book, Brian Fitzpatrick and Ben Collins-Sussman cover basic patterns and anti-patterns for working with other people, teams, and users while trying to develop software.

    Lean Enterprise

    The first and most comprehensive book on bringing the startup mindset into large organizations. Forget vague notions of creating an "innovative culture." This book reveals the methodologies, tools, and incentive structures guiding the world's largest organizations to reclaim their innovation prowess.

    Continuous Delivery

    Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations,

    Out Of The Crisis

    "Long-term commitment to new learning and new philosophy is required of any management that seeks transformation. The timid and the fainthearted, and the people that expect quick results, are doomed to disappointment." According to W. Edwards Deming, American companies require nothing less than a transformation of management style and of governmental relations with industry.

    The Goal: A Process of Ongoing Improvement

    In this intriguing, readable business novel, which illustrates state-of-the-art economic theory, Alex Rogo is a UniCo plant manager whose factory and marriage are failing. To revitalize the plant, he follows piecemeal advice from an elusive former college professor who teaches, for example, that reduction in the efficiency of some plant operations may make the entire operation more productive.

    Just Culture

    A just culture protects people's honest mistakes from being seen as culpable. But what is an honest mistake, or rather, when is a mistake no longer honest? It is too simple to assert that there should be consequences for those who 'cross the line'. Lines don't just exist out there, ready to be crossed or obeyed. We-people-construct those lines; and we draw them differently all the time, depending on the language we use to describe the mistake, on hindsight, history, tradition, and a host of other factors.

    The Etto Principle

    Accident investigation and risk assessment have for decades focused on the human factor, particularly ‘human error’. This bias towards performance failures leads to a neglect of normal performance. It assumes that failures and successes have different origins so there is little to be gained from studying them together. Erik Hollnagel believes this assumption is false and


    Bonus

     

    clip_image022

    Visual Studio Team Foundation Server 2012: Adopting Agile Software Practices: From Backlog to Continuous Feedback

    This is the definitive guide to applying agile development and modern software engineering practices with Visual Studio Team Foundation Server 2012—Microsoft’s complementary Application Lifecycle Management (ALM) platform. Written by the Microsoft Visual Studio product owner and a long-time Team Foundation Server implementation specialist,

    I am convinced you have additional suggestions!
    Did you find any great book that should have been suggested here? Which one did we miss? What's your favorite anyway?

    Have fun

    @volkerw

    * All references are to the Amazon bookstore

  • Do not hire a DevOps Engineer

    DevOps is not a person, not a job description, and not a role. I’d be willing to bet you already have the right people with at least some if not all of the right skills currently on staff. They know the environment, the code, networking infrastructure and all. Engineers working on DevOps come from all disciplines as outlined above and most if not all of them are already on your roster.

    In a previous post we looked at the Three Musketeers of DevOps at a higher level. We looked at the term DevOps in general and what it means for companies brand new or more mature, small and large.

    This post will look at each of the Musketeers in more detail and why it is important to consider them in the order presented. What’s the significance of People, Process, and Product for DevOps?

    The People of DevOps

     As with anything new, some people embrace it and see the opportunity, others are adverse to change and see it getting in the way of how things work. IT managers, introducing DevOps top-down, have the difficult task selecting the right team members.

    Reading about DevOps on blogs and in the press you easily get the impression it is about developers taking over operations by coding a bunch of automation scripts and that’s it. No more operations required. Operations through code. With the cloud it has become even easier. No need to know how to setup a physical server anymore. Go to the cloud management portal, spin up a bunch of services and VMs and off you go or even better, use Visual Studio to do development, testing, and deploy.

    While there are phases during the application lifecycle requiring exactly that power and flexibility of the tools, reducing DevOps to just that could not be farther away from it. DevOps means people of different disciplines, different teams, and different cost centers now working together.

    Developers want (and need) freedom to change, to modify, to evolve code. Operations must “keep the lights on” at a reasonable cost. Stability, security, and availability are their mantra. But you cannot stop there. Any group involved in shipping a product (enterprise or not), must be involved at the right time, the right way to contribute its part to the success.

    How to get started with a DevOps Team?

    Especially enterprise Devs and Ops look at DevOps and most see the benefits – if only they could be like a startup. The various roles you need on your DevOps team vary by project. It should contain developers, sys admins, maybe a designer, you need security and networking folk close by and, ideally self-contained.

    Starting with small team working on a narrowly scoped project is good. Take a look at your parameters and decide. Many companies find these DevOps team inside their large organization to be very un-enterprise. That is a good thing. Small and un-conventional is the way to go.

    The most important thing is kept for last as it blends into the next topic. We saw teams failing in the beginning for the simple reason that team members did not feel empowered. Empowered to do what you may ask? Empowered to break the rules. While it highly impacts the people selection process, the team believing in their own empowerment defines your success from the get-go.

    Your company will only be able to take advantage of the DevOps paradigm if your people buy into the idea of the Three “P”, the musketeers of DevOps. Let’s take a look at the processes next.

    The Processes of DevOps

     Your new/old team is pretty excited: “We should have done this a long time   ago.” “I have always said we should do it this way, no one was listing.” “This was our idea all along.” DevOps is a journey more than anything else. Once you have figured out the people you want to take on your journey, time to look at the processes to get to DevOps land.

    First thing the team has to do is selecting the right set of tools, right? Wrong.

    Embarking on the journey requires you to understand or anticipate the roadblocks you may find along the way. You need to understand the scope of your project. Turning to automation or selection products only makes sense, once you fully understand the scope of the problem you want to solve.

    Regardless whether you are working on a green-field project or on improving features of an existing LOB application, the team must identify the scope first. What are you going to focus on solving collectively in a different way?

    Team must be allowed to break rules. IT, especially in larger companies, follows (many times very strict) rules how things are done. Processes that have been implemented over time are based on regulatory demands, best practices like ITIL and ITSM, infrastructure requirements, sometimes by people and skill availability. Following the rules is what keep them out of jail.

    Your DevOps team must be allowed to break the rules. Rules to select the proper tools to get work done. But also refrain from certain established standards. Even access to restricted resources (difficult subject) might be necessary.

    As for the overall processes of delivering results there a many lifecycle best practices to follow. Listen to your new DevOps team. Most members are with the company for some time. They have all the knowledge. They know the issues your current model has. Let them figure it out. Empower them.

    Microsoft provides guidance and suggestions using our tools and services supporting your successes in DevOps. IT pro is playing a key role and should – more than anyone else – drive this motion. Eventually the future success of your company depends on your agility to respond to the demands defined by the business and imposed by new development processes.

    Show me the Money

    As a matter of fact your team has to get out of hiding and start tooting their horn. Your business “allowed” you to find out if and what DevOps can do for them. You better be prepared to show results. And I am not saying you wait until you’re done. On the contrary. It is essential that you demonstrate what you are doing and explaining why you are doing it as often as possible. You probably have a senior executive as sponsor. Make sure he knows what’s going on. He will be under close observation by his boss. She will want to see improved performance and results.

    Doing demos to executive sponsors and to other teams will go a long way helping your company to transition to DevOps, and understanding the benefits, one project at a time. Communicating progress – good AND bad – will do a long way.

    DevOps is not a development best practice, nor is it an operational model. It is not developers forcing a new model onto operations, nor is it operations defining new or restrictive processes. It is the right people, implementing the right processes for the challenge. The following selection takes a look at the third musketeer, Product.

    The Products of DevOps

     We’ve looked at forming an innovative team. The team is allowed to break some rules along their way to delivering results the DevOps way. They start implementing improved processes, enabling them to deliver results in the expected quality and within expected timeframes.

    Now is the time to look at the infrastructure needs. Which tools support the selected processes? Do we have people with experience in certain products? What’s the role of the cloud? To what level should processes been automated? Git anyone? Depending on your resources and timelines, the team might decide to get developers and operations folks together and build the automation tools together.

    A few questions your team will have to answer. Some answers they will have to figure out along the way. And team members will have to learn a few new tricks as well. How many of your Ops people have scripting skills? I mean, like, really? Ruby can be hard, PowerShell is great but can be daunting at first. Working on continuous delivery, developers will have to look at infrastructure stuff. Here’s a situation your team might have to deal with frustration. Which developer wants to deal with infrastructure? Why would an IT pro look at or even touch code? DevOps is about collaboration. Be prepared for anything to happen.

    Mostly driven by demand from the developer community, the Open Source world has created a large number of tools supporting Agile development methodologies and continuous delivery movements required by Dev and Ops. More pointer in the section below.

    The list of tools and products used by companies of all sizes is almost limitless. Especially after recent announcements at the //Build 2014 conference, Microsoft provides plenty support for more agile teams beyond development. Look for pointers in the resources section below. Since cloud and Microsoft Azure are key enabler for DevOps, I suggest you taking a look at a very comprehensive blog post of a co-worker of mine, Brian Keller. He just posted “Building your Dream DevOps Dashboard with the new Azure Preview Portal.” Well worth your time.

    Our global team of IT Pro evangelists talk to customers of all sizes every day. In trainings, briefings, and meetings of all kinds we collect a tremendous amount of information about what works in operations, in DevOps, and more. Starting in May we will start sharing details about the use of Microsoft products and services and Open Source tools and services in DevOps scenarios. You will find pointer to the growing number of posts via their landing page here. And this blog will continue its DevOps journey too.

    I want to close this post with a reminder about how we started:

    Resources

    As always, more resources for you to familiarize or dive deeper

     

    Have fun.

    @volkerw