Author: Victor Cruz

  • New to DevOps? Resources to Help You ‘Get With the Program’

    New to DevOps? Resources to Help You ‘Get With the Program’

    Resources to help put you on the right DevOps career path

    The demand for DevOps solutions is set to achieve an annual compound growth rate of 16.5 percent in North America for the 2017-2023 period, according to KBV Research. Globally, the DevOps market size is expected to reach nearly $9 billion in five years. That we’re facing a tsunami of skills shortages goes without saying.

    Yesterday’s view of IT operations tended toward the “Dev” side being the “makers” and the “Ops” side being the people that deal with the creation after its birth. The realization of the sheer amount of inefficiencies that occur when these siloed concerns work at cross purposes became a main core driver behind DevOps.

    So What is DevOps, Really?

    Jez Humble, co-author of “The DevOps Handbook,” defines DevOps elegantly as “a cross-disciplinary community of practice dedicated to the study of building, evolving and operating rapidly changing resilient systems at scale.”

    DevOps can be described in many ways. The Agile Admin blog claims it simply as:

    “… the practice of operations and development engineers participating together in the entire service life cycle, from design through the development process to production support. DevOps can be interpreted as an outgrowth of Agile – agile software development prescribes close collaboration of customers, product management, developers, and (sometimes) QA to fill in the gaps and rapidly iterate towards a better product.”

    Education and Training  

    There are plenty of resources available for wannabe practitioners to cut their teeth, starting with Lynda.com courses on the LinkedIn Learning channel.

    It is even possible to earn professional certification. For example, certification for a DevOps engineer from Cloud Academy comprises more than 32 hours of interactive content (including 16 video courses and 11 hands-on labs) to help you learn the DevOps ropes. Courses include content on networking, security and deployment.

    The DevOps Institute is another great resource, offering a range of courses to help DevOps practitioners of all competencies gain education and experience. The organization curates its members and the DevOps community in general to track and trend the latest and most innovative approaches to DevOps, and offers certification and “digital badging” to its members.

    But what if you don’t want to, or can’t take the steps needed to earn certification?

    Kaushal Amin, CTO at Atlanta-based KMS Technology, an outsourcing services provider with 500 developers in Vietnam, said it takes some studying, networking and, above all, people skills. Talk with IT professionals outside of your organization who are already established in DevOps, as experience can be one of the most valuable resources available. Amin proposes three helpful steps for IT professionals looking to learn about DevOps:

    • Gain a highly focused understanding of DevOps via low-cost online courses offered by Udemy such as Modern DevOps and Mastering DevOps.
    • Talk with friends and colleagues in different roles from your own. Devs should reach out to systems administrators to discuss job responsibilities and tools used. Attend conferences and training sessions to meet people in different DevOps roles.
    • Talk with QA test engineers. They’re the people at the end of the DevOps process responsible for executing quality assurance.

    Amin suggests that after you’ve gained familiarity with DevOps, try out popular cloud-based app development platforms such as Heroku. These providers often offer free versions that can help foster an easy learning path while showcasing cloud services that can help DevOp teams create business process apps and avoid headaches typically associated with assembling or managing platforms and IT infrastructures.

    Suggested Reads

    Tracking the entire software development life cycle is fraught with complexity. Rookies can take comfort in scanning through a glossary of commonly used DevOps terms and concepts.

    No collection of resources is complete without a reading list. At the top of most DevOps-related booklists is, “The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win,” by stalwart veterans Gene Kim, Kevin Behr and George Spafford. Other notable reads include:

    • “Building a DevOps Culture,” by Mandi Walls
    • O’Reilly Media’s “Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale,” by Jennifer Davis and Ryn Daniels
    • “The IT Manager’s Guide to Continuous Delivery: Delivering Software in Days,” by Andrew Phillips, Michiel Sens and Adriaan de Jonge

    And beyond this website, which offers a plethora of DevOps-related content ranging from articles to videos, podcasts to webinars, another helpful resource is DevOpsLinks.com, a learning community of professionals looking to share tips and best practices. As its founder Aymen El Amri, puts it, “For evangelists, DevOps is a culture and a transformation. For some engineers, DevOps is a set of agile tools and techniques. For managers, DevOps is probably a methodology. For other people it is just a buzzword and for recruiters, DevOps is a job.”

    — Victor Cruz

  • 3 Steps to Building a DevOps Team Focused on Customers

    3 Steps to Building a DevOps Team Focused on Customers

    In most enterprises, Dev and Ops people inhabit different worlds, show scant regard for one another and communicate as little as possible—unless it is to vent about something done by “one of those” people over there. Dev and Ops are the chalk and cheese of software development and, mostly, that’s the way they like it. The concept of being on the same team—creating the best possible software for customers—might be quite alien.

    Obviously, Dev and Ops people are missing the big picture: They inhabit the same customer-focused world and need to get along for the greater good of the company, the customers and the quality of the software they are pushing out the door. Neither “side” will ever likely make that observation, and, even if one side did make it, the other would almost certainly reject it with derision.

    Consequently, the impetus for change and team-building must come from elsewhere, from an outside consultant or a C-level executive—ideally, a person with a firm grasp of cultural nuances if not the nitty-gritty of what Dev and Ops are all about.

    Step 1: Move Beyond the Stereotypes

    Savvy enterprises know they have to bring the “sides” together. The first step involves cultural cleansing, essentially scrubbing the ingrained and highly divisive stereotypes that exist.

    Ops people see developers as irresponsible code jockeys who thrive on creating new things and don’t care a fig about the business, leaving Ops to deal with their cavalier antics.

    Developers tend to see Ops as stick-in-the-mud, uncreative types who dislike change, and resist innovation because it will complicate their lives, even when such innovation will benefit the customer.

    On the whole, both stereotypes hold more than a grain of truth. They are like two sides of the bicameral brain.

    Companies must work hard to dismantle these stereotypes, which ultimately are counterproductive to creating unity and the high-quality software demanded by the customer.

    A good way to get both sides to cozy up to one another is to bring them together for a series of informal meetings, ideally at an offsite location where they can relax and socialize over a few days. In this way, they can understand and appreciate their respective roles and contributions—and view everything they do through the perspective of serving the needs of the customer.

    Step 2: Focus on the Customer

    Enterprises increasingly are tasked to deliver more features to their customers, faster and cheaper. Users’ expectations for more/better/faster/cheaper features are shaped by their experiences of web and mobile applications that keep doing more automatically or at the click of a button.

    With competitors releasing new features every few days or even hours, enterprises cannot afford unpredictable, lengthy and inefficient software releases caused by Dev and Ops not being on the same page and not understanding the needs of the customer.

    Unsurprisingly, many enterprises are doing whatever it takes to deliver better software faster, notably:

    • Having measurable goals;
    • Incorporating automation and continuous delivery into DevOps; and
    • Pursuing a relentless focus on testing.

    The whole process is frequently untidy and painful, but immensely positive if done properly.

    A major element of every enterprise’s strategy for delivering better software faster is to bring Dev and Ops together, ideally under one roof—united by their focus on the needs of the customer.

    Step 3: Measure Performance by Customer Satisfaction

    Once the groups are on the same page, you should start measuring their performances in terms of how well they meet customer experience. Developers will have the incentive to make sure that the goods they deliver to Ops are high-quality and stable, while operations people will have the incentive to make sure they release enhanced capabilities to customers as quickly as they can—before the competition does something similar or before the enterprise loses the customers to some other alternative.

    When Dev and Ops people work together, they can gain insight into the negative effects of their old behaviors, better understand their joint goal of delivering top-notch software to customers quickly and eliminate all or most of the terrible wait times that typically exist between Dev and Ops.

    In Summary

    Chalk and cheese don’t mix. Neither do Dev and Ops people if you accept the cliché of the two sides being antagonists locked into their fiefdoms. However, modern enterprise software development forces companies to move beyond clichés and fiefdoms to embrace a customer-focused vision of DevOps.

    — Victor Cruz