Infrastructure As Code - The secret sauce for Continuous Delivery

Developing Infrastructure as Code as a practice is increasingly adopted by organizations that want to have Continuous Delivery. Infrastructure As Code requires treating infrastructure as code, applying the same development techniques that one uses to build application software. This talk discusses the need for having infrastructure as code, the several frameworks available in this space (like Puppet, Chef, Ansible), what they bring to the table and the philosophical differences between them and the testing tools and frameworks available to test infrastructure as code. The concepts would be supported by snippets of infrastructure code written for an open source application.

 
 

Outline/Structure of the Demonstration

Infrastructure As Code - The Rationale - 10 mins

IaC Frameworks -

Architecture and Comparison of the two major players - Puppet and Chef - 20 mins

Demo of writing Infrastructure code for building and deploying an open-source application - 20 mins

Questions - 10 mins

Learning Outcome

Understand why we need Infrastructure Code for Continuous Delivery

How to write Infrastructure Code using Chef / Puppet

Understand the differences between Puppet and Chef

See the concepts explained in the demo

Target Audience

Developers, Quality Analysts, Release Engineers, Scrum Masters

schedule Submitted 5 years ago

Public Feedback


    • Liked Sreedevi Vedula
      keyboard_arrow_down

      Sreedevi Vedula - Test Driven Development of Infrastructure Code in Chef

      Sreedevi Vedula
      Sreedevi Vedula
      Quality Analyst
      ThoughtWorks
      schedule 5 years ago
      Sold Out!
      60 Mins
      Demonstration
      Advanced

      Chef is a popular Infrastructure Automation framework based in Ruby. It comes with a host of testing tools bundled with it like ChefSpec for unit testing, ServerSpec for system testing and TestKitchen for integration testing. This session is a demo of how to use these frameworks to test drive cookbook development.

    • 45 Mins
      Talk
      Advanced

      Good engineering practices and fail-fast, iterative, low-ceremony processes help achieve team level agility. They are necessary but not sufficient to scale agility across the IT organization. In this talk, I'll address what else is needed and why. In particular, I'll address:

      1. Why plan-driven IT projects are a bad idea why we need value-driven projects instead
      2. Why a matrix org is a bad idea for IT and why we need cross-functional teams instead
      3. Why IT budgeting needs to change from being project-based to being team-capacity based
    • Liked KK Sure
      keyboard_arrow_down

      KK Sure / Sheril Jebasingh - First Amongst Equals - Can UX be there?

      20 Mins
      Case Study
      Intermediate

      Traditionally, in software development, user experience (UX) wasn't valued as much as developing of the software itself. But this has changed rather radically. However, creating an enriching user experience in an agile fashion is still challenging. Most of the agile engineering practices in use are around building software but seldom address UX. When building a product in an agile fashion, UX in an incremental fashion becomes important.

      In this talk, we will present our experience of creating UX in an incremental fashion for a virtual wallet. We will also talk about the different challenges we faced such as, educating various stakeholders on the value of incremental UX, building collaboration between developers and experience designers and abstracting design components, along with the solutions we devised to tackle these challenges.

    • Liked Krishnan Nair
      keyboard_arrow_down

      Krishnan Nair / KK Sure - Process Agility - the nemesis of business agility?

      45 Mins
      Talk
      Advanced

      We've come far in our journey of Agile as a software development methodology. From stand-ups to showcases to sprint planning meetings to burn-ups (or downs), we've got it down pat when it comes to processes to follow to be considered Agile. However this heads-down, process defined agile, often hinders real agility required to meet business needs. Is doing a three hour sprint planning meeting every week the most important thing to do when you have to get a minimal-viable-product out in the market? How much of automated functional testing should you do when you know that your product's beta version is only going to validate assumptions of your business idea? Should you write tests at all? There is no formulaic answer.

      In this talk, KK and Krishnan will talk about their experience of how much Agile is too much Agile. We look at how to find the right balance between following agile practices and being responsive to your business. How much agile is too much and how less is too less?

      We will do this by looking at:

      • A couple of successful agile adoption stories
      • Look at why agile was successful in the contexts above
      • Discuss why this success will limit us if we are not careful
      • Talk about a start-up and how the things that led to success in the first 2 stories limited us in the start-up context
      • Look at approaches to understand what agile practices/processes to follow to be business agile
      • Close by summarizing the challenges facing agile (as we see it) and how success in process agility will limit us in business agility
    • Liked Anand Bagmar
      keyboard_arrow_down

      Anand Bagmar - To Deploy or Not-to-Deploy - decide using TTA's Trend & Failure Analysis

      60 Mins
      Demonstration
      Intermediate

      The key objectives of organizations is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality!

      In order for these organizations to to understand the quality / health of their products at a quick glance, typically a team of people scramble to collate and collect the information manually needed to get a sense of quality about the products they support. All this is done manually.

      So in the fast moving environment, where CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury, how can teams take decisions if the product is ready to be deployed to the next environment or not?

      Test Automation across all layers of the Test Pyramid is one of the first building blocks to ensure the team gets quick feedback into the health of the product-under-test.

      The next set of questions are:
          •    How can you collate this information in a meaningful fashion to determine - yes, my code is ready to be promoted from one environment to the next?
          •    How can you know if the product is ready to go 'live'?
          •    What is the health of you product portfolio at any point in time?
          •    Can you identify patterns and do quick analysis of the test results to help in root-cause-analysis for issues that have happened over a period of time in making better decisions to better the quality of your product(s)?

      The current set of tools are limited and fail to give the holistic picture of quality and health, across the life-cycle of the products.

      The solution - TTA - Test Trend Analyzer

      TTA is an open source product that becomes the source of information to give you real-time and visual insights into the health of the product portfolio using the Test Automation results, in form of Trends, Comparative Analysis, Failure Analysis and Functional Performance Benchmarking. This allows teams to take decisions on the product deployment to the next level using actual data points, instead of 'gut-feel' based decisions.

    • Liked KK Sure
      keyboard_arrow_down

      KK Sure - Testing in Agile - Antipatterns and Remedies

      45 Mins
      Talk
      Intermediate
      When it comes to agile, we all know and practise standups, retrospectives, sprint plannings, showcases etc. Quite a few times, teams end up following these set of rituals and ceremonies without understanding the guiding principles of agile.
       
      In this talk I will present some testing practices that various agile teams employ. Some of these practices are anti-patterns and have the exact opposite effect of what is expected, while others become an anti-pattern sooner or later if not tweaked according to the changing situations.
       
      I will talk about the aspects like "Whose responsibility is Quality?", 'Measuring agile tester's success", "Balance between automation and exploratory testing". Along with each of the anti-pattern, I will present the remedies to fix these anti-patterns.
    • Liked sailee
      keyboard_arrow_down

      sailee / Radhakrishnan - 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?

       

    • Liked Radhakrishnan
      keyboard_arrow_down

      Radhakrishnan - Use it to test it

      Radhakrishnan
      Radhakrishnan
      QA Consultant
      ThoughtWorks
      schedule 5 years ago
      Sold Out!
      20 Mins
      Talk
      Beginner

      Given you have a PRODUCT to test

      When you start testing it

      Then STOP testing it

      And start USING it


      In this talk I would like to address how important it is for the whole team to use to product to see the good, the bad and the ugly side of the product you are building which are otherwise unknown to the team until they go live.

    • Liked Sreedevi Vedula
      keyboard_arrow_down

      Sreedevi Vedula - The Practical Pyramid

      Sreedevi Vedula
      Sreedevi Vedula
      Quality Analyst
      ThoughtWorks
      schedule 5 years ago
      Sold Out!
      20 Mins
      Talk
      Intermediate

      An Ideal Test Pyramid is an invaluable technique to succeed with agile. However, it is challenging to have this ideal pyramid in practical projects for several conditions in the projects, like legacy code bases. To have a good test pyramid, several best practices of software development need to be followed. This talk discusses the practices that help in implementing test pyramid and the challenges faced by many teams in doing that and suggestions on how to overcome them.