Category: Features

  • Chef defines the DevOps workflow with Chef Delivery

    Chef defines the DevOps workflow with Chef Delivery

    At ChefCon today Chef made a major announcement unveiling Chef Delivery a “new DevOps workflow product that for the first time enables the continuous delivery of infrastructure, runtime environments – including containers – and applications.”  Chef has examined the use success patterns of many of its thousands of customers to distill what they believe is the formula for success in a DevOps environment.

    alex ethierI had a chance to speak with Alex Ethier, VP of Product and Jay Wampold, VP of Marketing at Chef about Delivery. They were both really jazzed as they think this is a real game changer for not only Chef but the entire DevOps market.  Chef is already a leader in the DevOps community with a rapidly growing base of customers in the Global 2000 and a dominant adoption position among AWS customers. Delivery will extend the Chef platform into the entirety of the DevOps workflow.

    Chef believes this is the time to expand the Chef platform to the entire DevOps workflow. Just about every analyst firm and survey data indicates that DevOps is on the way to wide spread adoption among IT teams of all sizes. While DevOps is about cultural change, once the organization recognizes the advantages to a DevOps culture, tools that leverage this culture are sure to expand their footprint.

    I asked Alex and Jay if Delivery would bring Chef into competition with other DevOps tool vendors. For instance Jenkins and CloudBees in the CD and CI area would seem to be square in the cross hairs of Delivery. While on its surface this would seem to be the case, Delivery is actually a platform that is designed to leverage APIs and open source to to work with a large ecosystem of 3rd parties including Jenkins, CloudBees and other players in the DevOps ecosystem.  I am still not 100% sure where the cooperation will end and the competition will begin, but I guess we will have to wait and see how that shakes out.

    Based on Chef’s customer experience research they think this is what the flow of DevOps looks like:

    chef pic
    DevOps lifecycle step by step

    Some steps are and will remain manual. Chef is seeking to play in the automated areas. Yes this is an ambitious move by Chef. If they succeed they will leverage their already dominant position in the DevOps configuration management field into becoming a dominant player in the entire DevOps life cycle.

    Powering this life cycle is the fact that with the move to the cloud today’s enterprises are moving from static systems to rapidly changing services. This is putting new pressures on IT departments to perform in a “high velocity IT” manner. The key to all of this is of course automation. Under it all Delivery seeks to automate CI, CD and continuous testing.

    Chef’s CTO, Adam Jacob had this to say about Chef Delivery, ““The tools we use reinforce the behavior; the behavior reinforces the tool. Thus, if you want to change your behavior, change your tools.”

    Other highlights of Chef Delivery from the Chef press release are:

    • Robust Pipeline: Chef Delivery provides a shared pipeline and proven workflow for software development that safely takes code from a developer’s or operations engineer’s workstation through build, test, and production.
    • Platform for Collaboration:  Each step of the Delivery pipeline incorporates automated testing to provide developers, operations engineers, compliance and security officers, and IT architects rapid feedback on proposed changes. The common workflow allows personnel of each IT discipline to work together with full visibility into the flow of changes through the pipeline. Policies can be easily applied at each step to ensure maximum change control and governance.
    • Sophisticated Analytics: Chef Delivery provides metrics for all stages of your development pipeline. With full audit capabilities, you can track both pipeline performance and activity, manage permissions and access comprehensive change history from easy to use dashboards.
    • Scalable Architecture: Chef Delivery was designed from the ground up for performance and scalability. Its architecture is fully integrated with the Chef Server and designed to meet the demands of the largest and most complex enterprise IT environments.
    • Full Ecosystem Integration: Chef Delivery integrates with an extensive array of operating systems and runtime environments, including public cloud platforms such as Amazon Web Services and Microsoft Azure, as well as runtime environments such as Docker containers.
    • Availability: Chef Delivery is currently available through an invitation program
    • Pricing: Chef Delivery will be sold in 2015 on a subscription basis.

    This could indeed be a real game changer for already high flying Chef.  While at ChefCon today I intend to ask many of the partners and vendors exhibiting here how they view Delivery and what kind of integrations we can expect to see from them for it.

    One thing for sure is the DevOps tools market is evolving and maturing rapidly.  Tool vendors will have to move quickly to allow high performing IT teams to move at the speed of DevOps.

  • Puppet Labs talks Docker and containerization

    Puppet Labs talks Docker and containerization

    Last week Puppet Labs released a new version of Puppet Enterprise that brought forward a number of new features, including those to Puppet Node manager that helps automate the provisioning of infrastructure from containers to bare metal, as well as a new AWS module that helps automate provisioning, configuration and management of AWS resources using Puppet. As a part of the release, Puppet announced it was officially supporting a Puppet module for Docker that has been kicking around Puppet Forge since the containerization tool went open source.  With 90,000 downloads behind it and many more customers clamoring for advice on how to better automate workflows in Puppet-controlled infrastructure while using Docker, the module had gained critical mass. devopsy.kinsta.cloud took the announcement as an opportunity to catch up with Gareth Rushgrove, senior software engineer with Puppet and author of the Docker module, to discuss containerization and how Puppet is working to help customers take better advantage of container environments.

    What do you consider some of the biggest challenges when deploying containers in the real world? And how is Puppet Labs hoping to help customers get the most out of Docker?

    I think the first thing is really just…

     

    –THIS STORY HAS BEEN MOVED TO CONTAINER JOURNAL–


  • DevOps at REA Group

    DevOps at REA Group

    “DevOps is 100 years old, and probably invented by a British engineer in the 1920s,” according to Nigel Dalton, CIO at REA Group, the company behind realestate.com.au and other leading real estate sites in Australia, Hong Kong and Europe.

    He was referring to the work of Frank Woollard at Morris Motors in the UK. In 1925, Woollard produced a paper titled Some Notes on British Methods of Continuous Production in which he wrote “The ideal of continuous flow must be present from the design and raw material stages up to and even beyond the sales stage.” (This paper can be found in Bob Emiliani’s annotated reprint of Woollard’s Principles of Mass and Flow Production.)

    “There’s nothing new under the sun with DevOps — we’re doing the same thing [as Woollard],” said Dalton. “We’re reproducing practices that are 100 years old.”

    They might be even older, he said, pointing to research suggesting China’s Terracotta Warriors were made using flow manufacturing around 200BC.

    While the principles are old, “the cutting edge today is DevOps.”

    REA’s DevOps journey began around three years ago when the company’s applications and website covering commercial and residential sales, rentals and shared accommodation were being moved to a new Java-based platform. It was “an epic migration” involving a large team from REA and consultancy ThoughtWorks, and one that triggered consideration of how to do things even better.

    People like REA’s Trent Hornibrook (then infrastructure lead, but now delivery lead) realised greater changes were needed, Dalton said. “I doubt that bosses could tell people to do DevOps — they’d find a million reasons to avoid it. It’s a practitioner, grass-roots thing.”

    Hornibrook likened the situation that results from separate development and operations groups to working on a car production line and finding that a door doesn’t fit the body. Production grinds to a halt, but that could have been avoided with better collaboration further back in the process, so it’s largely about making the feedback cycle quicker.

    The idea of a monthly development cycle where operations signs off at the end of the month “couldn’t go on in a world where things were moving faster,” said Dalton.

    The company was still organised in functional groups: IT development, IT operations, marketing, sales, and so on. But as it moved to customer-segmented operations, these divisions were no longer appropriate.

    So REA reorganised into business units covering its commercial, residential and property developer customers. “We got rid of IT operations, and put operations people into the teams,” he said.

    The only centralised IT development workers are the global infrastructure and architecture team of around 12 people who build tools and measurement technology, manage the company’s use of Amazon Web Services, and provide consulting services. “They’re not high and mighty enterprise architects, they’re hands-on.”

    The approximately 180 developers are part of the delivery teams that focus on the entire lifecycle of their applications, Hornibrook explained. “We’ve driven the autonomy and accountability down to individual teams,” and this has resulted in high levels of staff engagement.

    Scaling IT is difficult, he observed, so it is necessary to provide that autonomy. While it does mean some work is duplicated, that’s a worthwhile trade-off for the increased throughput.

    Dalton agreed, pointing out that the real estate business is changing rapidly, and REA’s ability to match that speed makes the organisation more resilient.

    “The business benefits of adopting DevOps are significant,” said Dalton. The lean approach focuses on value, flow and waste, and DevOps improves flow and reduces waste. It is not logical to block flow by addressing operational issues at the end of a cycle — it’s much better to embed that function along the development process.

    Another factor that allows IT at REA to keep pace with the business is that “we don’t have vendor dependency.” Rather than being locked in to the development cycles, the company uses a lot of open source software. “The tooling around DevOps is incredible… I reckon we use 50 tools that I know about across the teams,” Dalton said.

    Similarly, REA employees are actively involved in Meetups, DevOps Days and other community events. In addition to gaining and sharing knowledge, this helps make REA an employer of choice, said Hornibrook.

    The introduction of DevOps does require attention to various organisational issues, including governance. For example, the idea of separation of duties as a defence against certain kinds of malpractice goes out the window. “It’s a good concept, but an old concept,” Dalton said, and one that can be largely replaced by peer checking. He suggested it was much easier to make ‘unauthorised’ changes to code 20 years ago when it was commonplace for developers to work independently on a routine or module, but greater peer involvement and teamwork has made a big difference

    “It’s all about outcomes,” he said. “We have controls.”

    The adoption of DevOps does mean “the guardians of compliance have to learn more skills,” Dalton said. Tools such as GitHub record the changes that are made, but auditors need to learn how to use them. “All the evidence is there, they just have to find it.”

    “Think about security at the beginning of the process and it’ll probably be better,” he added.

    And when it comes to the functionality and quality of the software developed, accountability is an important motivator: if a particular component breaks, then the people who caused the problem will be the ones that have to fix it.

    “DevOps is human behaviour and collaboration, yet it’s deeply technical,” said Dalton. REA’s biggest problem is finding people who will work collaboratively and take responsibility. Also — and how many times have we heard this about IT staff? — “Communication skills are really vital.”

    Another important attribute that Hornibrook looks for is malleability, because “change is so confronting.”

    “A focus on individuals within a work culture and mindset is a key element that prevents the adoption of DevOps,” he said. An important first step for someone in a role like his is to shepherd employees into a shared vision and purpose.

    That, suggested Dalton, is helped by the way REA does not have a highfalutin mission statement, just a simple raison d’être: ‘Our purpose is to empower people by making property simple, efficient and stress-free.’

    There’s also a benefit from one of the most basic Agile tools — cards on walls. This turns a binary ‘you versus me’ situation such as one person asking another whether a certain change has been made correctly into a ‘you and me versus the cards’ situation, and that’s a very different dynamic, according to Dalton.

    The deeper collaboration is spreading from within IT into other functions such as marketing and sales. Dalton calls this ‘product DevOps,’ and added “we can lead that if we get our own house in order.” It helps that REA has already adopted Agile principles across several functional areas, including the call centre and the legal team.

    “That’s how this organisation succeeds at pace and with flow,” he said. “Learn, learn, learn, with a relentless focus on the customer.”

    That customer focus addresses the question of whether REA is building the right products, Hornibrook pointed out. Dalton agreed, observing “with DevOps and Agile, we can make the wrong thing really fast, but that’s not helpful.”

  • 8 Signs of Docker Ecosystem Empire-Building

    8 Signs of Docker Ecosystem Empire-Building

    Docker’s meteoric rise on the strength of the continuous delivery movement’s thirst for containerization has been nothing short of remarkable. There’s perhaps no bigger sign of Docker’s uptake than in the build-up of its third-party ecosystem. The past year has seen partnerships galore from Docker and the biggest IT industry players,  plus notable support of the Docker ecosystem amongst key service providers. Here’s our take on some of the cross-industry relationships that will make the Docker ecosystem stronger.

    1. Google

    Google has had a big hand in helping to foster a collaborative Docker community, notably with the open source release of its Kubernetes container cluster manager. The project has gained tons of cross-industry support from IBM, Microsoft, Red Hat and more.  Google is further strengthening its ties in collaboration with Mirantis Partners with the reveal last month that Goog would work on a project with the OpenStack firm to  simplify the installation and management of Kubernetes applications on OpenStack.

    2. VMware

    Late last summer, VMware announced that it was working alongside Google, Pivotal and Docker to make it easier for enterprises to scale container-based applications on VMware infrastructure. As part of the deal, VMware agreed to collaborate on open source projects like libswarm, libcontainer and libchan, and to work with Docker to improve interoperability between Docker Hub, vCloud Air, vCenter Server and vCloud Automation Center.

    3. RedHat

    Just this month, Red Hat brought to fruition its plans to support Docker and other containerization technologies with the launch of its Red Hat Enterprise  Linux Atomic  Host operating system. Based on work done in the Project Atomic open source project, the OS is meant to offer a reliable platform for Docker, Kubernetes, Flannel and others for the enterprise market.

    4. Amazon

    For the past year Amazon has been bending over backwards to help customers more effectively leverage Docker on AWS infrastructure. Most notable was its big splash last November with the launch of its EC2 Container service (ECS), designed to simplify the management of Docker containers across a managed cluster of EC2 instances. It continues to add to that service—last month it provided updated enhancements to ECS that makes it able to use images stored in private docker repositories and to mount volumes in containers in ECS. 

    5. Rackspace

    Rackspace’s long-running relationship with Docker starts first as a user, but extended notably beyond that in June last year when it was working to contribute to the Libswarm project and had created a backend plug-in for Libswarm that would enable its users to launch Rackspace Cloud Servers directly from the Docker CLI. 

    6. IBM

    After a year full of big wins for the Docker ecosystem in 2014, it ended with a bang in November when IBM joined forces with the containerization upstart to integrate it into a range of applications for the enterprise market. As a part of the partnership, IBM launched IBM Containers, a Docker-based service delivered as a part of its Bluemix open cloud platform for application development. 

    7. Microsoft

    Microsoft has been incrementally upping the ante with its Docker relationship, starting in June 2014 when it added support for Docker  Microsoft added support for Docker in Microsoft Azure on Linux VMs. By October it had publicly committed to support Docker on future Windows Server releases, by adding resources to implement in-house tweaks to Windows Server and to support the open-source development of the Docker Engine for Windows Server. And in January Microsoft showed its commitment to the partnership with the release an Ubuntu image fully integrated with Docker and ready to deploy from the Microsoft Azure marketplace. 

    8. Puppet Labs               

    The most recent among Docker’s ecosystem wins, Puppet Labs this week pushed forward a new version of Puppet Enterprise  that includes a special module specifically for managing the Docker Platform and launching containers in Puppet-managed infrastructure.  The idea is to help users side-step configuration issues with the Docker daemon running containers.

  • Jez Humble Leads Next Round of Speakers Announced for DevOps Connect @ RSA Conference

    Jez Humble Leads Next Round of Speakers Announced for DevOps Connect @ RSA Conference

    The next round of speakers has been announced for the DevOps Connect: SecDevOps event at RSA Conference. Joining the previously announced group we are pleased to announce the following distinguished presenters added to the agenda:

    Jez Humble of Chef and renowned author
    Jessica Devita of Microsoft
    Nick Galbreath of Signal Sciences Corp and formally of Etsy
    Dan Cundiff of Target
    Chris Walsh of Signal
    Sarah Alhafidh of Intuit
    David Mortman of Dell
    Rich Mogull of Securosis

    Most of these people need no introduction to the Infosec and DevOps community. The exact schedule with titles of talks as well as the final wave of speakers will be released next week.

    Additionally, Gene Kim and Joshua Corman will be delivering the opening keynote titled: Rugged DevOps: Faster/Safer with Software Supply Chains

    It promises to be quite a day of DevOps and security that you don’t want to miss. The event is open and free to all badge holders of the RSA Conference. Unfortunately, there were only 600 pre-registrations allowed and we reached that level last week.  However, pre-registration does not guarantee a seat, RSA Conference will seat you on a first come, first serve basis. So come early even if you are not pre-registered.

    The event is all day on Monday April 20th. The event starts at 9am but you can arrive early. People may not stay for the full day, so again you should be able to attend even if you missed the pre-registration window.  We are just a few weeks away and hope to see you in San Francisco for RSA Conference!

  • IBM’s Watson sits at the crossroads between DevOps and Big Data

    IBM’s Watson sits at the crossroads between DevOps and Big Data

    While attending IBM InterConnect in late February I had an opportunity to sit in on a press conference. The focus of the press conference was primarily around IBM’s efforts related to hybrid cloud solutions, but the thing that caught my attention was a little tidbit mentioned almost in passing about an innovative way students at the University of Texas Austin had applied the power of the Watson supercomputer.

    Robert LeBlanc, senior VP of IBM Cloud, and a handful of other executives shared IBM’s vision for hybrid cloud and big data analytics with the media. The press conference ranged from data sprawl, to data visibility, to security and performance. The group talked about a focus on developers and the importance of open standards and more.

    Then there was the bit about Watson and the University of Texas. For those who may not know, Watson is a cognitive computing system. It is a supercomputer with an artificial intelligence component that enables is to analyze massive volumes of data, understand complex queries posed in natural language, and respond with evidence-based answers. It learns as it goes.

    Watson University Competition

    IBM has enlisted the support of companies and organizations around the world to help develop new applications for Watson and push the envelope of its capabilities. One of the programs that helps drive innovation with Watson is the Watson University Competition.

    Students participating in IBM’s Watson University Competition were directed to identify and solve an industry-specific challenge using Watson. Students had to work as a team to identify and input relevant data into Watson in order to train the supercomputer to answer questions related to the issue being solved. The students must then develop an app and supporting business plan targeting their chosen industry.

    The UT Austin team won the competition with an app called CallScout. The purpose of the app is to help Texas residents find information about social services and programs in their local area. Many Texas residents depend on state resources for housing, healthcare, transportation and other vital functions, but wading through government websites and other information is confusing and makes it difficult for residents to find the information they need. The CallScout app integratesl hours of service, route and map information and other relevant data, and it can automatically deliver push notifications when important details change.

    “This is more than a school project for us – it’s about creating a sustainable business that addresses one of the key challenges we all face as Texas residents,” said Bri Connelly, team leader and undergraduate Computer Science student at the University of Texas at Austin. “The opportunity to directly impact citizens of our home state was a huge driving force in our work.”

    Watson depends on DevOps

    Watson is a powerful platform for analyzing and understanding information. More than any technology or platform that has preceded it, though, Watson also depends on constant evolution. IBM has embraced DevOps principles for developing and maintaining Watson out of necessity. Watson simply wouldn’t be possible and wouldn’t be able to keep up with the pace of ingesting and adapting to information using legacy development models.

    The IBM Watson team manages the rapid pace of change using DevOps principles, which are an extension of Agile development methods. Carl Kraenzel, an IBM distinguished engineer and director of the IBM Watson managed services group, explained that effectively maintaining Watson means adopting continuous delivery and continuous availability. “If you don’t approach it the right way, change is a cost driver. It will add cost instead of adding value. DevOps helps us achieve continuous delivery, and DevOps helps us deliver continuous value.”

    IBM is a resilient company. It doesn’t have the same dominant role in the tech industry that it once had, but it didn’t just sulk off into the sunset. IBM has adapted and evolved. IBM InterConnect was an excellent demonstration of the innovation and vision driving IBM right now—positioning IBM to play a significant role in the new cloud, mobile, DevOps future. Watson, and the work done by the UT Austin team and other students are perfect examples of what’s possible when DevOps principles and cutting edge technology are applied to help resolve the issues that face mankind.

  • Adopt DevOps Practices Organically, But Don’t “DO DevOps” (or is DevOps bullshit?)

    Adopt DevOps Practices Organically, But Don’t “DO DevOps” (or is DevOps bullshit?)

    In a post on his blog , programmer Josh Johnson points out that “radical claims of great cultural shifts, especially in technology” are usually “bullshit”. “Over time technology changes, but true radicalism is rare. Most often, a reinvention or revisiting of past ideas forms the basis for such claims. This DevOps thing was no different,” says the post from Josh Johnson, Software Engineer at Adzerk.

    In 15 years as a technology journalist, I’ve heard vendors use labels and marketing speak to sell solutions. You can’t judge the efficacy of a solution by its label any more than you can “tell a book by its cover.” But is there something to these devops practices that we should take seriously? Should we make the effort to separate the wheat from the chaff, the faster, better software builds from the buzzwords and BS? I think so. And when I read Josh’s post, I came to believe that he thinks so, too. Josh shared his thoughts with me. Here are the fruits of that exchange.

    First, no one should be doing devops. It’s not an action, it’s not a title, it’s a blanket term for approaches that bridge the gap between traditional operations and development groups, says Johnson. Second, having devops teams is wrong. “Sectioning off a group of people and giving them special projects and expecting devops skills doesn’t fix the divide, it creates new divides,” says Johnson. This leaves other developers and ops people, not to mention management, out of that inner circle. “The value of devops is in the cross-functional aspects of bringing people together from different disciplines,” says Johnson. True devops should include everyone.

    A healthy, organic transition to devops practices should encourage people who specialize in operations or development to apply their specialties to the fullest while learning what the other side does. “If I’m the security expert,” says Johnson, “I’m going to monitor CVE feeds and recommend policy and practice. On a cross-functional team, I will also perform code reviews, participate directly as a peer in planning, and help the QA specialist by turning them on to fuzz testing. They’ll teach me how to use Selenium. I’m still the security expert.” In this scenario, the security expert grows and benefits and so does everyone whose work he touches.

    Hurdles

    The company will make compromises. The enterprise is asking a lot of its people and will have to pay to get it. The turnover in human resources can slow change to a crawl. The organization will probably have to outsource at least some tools and talents. “You may have to use GitHub instead of hosting your own git server,” says Johnson.

    The more the devops metamorphosis progresses, the more the organization can lose central control of critical components. All things being equal, the bigger the enterprise, the harder it will be to let go. Initial costs and security concerns when getting started, together with outsourcing, can drive project scope through the roof. And that’s not the worst of it.

    “You might lose some great people. There are some people who really need to focus exclusively on their specialty. There are managers who don’t thrive outside of silos. There are people who will not be able to rise to the occasion and work well with their new teammates,” says Johnson.

    Don’t Force It

    To achieve a thriving instantiation of devops while maintaining your sanity, you have to guide everyone to simultaneously want these practices. Start by poking holes in silos and letting members of different teams peek through. “Take a team of bright, collaborative people, give them a goal (say, reduce downtime in deployments by half) and empower them to make it happen, and it will happen. DevOps will magically spring forth,” says Johnson.

    This organic approach is far afield of simply adding a devops team in hopes that it will save money by reducing staff. “Four DevOps engineers are not directly equivalent to two systems engineers and two software engineers,” says Johnson. If that’s the case, it’s worse yet to believe that you can replace four specialists with three experimental devops positions and maintain quality output at a savings of one FTE. Instead of saving money, this move may increase costs due to compressed time to burn out, expensive errors, and an enveloping drop in moral. “That will blow up in your face,” says Johnson.

  • Service virtualization – The hows and the whys.

    Service virtualization – The hows and the whys.

    Close your eyes and take a deep breath. You are on an island, smelling the iodine coming from the sea, the sun is gently caressing your cheeks and you are sipping on a cocktail in the middle of the afternoon. Your phone is off, in a place you forgot and you do not have direct access to the internet. You are a sysdamin and for the first time since the beginning of your career, you take a break, an actual break to reload your batteries and you are not even thinking about work because you KNOW. You know it is all going to be alright, as it has been since you implemented service virtualization in a really DevOps oriented way.

    What is service virtualization?

    First of all, let me say that service virtualization is not something new but many are still unaware of what it actually is and only a few good products are available.

    You can find a really good explanation of what it is in this post from Chris Riley: https://devopsy.kinsta.cloud/blogs/service-virtualization-window-advanced-devops/ but I will try to sum it up.

    In order to avoid confusion, it is also necessary to briefly explain mocks and stubs. Mocks are usually programmers written tests that check the behaviour of a specific piece of code like which methods are called, in which order and if sub processes were created. Stubs on the other hand check that for any given input, the expected result is outed. I often refer to them as logic tests and I/O tests.

    Service virtualization has nothing to do with mocks or stubs. It mimics the entire behaviour of an application as if it was an actual one deployed on a server and connected to a database, backend etc. In order to enable this, data will be recorded from QA (and anonymized) and the whole behaviour of the application will be recorded. Going through security layers, calls to a database, updating some values, even timings can be recorded for performance testing. Absolutely every single operation is stored and if the test data is well chosen at the time of recording, all cases can be covered.

    For those of you who are into gaming, think of it as an emulator. You do not need a SNES, Genesis or Neo Geo to play your favourite oldies, instead, all you need is an emulator software and the ROMS. The emulator will behave like a gaming console on your computer, reproducing inputs and outputs with high fidelity and translating CPU instructions into different ones your computer can understand.

    If you are not into gaming, and that is a shame if you ask me, think about virtual machines. When you install a Fedora in a confined environment on top of your favourite edition of Windows (or Mac OS), what you do is pretty similar to service virtualization as well. Your Guest OS will send instructions to the different components of your computer which the virtual machine will catch, translate into commands your Host OS can understand and send to the concerned components. It sounds complicated but it works like a charm.

    What it can do for you.

    As it operates on local servers or even better, on containers (check out Docker if you have not done so yet), it is virtually always on. Downtime is a thing from the past and updates can be scheduled and performed when people are not at work. How much of your project you want to cover is up to you and your needs but once you have started the process, why not go all the automated way? If you do, that means that your programmers will have access 100 percent of the time to environments that are up, running and that reflect actual services.

    What is the point of having test environments then you might ask. And here is the answer you can give stakeholders: none. You can achieve good environment resilience, actual data tests and higher-than-ever response time through service virtualization. If well applied, and I really want to emphasize on that, service virtualization makes good ol’ test-environments obsolete.

    Once again here, the benefits mentionned by Chris Riley will speak for themselves: https://devopsy.kinsta.cloud/blogs/service-virtualization-window-advanced-devops/

    Taking DevOps one step further.

    Like all great things, service virtualization comes at a cost. In order to fine tune it to your requirements, it is going to take great efforts. You have to decide which services, ideally all of them, you will provide your programmers, which data sets are representatives of a functional application and of course, install and configure it all. The biggest benefit that you can identify here already is that developers, testers and operations have to be involved and work in a close collaboration. This is your opportunity to make different teams understand what others do. Get them all together, make them work together in a form they are not necessarily familiar with: cross-teams brainstorming.

    Brainstorming, if well done, can be a very powerful tool to come up with creative solutions to problems that were not identified as such beforehand. It has to be directed though. To brainstorm doesn’t mean talking nonsense about non topic related things. Having a neutral person in the room who focuses the discussion around a few pre-established points and who keeps track of time is the way to go. Scrum masters are generally good at this since they have an overview of the project and its problems and can quickly identify the right persons for a task.

    Getting developers to update their own service virtualization server with the latest data from QA means better communication with testers. Operations have a critical role here too since they setup the environments and give the how-to to the different teams.

    Another glass sir?

    Once your teams work together on an almost 24/7 available server and understand how it works, all you have to do as a sysadmin, is to relax a bit for once and focus your brain and time on how to improve processes even more, enhance the quality of deliverables and tighten up the now-existing bonds with your colleagues. Oh yeah, and if you’re on holidays, stop worrying about that potential catastrophic phone call, just worry about yours and yourself.

  • DevOps Golden Rule: Writing More Code for Test Than For Production

    DevOps Golden Rule: Writing More Code for Test Than For Production

    Continuous improvement can help completely turnaround a staid IT organization into an innovation machine. But without effective test automation, that transformation is a non-starter. So says Gary Gruver, who has led DevOps journeys both at HP and Macy’s and now works as a consultant guiding other organizations through his firm, Practical Large Scale Agile.

    Last month at IBM InterConnect, Gruver gave audience tons of great big-picture advice on leading DevOps from the top of the food chain. But perhaps one of the best takeaways when drilling down into the details was his emphasis on test-driven development.

    “It needs to be reliable, it needs to be stable, it needs to be maintainable. i would say test automation is something that’s the most important if you’re going to transform your  organization,” Gruver said. “And it’s one of the things that’s most often done wrong. If you do it right it’s extremely valuable, if you do it wrong it’s going to be a maintenance nightmare.”

    He provided real world lessons he learned from his stints at Macy’s and HP, explaining, for example, a situation at HP where unstable tests and unstable codes on trunk had kept the team from checking in code for four days. With a $2 billion business “breathing down my neck,” Gruver admitted he was getting antsy at that point and found out that the instability prompted them to add even more tests to the process.

    “So we weren’t getting any better because no code was making it in to get fixed and what we really needed is a process that lets the good code in and keeps the bad code out,” explaining that his team eventually settled on gated commits. “That’s where if the code doesn’t pass the system tests it needs to for red build, then it doesn’t make it into SCM and doesn’t make it on to the trunk.”

    Meanwhile, when he got to Macy’s he was told there were 1,000 automated tests ready for use. But when he started marrying those tests with the burgeoning continuous delivery team, they found not a single one worked reliably enough to depend upon. He recommended to the audience to take a look at the architecture philosophy’s put forth in Jeff Morgan’s Cucumber and Cheese, which helped in his work at Macy’s, where by the end of his stint the IT department was running over 5,000 automated tests several times a day, versus 1,300 every 10 days.

    He explained that he’s a firm believer that quality assurance should be brought together with the architects to make sure the automation framework is sustainable for the long haul.

    “Get your lead architect on the development side to engage with your lead on the quality assurance side and think about how to architect your framework for your test automation where its maintainable,” he said. “If not, you’re going to die under the weight of test automation.”

    If done right, an organization will very well likely write more code for test than for running its product.

    “And that’s not a bad thing,” he says. “You’ll find when you write good test automation it forces you to write better code.”

  • Jeff Sussna on Design Thinking and DevOps

    Jeff Sussna on Design Thinking and DevOps

    Jeff SussnaWhat is Design Thinking, and just as importantly to you – why does it matter to DevOps? For answers to that, we recently turned to Jeff Sussna, founder at Ingineering.IT. Sussna combines engineering expertise with a knack to bridge business, creative, and technical perspectives.

    Sussna’s focus is on the intersection of development, operations, design, and business. He has more than 20 years of IT experience, and has led high-performance teams across Dev, QA, and Ops. Sussna is also the author of the forthcoming O’Reilly Media book Designing Delivery: Rethinking IT In the Digital Service Economy. The book is expected this May.

     

    devopsy.kinsta.cloud: You’ve obviously placed considerable thought into design thinking, and it’s a subject that is coming up more and more within DevOps. I’m imagining a lot of people in IT, including developers and admins, wonder what design thinking means in the context of DevOps and IT.

    Sussna: I’d start by simply explaining what design thinking is. The basic idea is that if you look at designers across a wide range of industries, whether it be architects, graphic designers, or UX designers there’s a general way that they approach creating solutions. And what design thinking really does is try and capture that in a way that we can apply it to a lot of different things besides how annual reports or web pages can be designed.

    So how do people do it? The basic approach behind any kind of user-centered design is very simply to try and understand the user and understand them from their own perspective. Design thinking is really centered on empathy, empathizing with the user. The way it works is often by taking an ethnographic approach, which very simply means actually getting out in the field and observing people.

    That means, if you’re an IT person and you want to design some internal application that employees are going to use to track time, for example, or to do some part of their job, you want to start by actually going and sitting with them and seeing how they do their job. This way you can understand their job and you can understand how they see things rather than how you see things. Everything drives from that.

    There’s a lot of focus on iterative design and user testing, but it’s really all focused on centering your solutions on what users are trying to accomplish and how they understand things and what their needs are.

     

    devopsy.kinsta.cloud: How is it applied to DevOps?

    Sussna: We can apply that to DevOps in a very simple way. If you’re in Ops, for instance, you need to think, to some degree, about your customers being developers.

    So what is it that developers are trying to accomplish? How do they see the world? What do they need from you in order to get their job done more efficiently? And even when we look at things like platform as a service, what it’s trying to do is to make it easier for developers to deploy code. If you look at infrastructure as a service it’s trying to make it easier for Ops teams and DevOps organizations to cost effectively manage scalable systems.

    Conversely, if you’re a developer you need to think about things from the perspective of, “How does what I’m doing impact operations?” If I release some code and, A, the code isn’t secure and, B, the code isn’t scalable and, C, it takes 47 hours and 17 people in order to deploy my code, that’s not a very empathetic approach to operations.

     

    devopsy.kinsta.cloud: It is increasingly the case that more of IT has to think about the external customer as well, in the context of everything they do.

    Sussna: IT is in the business of providing services to the company but more and more now to customers as well. And so we need to think of ourselves as being in the service business just like anybody else. It isn’t just an ISO definition of service. It’s really a business definition. If I run a shoe store, I’m in the service business. If I operate a bank, I’m in a service business. I have customers and I need to help them accomplish their goals and I need to think about customer satisfaction and I need to try and empathize with what their needs are.

    There’s a branch of design thinking that is called service design. Sometimes it’s called service design thinking. And it’s really about applying these same principles of empathy, ethnography, and creative problem solving and iterative design. It’s applying them to services. In our case, the services happen to be IT services, both internal and external.

     

    devopsy.kinsta.cloud: How is this approach different than what IT has always done? IT has always tried, or at least stated that, the goal is to build apps and services that the business wants and needs to use.

    Sussna: I think too often we’ve done it from a technology first perspective as opposed to a human first perspective. There is an assumption, and it’s a very subtle assumption, but there’s this subtle expectation that it’s our job to adapt to the technology. And it’s not just about technology, the assumption is that it’s our job to adapt to the process.

    I’ll give you a perfect example. I went through a situation recently where I was having a problem with a laptop and so I filed a ticket in the ticketing system. And the response that came back was, “Well, your laptop, you can’t log in because your laptop got moved to a stale machine domain so we’ve moved it back to the correct domain and we’re closing the ticket.” And there was not even the question asked of, “Well, can you log in now?” It was, “We did the thing that we believe will fix the problem, therefore we’re declaring the problem fixed.”

    So the point is that the process of carrying out actions was central and the question of can the humans solve their problem was secondary.

     

    devopsy.kinsta.cloud: That’s a great example, because it seems like the designer of that system just wanted to close tickets as fast as possible when you go through that example. There’s no indication of thought being given to the user at all.

    Sussna: The irony is that if you look at the back and forth that went on afterwards to ultimately get to the point where the problem was solved, it actually took more time and more energy and more ticket thrashing than if they had simply asked, “Hey, can you please verify that this solved your problem and let us know if it did.”

    So, yes, to some degree, you can say there was a focus on efficiency and volume of ticket closure and operational cost effectiveness and all of that. But I think that what design thinking is really trying to tell us is that if we think through the process and if we design things from a user-centered way, we can actually develop solutions that are more efficient for everybody.

     

    devopsy.kinsta.cloud: What are the primary benefits of Design Thinking to DevOps teams?

    Sussna: I think the benefits are that you can design solutions that help people solve problems more effectively. And effectively both means that the user is satisfied and that the organization providing the service meets its needs as well. Design thinking works with a triangle, which is feasibility, viability and desirability and trying to solve for all of them. Desirability says, “This is the thing that works for me, I want to use it.” Because if I don’t want to use it, it will fail. Because even if IT says you have to do it this way, people will find workarounds if they know of a better way.

    Feasibility speaks to the ability to actually build something. And viability means that it will work from a business perspective. What design thinking does is try and solve for all of those. It’s a solution that’s effective for the users but it’s also supportable for the IT organization.

     

    devopsy.kinsta.cloud: How do folks get started on that type of thinking?

    Sussna: In terms of how to get started, I think it’s very similar to how you get started in DevOps. I think what people are actually trying to do with DevOps, that they may not realize, is they’re redesigning how IT happens. I think with both of them, the way you start, the way I guide people in starting is to just get out of your silo and actually go talk to people.

    I’m working with a client right now and they are trying to build an integrated IT dashboard that will allow everybody in Dev and Ops to visualize what’s the state of their network, what’s the state of their servers, what’s the state of their application, and what’s the state of their data. And they’re getting excited about all of the different types of dials that they need. But I’m telling them, “No, stop. The first thing you need to do is figure out who you think is going to use this and go talk to them.”

    Don’t tell them what you’re going to to give them or maybe come up with some a very, very simplistic, crude fantasy of what you’re going to give them. Go talk to them and learn in detail about what they need to do, what things they are missing, and ultimately ask “Does this work for you?”