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.

 
6 favorite thumb_down thumb_up 4 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

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 3 years ago

Comments Subscribe to Comments

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

    Hi Sreedevi,

        This could be a good, practical session.  For me to be certain, I would want to have a little more understanding of what you will be demoing, and along what lines you will be doing your comparison.  Do you have a deck or the code for the open source project you could link to so I have a better idea?

    With that being said, I believe the value in your session is really around those two facets - here is the differences / what contexts they work well in; then examples.  Would that affect your timings?

    Best,

    Joel

    • Sreedevi Vedula
      By Sreedevi Vedula  ~  2 years ago
      reply Reply

      Hi Joel,

      Could I answer the question over this weekend? I would like to think through before I answer the question.

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

        Hi Sreedevi,

           No problem at all.  Were you able to get it over the weekend?

        Best,

        Joel

    • Sreedevi Vedula
      By Sreedevi Vedula  ~  2 years ago
      reply Reply

      Hi Joel,

      In this session, I am trying to capture my learnings as a part of using both Puppet and Chef. The demo itself is not about comparing the frameworks, but being the two major players in Infrastructure Code / Configuration Management today, I felt it would be appropriate to share some insights about how they are different. I will be able to write a blog post about it over the weekend and share it / share some bulleted points here.

      The crux of the session is building infrastructure code for an open-source application and I am leaning towards Chef for doing it. I do not yet have the code, but I can share a sample project if you would be fine with it.

      Thanks

      Sreedevi.


  • Liked Sreedevi Vedula
    keyboard_arrow_down

    Sreedevi Vedula - Test Driven Development of Infrastructure Code in Chef

    Sreedevi Vedula
    Sreedevi Vedula
    Quality Analyst
    ThoughtWorks
    schedule 3 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 3 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 3 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.