“When deploying and administering large infrastructures, it is still common to think in terms of individual machines rather than view an entire infrastructure as a combined whole. This standard practice creates many problems, including labor-intensive administration, high cost of ownership, and limited generally-available knowledge or code usable for administering large infrastructures.”— Steve Traugott and Joel Huddleston

Server infrastructure has traditionally lagged far behind our development practices in terms of code quality, testing, continuous integration and continuous development.

When you write your Chef recipes or Puppet manifests or any other CM, you are coding, and every code is prone to defects. All of us understand the benefits of test-driving the application code. The same applies to your infrastructure code. Testing becomes even more significant in case of deployments spanning large clusters of nodes.

Test-driving allows the infrastructure teams to have confidence that their configuration changes are being applied as intended across many different systems, and having the intended effect. This allows the whole system to be trusted, and then updated without fear for introducing breaking changes or otherwise causing instability.

The objective is to cover agile lifecycle of infrastructure code and provide a quick demo of how to test drive infrastructure management code. 

 
14 favorite thumb_down thumb_up 7 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

-       Test Driven Infrastructure: why, when and how?

-       Various testing strategies: Unit testing, BDD, a/c testing, semantic monitoring

-       QAing infra stories

-       Demo of a working example that depicts testing, CI and CD for Infrastructure scripts

 

Learning Outcome

-       Understand the nuances of TDI, the value it adds

-       Explore some tests for their infrastructure scripts

Target Audience

Architects, Project Managers, QA-managers, Developers, Devops, QA, Testers

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • Joel Tosi
    By Joel Tosi  ~  2 years ago
    reply Reply

    Hi Pooja,

        Could you share some of the samples you will be using?  Also, has this presentation been given before?  If so, can you provide the sample deck for review or videos?  Finally, could you please update with some timing so I can better understand the delivery.

    Thanks much,

    Joel

    • Pooja Salpekar
      By Pooja Salpekar  ~  2 years ago
      reply Reply

      Hi Joel,

      I haven't given this presentation before.

      The highlights of the talk will be:

      • What does it mean to test-drive infrasturcture code. What are the benefits (10 minutes)
      • How and when to perform TDI (10 minutes)
      • What are various testing strategies relevant for infrstrucutre scripts (15 minutes)
      • How to promote infra build to production - CI & CD on Infra (10 minutes)
      • Brief demo of a working example to show the agile lifecycle of Infra code(10 mins).
      • Q&A (5 minutes)

      If you need more details around the content, give me some time. Let me know when do you need it by?

       

      • Joel Tosi
        By Joel Tosi  ~  2 years ago
        reply Reply

        Hi Pooja,

            Thanks much for the update.  In lieu of the presentation, do you have any blog postings or anything similar that I can refer to that you have authored on this topic.  Also, are there any past presentations so I can get a feel for your presentation style?

        Thanks much,

        joel

        • Pooja Salpekar
          By Pooja Salpekar  ~  2 years ago
          reply Reply

          Hi Joel,

          Find my first draft of the presentation here https://speakerdeck.com/poojasalpekar/whos-testing-your-infra  .

          Any suggestions/feedback welcome.

           

          Thanks
          -Pooja

        • Pooja Salpekar
          By Pooja Salpekar  ~  2 years ago
          reply Reply

          Hi Joel,

          What I had in mind for this presentation is cover agile lifecycle of an Infrastructure code.

          • How does managing/analysing a story in various lanes benefits a program manager or a business analyst. 
          • what does it mean to test drive the development of infra scripts, and how to automate testing it?
          • What are various strategies to test infra, and when is it beneficial to perform TDI?
          • Ease of deploying infra changes to production when automation testing is in place

          This will be focused around giving a higher level picture of what, how and why of automating the testing of infra code. What are issues a team can face when infra scripts are treated step-motherly, and what are solutions around those.

          I plan to give a working demonstration of development to deployment of Test driven Infra code.

           

          I currently don't have any blog post on this topic.

          However, I am planning to upload my slide deck presentation soon. Will update you soon with that.

  • Chris Ford
    By Chris Ford  ~  2 years ago
    reply Reply

    I would really like to hear about how approaches to testing relate to independently deploying services. If you have a large set of services, you don't want to stop the world to deploy, but how do you gain confidence that when you upgrade a part the whole will still work?

    • Pooja Salpekar
      By Pooja Salpekar  ~  2 years ago
      reply Reply

      The talk is focused around how to gain confidence around Infrastructure scripts. Given when you have large set of services, henceforth complex cluster of nodes, for any upgrade, it becomes really important to make sure the behaviour of infrastructure is well tested, and there are a/c tests around the same.


      Will be covering these testing strategies as well.

       

       


  • Sneha Kadam
    Sneha Kadam
    Business Analyst
    ThoughtWorks
    schedule 2 years ago
    Sold Out!
    60 mins
    Workshop
    Intermediate

    After revolutionizing the automobile industry, Lean principles have been successfully applied to different knowledge areas including software development. This workshop is intended to master Lean concepts like Waste, Push&Pull systems, systems thinking, Kaizen etc. & practicing cross-functional collaboration, self-organisation and safe-fail experimentation! In this interactive game, the participants will work in a small production lines, experiencing problems and applying Lean practices to overcome them.

  • Liked Priti Biyani
    keyboard_arrow_down

    Priti Biyani - Automate all the things!

    Priti Biyani
    Priti Biyani
    Consultant
    ThoughtWorks
    schedule 2 years ago
    Sold Out!
    20 mins
    Talk
    Intermediate

    We do have test pyramid in our project to gain confidence on the code we will be delivering. We have also smoke tests, which will give us quick feedback. Still I'm saying Automate all the things!

    What??

    Well, yes! In agile world, there is a theme of ruthless automation. But in my opinion, we don’t push this principle nearly enough.

     

    In this talk, I will share some of my expereinces and some interesting things which we never thought we could automate. Yes, We can automate everything!

  • Liked sailee
    keyboard_arrow_down

    sailee - UI Automation : Safety Net to Trap Net!!

    45 mins
    Talk
    Intermediate

    At the BEGINNING Of the project: Yay!! Lets automate and cover all test scenarios!! Lets work towards increasing the test coverage !!smile

    After 1 year: Regression suite is too bulky!! I can't maintain it anymore!! Its too flaky!! frown

    Does this conversation ring a bell? Well, this is a common scenario in projects. The UI test automation starts as a saftey net and then becomes a trap net! 

    Heavy Functional tests layer → Long execution time → Low confidence → Problem of Maintainence

     

    This talk will address these problems in an Agile project. Some solutions that worked in our team. How working as a Team would help prevent these problem?