devops.com Open in urlscan Pro
2606:4700:10::ac43:e14  Public Scan

URL: https://devops.com/dos-and-donts-of-phased-rollouts-software-delivery/
Submission: On June 09 via manual from TR — Scanned from DE

Form analysis 5 forms found in the DOM

https://devops.com/

<form class="mega-search expand-to-right mega-search-closed" action="https://devops.com/">
  <span class="dashicons dashicons-search search-icon"></span>
  <input type="submit" value="Search">
  <input type="text" aria-label="Search" data-placeholder="Search" name="s">
</form>

https://devops.com/

<form class="mega-search mega-search-open" role="search" action="https://devops.com/">
  <span class="dashicons dashicons-search search-icon"></span>
  <input type="submit" value="Search">
  <input type="text" aria-label="Search..." data-placeholder="Search..." placeholder="Search..." name="s">
</form>

POST https://forms.hsforms.com/submissions/v3/public/submit/formsnext/multipart/1628905/d967bc1f-2d57-4dcf-861d-5930d7bea674

<form id="hsForm_d967bc1f-2d57-4dcf-861d-5930d7bea674" method="POST" accept-charset="UTF-8" enctype="multipart/form-data" novalidate=""
  action="https://forms.hsforms.com/submissions/v3/public/submit/formsnext/multipart/1628905/d967bc1f-2d57-4dcf-861d-5930d7bea674"
  class="hs-form-private hsForm_d967bc1f-2d57-4dcf-861d-5930d7bea674 hs-form-d967bc1f-2d57-4dcf-861d-5930d7bea674 hs-form-d967bc1f-2d57-4dcf-861d-5930d7bea674_fa394115-a0fd-4f9f-a505-fd8171a7527a hs-form stacked"
  target="target_iframe_d967bc1f-2d57-4dcf-861d-5930d7bea674" data-instance-id="fa394115-a0fd-4f9f-a505-fd8171a7527a" data-form-id="d967bc1f-2d57-4dcf-861d-5930d7bea674" data-portal-id="1628905">
  <div class="hs_email hs-email hs-fieldtype-text field hs-form-field"><label id="label-email-d967bc1f-2d57-4dcf-861d-5930d7bea674" class="" placeholder="Enter your " for="email-d967bc1f-2d57-4dcf-861d-5930d7bea674"><span></span></label>
    <legend class="hs-field-desc" style="display: none;"></legend>
    <div class="input"><input id="email-d967bc1f-2d57-4dcf-861d-5930d7bea674" name="email" required="" placeholder="Enter your email address*" type="email" class="hs-input" inputmode="email" autocomplete="email" value=""></div>
  </div>
  <div>
    <div class="hs-richtext hs-main-font-element">
      <div style="text-align: center;"><a href="http://devops.com/privacy-policy/" style="color: #000;"><u>View DevOps.com Privacy Policy</u></a></div>
    </div>
  </div>
  <div>
    <div class="hs-richtext hs-main-font-element">
      <hr style="border: 1px solid #ccc; width: 100%; margin: 20px auto;">
    </div>
  </div>
  <div class="hs_submit hs-submit">
    <div class="hs-field-desc" style="display: none;"></div>
    <div class="actions"><input type="submit" class="hs-button primary large" value="SUBSCRIBE"></div>
  </div><input name="hs_context" type="hidden"
    value="{&quot;embedAtTimestamp&quot;:&quot;1686322833530&quot;,&quot;formDefinitionUpdatedAt&quot;:&quot;1661184207845&quot;,&quot;renderRawHtml&quot;:&quot;true&quot;,&quot;isLegacyThemeAllowed&quot;:&quot;true&quot;,&quot;userAgent&quot;:&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.106 Safari/537.36&quot;,&quot;pageTitle&quot;:&quot;Do's and Don'ts of Phased Rollouts Software Delivery - DevOps.com&quot;,&quot;pageUrl&quot;:&quot;https://devops.com/dos-and-donts-of-phased-rollouts-software-delivery/&quot;,&quot;isHubSpotCmsGeneratedPage&quot;:false,&quot;contentType&quot;:&quot;blog-post&quot;,&quot;hutk&quot;:&quot;94ea8f7cf8ecdd2201ca9ca2fe27a91f&quot;,&quot;__hsfp&quot;:78086756,&quot;__hssc&quot;:&quot;48761529.1.1686322835570&quot;,&quot;__hstc&quot;:&quot;48761529.94ea8f7cf8ecdd2201ca9ca2fe27a91f.1686322835569.1686322835569.1686322835569.1&quot;,&quot;formTarget&quot;:&quot;#hbspt-form-fa394115-a0fd-4f9f-a505-fd8171a7527a&quot;,&quot;locale&quot;:&quot;en&quot;,&quot;timestamp&quot;:1686322835638,&quot;originalEmbedContext&quot;:{&quot;portalId&quot;:&quot;1628905&quot;,&quot;formId&quot;:&quot;d967bc1f-2d57-4dcf-861d-5930d7bea674&quot;,&quot;region&quot;:&quot;na1&quot;,&quot;target&quot;:&quot;#hbspt-form-fa394115-a0fd-4f9f-a505-fd8171a7527a&quot;,&quot;isBuilder&quot;:false,&quot;isTestPage&quot;:false,&quot;isPreview&quot;:false,&quot;isMobileResponsive&quot;:true},&quot;correlationId&quot;:&quot;fa394115-a0fd-4f9f-a505-fd8171a7527a&quot;,&quot;renderedFieldsIds&quot;:[&quot;email&quot;],&quot;captchaStatus&quot;:&quot;NOT_APPLICABLE&quot;,&quot;emailResubscribeStatus&quot;:&quot;NOT_APPLICABLE&quot;,&quot;isInsideCrossOriginFrame&quot;:false,&quot;source&quot;:&quot;forms-embed-1.3300&quot;,&quot;sourceName&quot;:&quot;forms-embed&quot;,&quot;sourceVersion&quot;:&quot;1.3300&quot;,&quot;sourceVersionMajor&quot;:&quot;1&quot;,&quot;sourceVersionMinor&quot;:&quot;3300&quot;,&quot;_debug_allPageIds&quot;:{},&quot;_debug_embedLogLines&quot;:[{&quot;clientTimestamp&quot;:1686322833944,&quot;level&quot;:&quot;INFO&quot;,&quot;message&quot;:&quot;Retrieved pageContext values which may be overriden by the embed context: {\&quot;pageTitle\&quot;:\&quot;Do's and Don'ts of Phased Rollouts Software Delivery - DevOps.com\&quot;,\&quot;pageUrl\&quot;:\&quot;https://devops.com/dos-and-donts-of-phased-rollouts-software-delivery/\&quot;,\&quot;userAgent\&quot;:\&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.106 Safari/537.36\&quot;,\&quot;isHubSpotCmsGeneratedPage\&quot;:false}&quot;},{&quot;clientTimestamp&quot;:1686322833946,&quot;level&quot;:&quot;INFO&quot;,&quot;message&quot;:&quot;Retrieved countryCode property from normalized embed definition response: \&quot;DE\&quot;&quot;},{&quot;clientTimestamp&quot;:1686322835627,&quot;level&quot;:&quot;INFO&quot;,&quot;message&quot;:&quot;Retrieved analytics values from API response which may be overriden by the embed context: {\&quot;hutk\&quot;:\&quot;94ea8f7cf8ecdd2201ca9ca2fe27a91f\&quot;,\&quot;contentType\&quot;:\&quot;blog-post\&quot;}&quot;}]}"><iframe
    name="target_iframe_d967bc1f-2d57-4dcf-861d-5930d7bea674" style="display: none;"></iframe>
</form>

<form autocomplete="off" role="search" class="jetpack-instant-search__search-results-search-form">
  <div class="jetpack-instant-search__search-form">
    <div class="jetpack-instant-search__box"><label class="jetpack-instant-search__box-label" for="jetpack-instant-search__box-input-1">
        <div class="jetpack-instant-search__box-gridicon"><svg class="gridicon gridicons-search " focusable="true" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg" aria-hidden="false" style="height: 24px; width: 24px;">
            <title>Magnifying Glass</title>
            <g>
              <path d="M21 19l-5.154-5.154C16.574 12.742 17 11.42 17 10c0-3.866-3.134-7-7-7s-7 3.134-7 7 3.134 7 7 7c1.42 0 2.742-.426 3.846-1.154L19 21l2-2zM5 10c0-2.757 2.243-5 5-5s5 2.243 5 5-2.243 5-5 5-5-2.243-5-5z"></path>
            </g>
          </svg></div><input autocomplete="off" id="jetpack-instant-search__box-input-1" class="search-field jetpack-instant-search__box-input" inputmode="search" placeholder="Search…" type="search"><button class="screen-reader-text assistive-text"
          tabindex="-1">Search</button>
      </label></div>
  </div>
</form>

POST /dos-and-donts-of-phased-rollouts-software-delivery/#gf_93

<form method="post" enctype="multipart/form-data" target="gform_ajax_frame_93" id="gform_93" class="gpoll_enabled gpoll_show_results_link gpoll" action="/dos-and-donts-of-phased-rollouts-software-delivery/#gf_93" data-formid="93" novalidate="">
  <div id="gf_progressbar_wrapper_93" class="gf_progressbar_wrapper">
    <p class="gf_progressbar_title">Step <span class="gf_step_current_page">1</span> of <span class="gf_step_page_count">7</span>
    </p>
    <div class="gf_progressbar gf_progressbar_blue" aria-hidden="true">
      <div class="gf_progressbar_percentage percentbar_blue percentbar_14" style="width:14%;"><span>14%</span></div>
    </div>
  </div>
  <div class="gform-body gform_body">
    <div id="gform_page_93_1" class="gform_page " data-js="page-field-id-21">
      <div class="gform_page_fields">
        <div id="gform_fields_93" class="gform_fields top_label form_sublabel_below description_below">
          <fieldset id="field_93_3" class="gfield gfield--type-poll gfield--type-choice gfield--input-type-radio gfield--width-full field_sublabel_below gfield--no-description field_description_below gfield_visibility_visible gpoll_field"
            data-field-class="gpoll_field" data-js-reload="field_93_3">
            <legend class="gfield_label gform-field-label">What % of your production applications run in the Cloud? (Choose 1)</legend>
            <div class="ginput_container ginput_container_radio">
              <div class="gfield_radio" id="input_93_3">
                <div class="gchoice gchoice_93_3_0">
                  <input class="gfield-choice-input" name="input_3" type="radio" value="gpoll37dfeb183" id="choice_93_3_0" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_3_0" id="label_93_3_0" class="gform-field-label gform-field-label--type-inline">None</label>
                </div>
                <div class="gchoice gchoice_93_3_1">
                  <input class="gfield-choice-input" name="input_3" type="radio" value="gpoll3bcc3ef7a" id="choice_93_3_1" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_3_1" id="label_93_3_1" class="gform-field-label gform-field-label--type-inline">1-25%</label>
                </div>
                <div class="gchoice gchoice_93_3_2">
                  <input class="gfield-choice-input" name="input_3" type="radio" value="gpoll3aace2990" id="choice_93_3_2" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_3_2" id="label_93_3_2" class="gform-field-label gform-field-label--type-inline">26-50%</label>
                </div>
                <div class="gchoice gchoice_93_3_3">
                  <input class="gfield-choice-input" name="input_3" type="radio" value="gpoll361552fc8" id="choice_93_3_3" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_3_3" id="label_93_3_3" class="gform-field-label gform-field-label--type-inline">More than 50%</label>
                </div>
              </div>
            </div>
          </fieldset>
        </div>
      </div>
      <div class="gform_page_footer top_label">
        <input type="button" id="gform_next_button_93_8" class="gform_next_button gform-theme-button button" value="Next"
          onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;2&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;2&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } ">
      </div>
    </div>
    <div id="gform_page_93_2" class="gform_page" data-js="page-field-id-8" style="display:none;">
      <div class="gform_page_fields">
        <div id="gform_fields_93_2" class="gform_fields top_label form_sublabel_below description_below">
          <fieldset id="field_93_1" class="gfield gfield--type-survey gfield--type-choice gfield--input-type-checkbox field_sublabel_below gfield--no-description field_description_below gfield_visibility_visible gsurvey-survey-field "
            data-field-class="gsurvey-survey-field" data-js-reload="field_93_1">
            <legend class="gfield_label gform-field-label gfield_label_before_complex">Which cloud platforms are in use in your company? (Select all that apply)</legend>
            <div class="ginput_container ginput_container_checkbox">
              <div class="gfield_checkbox" id="input_93_1">
                <div class="gchoice gchoice_93_1_1">
                  <input class="gfield-choice-input" name="input_1.1" type="checkbox" value="gsurvey19d749359" id="choice_93_1_1">
                  <label for="choice_93_1_1" id="label_93_1_1" class="gform-field-label gform-field-label--type-inline">AWS</label>
                </div>
                <div class="gchoice gchoice_93_1_2">
                  <input class="gfield-choice-input" name="input_1.2" type="checkbox" value="gsurvey1d7d7d5b2" id="choice_93_1_2">
                  <label for="choice_93_1_2" id="label_93_1_2" class="gform-field-label gform-field-label--type-inline">Microsoft Azure</label>
                </div>
                <div class="gchoice gchoice_93_1_3">
                  <input class="gfield-choice-input" name="input_1.3" type="checkbox" value="gsurvey1d836536c" id="choice_93_1_3">
                  <label for="choice_93_1_3" id="label_93_1_3" class="gform-field-label gform-field-label--type-inline">Google Cloud Platform</label>
                </div>
                <div class="gchoice gchoice_93_1_4">
                  <input class="gfield-choice-input" name="input_1.4" type="checkbox" value="gsurvey1640a535e" id="choice_93_1_4">
                  <label for="choice_93_1_4" id="label_93_1_4" class="gform-field-label gform-field-label--type-inline">Oracle Cloud</label>
                </div>
                <div class="gchoice gchoice_93_1_5">
                  <input class="gfield-choice-input" name="input_1.5" type="checkbox" value="gsurvey1be2023af" id="choice_93_1_5">
                  <label for="choice_93_1_5" id="label_93_1_5" class="gform-field-label gform-field-label--type-inline">VMWare</label>
                </div>
                <div class="gchoice gchoice_93_1_6">
                  <input class="gfield-choice-input" name="input_1.6" type="checkbox" value="gsurvey186eca92e" id="choice_93_1_6">
                  <label for="choice_93_1_6" id="label_93_1_6" class="gform-field-label gform-field-label--type-inline">RedHat OpenShift</label>
                </div>
                <div class="gchoice gchoice_93_1_7">
                  <input class="gfield-choice-input" name="input_1.7" type="checkbox" value="gsurvey1c8c6898b" id="choice_93_1_7">
                  <label for="choice_93_1_7" id="label_93_1_7" class="gform-field-label gform-field-label--type-inline">Other cloud platform</label>
                </div>
                <div class="gchoice gchoice_93_1_8">
                  <input class="gfield-choice-input" name="input_1.8" type="checkbox" value="gsurvey104924bef" id="choice_93_1_8">
                  <label for="choice_93_1_8" id="label_93_1_8" class="gform-field-label gform-field-label--type-inline">No cloud platform</label>
                </div>
              </div>
            </div>
          </fieldset>
        </div>
      </div>
      <div class="gform_page_footer top_label">
        <input type="button" id="gform_previous_button_93_9" class="gform_previous_button gform-theme-button gform-theme-button--secondary button" value="Previous"
          onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;1&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;1&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } "> <input type="button" id="gform_next_button_93_9"
          class="gform_next_button gform-theme-button button" value="Next" onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;3&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;3&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } ">
      </div>
    </div>
    <div id="gform_page_93_3" class="gform_page" data-js="page-field-id-9" style="display:none;">
      <div class="gform_page_fields">
        <div id="gform_fields_93_3" class="gform_fields top_label form_sublabel_below description_below">
          <div id="field_93_20" class="gfield gfield--type-survey gfield--input-type-rank gfield--width-full field_sublabel_below gfield--no-description field_description_below gfield_visibility_visible gsurvey-survey-field "
            data-field-class="gsurvey-survey-field" data-js-reload="field_93_20"><label class="gfield_label gform-field-label">Rank your top priorities for cloud for the remainder of 2023. (RANKING)</label>
            <div class="ginput_container ginput_container_rank">
              <ul class="gsurvey-rank ui-sortable" id="gsurvey-rank-93-20">
                <li data-index="1" class="gform-field-label gform-field-label--type-inline gsurvey-rank-choice choice_93_20_0 ui-sortable-handle" id="grank20aaf3253d">Modernize applications</li>
                <li data-index="2" class="gform-field-label gform-field-label--type-inline gsurvey-rank-choice choice_93_20_1 ui-sortable-handle" id="grank20fa59d5d8">Migrate additional workloads to the cloud</li>
                <li data-index="3" class="gform-field-label gform-field-label--type-inline gsurvey-rank-choice choice_93_20_2 ui-sortable-handle" id="grank2041a74f65">Improve DevOps performance</li>
                <li data-index="4" class="gform-field-label gform-field-label--type-inline gsurvey-rank-choice choice_93_20_3 ui-sortable-handle" id="grank205a043d88">Ensure cloud workloads are sufficiently secured</li>
                <li data-index="5" class="gform-field-label gform-field-label--type-inline gsurvey-rank-choice choice_93_20_4 ui-sortable-handle" id="grank20c5bc3326">Make your cloud implementation more cost efficient</li>
                <li data-index="6" class="gform-field-label gform-field-label--type-inline gsurvey-rank-choice choice_93_20_5 ui-sortable-handle" id="grank209c0962c8">Operate/Monitor the cloud environment more effectively</li>
              </ul><input type="hidden" id="gsurvey-rank-93-20-hidden" name="input_20" value="grank20aaf3253d,grank20fa59d5d8,grank2041a74f65,grank205a043d88,grank20c5bc3326,grank209c0962c8">
            </div>
          </div>
        </div>
      </div>
      <div class="gform_page_footer top_label">
        <input type="button" id="gform_previous_button_93_10" class="gform_previous_button gform-theme-button gform-theme-button--secondary button" value="Previous"
          onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;2&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;2&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } "> <input type="button" id="gform_next_button_93_10"
          class="gform_next_button gform-theme-button button" value="Next" onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;4&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;4&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } ">
      </div>
    </div>
    <div id="gform_page_93_4" class="gform_page" data-js="page-field-id-10" style="display:none;">
      <div class="gform_page_fields">
        <div id="gform_fields_93_4" class="gform_fields top_label form_sublabel_below description_below">
          <div id="field_93_5" class="gfield gfield--type-survey gfield--input-type-likert field_sublabel_below gfield--no-description field_description_below gfield_visibility_visible gsurvey-survey-field " data-field-class="gsurvey-survey-field"
            data-js-reload="field_93_5"><label class="gfield_label gform-field-label gfield_label_before_complex">How comfortable are you with your internal capabilities in the following areas of cloud computing? (Very comfortable, Comfortable,
              Neutral, Uncomfortable, Very Uncomfortable) (LIKERT question)</label>
            <div class="ginput_container ginput_container_likert">
              <table aria-label="How comfortable are you with your internal capabilities in the following areas of cloud computing?  (Very comfortable, Comfortable, Neutral, Uncomfortable, Very Uncomfortable) (LIKERT question)" class="gsurvey-likert"
                id="input_93_5">
                <thead>
                  <tr>
                    <td scope="col" class="gsurvey-likert-row-label"></td>
                    <th id="likert_col_1_93_5" scope="col" class="gsurvey-likert-choice-label">Very Uncomfortable</th>
                    <th id="likert_col_2_93_5" scope="col" class="gsurvey-likert-choice-label">Uncomfortable</th>
                    <th id="likert_col_3_93_5" scope="col" class="gsurvey-likert-choice-label">Neutral</th>
                    <th id="likert_col_4_93_5" scope="col" class="gsurvey-likert-choice-label">Comfortable</th>
                    <th id="likert_col_5_93_5" scope="col" class="gsurvey-likert-choice-label">Very Comfortable</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td id="likert_row_1_93_5" data-label="" class="gsurvey-likert-row-label">Cloud Architecture</td>
                    <td data-label="Very Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.1" type="radio" value="glikertrow70c084dc:glikertcol5f23a22ec" id="choice_93_5_1_1" aria-labelledby="likert_row_1_93_5 likert_col_1_93_5"></td>
                    <td data-label="Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.1" type="radio" value="glikertrow70c084dc:glikertcol55c63773a" id="choice_93_5_1_2" aria-labelledby="likert_row_1_93_5 likert_col_2_93_5"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_5.1" type="radio" value="glikertrow70c084dc:glikertcol542055de1" id="choice_93_5_1_3" aria-labelledby="likert_row_1_93_5 likert_col_3_93_5"></td>
                    <td data-label="Comfortable" class="gsurvey-likert-choice"><input name="input_5.1" type="radio" value="glikertrow70c084dc:glikertcol55f10ae5d" id="choice_93_5_1_4" aria-labelledby="likert_row_1_93_5 likert_col_4_93_5"></td>
                    <td data-label="Very Comfortable" class="gsurvey-likert-choice"><input name="input_5.1" type="radio" value="glikertrow70c084dc:glikertcol57c4d77df" id="choice_93_5_1_5" aria-labelledby="likert_row_1_93_5 likert_col_5_93_5"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_2_93_5" data-label="" class="gsurvey-likert-row-label">Cloud Networking</td>
                    <td data-label="Very Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.2" type="radio" value="glikertrow359906aa:glikertcol5f23a22ec" id="choice_93_5_2_1" aria-labelledby="likert_row_2_93_5 likert_col_1_93_5"></td>
                    <td data-label="Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.2" type="radio" value="glikertrow359906aa:glikertcol55c63773a" id="choice_93_5_2_2" aria-labelledby="likert_row_2_93_5 likert_col_2_93_5"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_5.2" type="radio" value="glikertrow359906aa:glikertcol542055de1" id="choice_93_5_2_3" aria-labelledby="likert_row_2_93_5 likert_col_3_93_5"></td>
                    <td data-label="Comfortable" class="gsurvey-likert-choice"><input name="input_5.2" type="radio" value="glikertrow359906aa:glikertcol55f10ae5d" id="choice_93_5_2_4" aria-labelledby="likert_row_2_93_5 likert_col_4_93_5"></td>
                    <td data-label="Very Comfortable" class="gsurvey-likert-choice"><input name="input_5.2" type="radio" value="glikertrow359906aa:glikertcol57c4d77df" id="choice_93_5_2_5" aria-labelledby="likert_row_2_93_5 likert_col_5_93_5"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_3_93_5" data-label="" class="gsurvey-likert-row-label">Cloud Security</td>
                    <td data-label="Very Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.3" type="radio" value="glikertrow240de6b0:glikertcol5f23a22ec" id="choice_93_5_3_1" aria-labelledby="likert_row_3_93_5 likert_col_1_93_5"></td>
                    <td data-label="Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.3" type="radio" value="glikertrow240de6b0:glikertcol55c63773a" id="choice_93_5_3_2" aria-labelledby="likert_row_3_93_5 likert_col_2_93_5"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_5.3" type="radio" value="glikertrow240de6b0:glikertcol542055de1" id="choice_93_5_3_3" aria-labelledby="likert_row_3_93_5 likert_col_3_93_5"></td>
                    <td data-label="Comfortable" class="gsurvey-likert-choice"><input name="input_5.3" type="radio" value="glikertrow240de6b0:glikertcol55f10ae5d" id="choice_93_5_3_4" aria-labelledby="likert_row_3_93_5 likert_col_4_93_5"></td>
                    <td data-label="Very Comfortable" class="gsurvey-likert-choice"><input name="input_5.3" type="radio" value="glikertrow240de6b0:glikertcol57c4d77df" id="choice_93_5_3_5" aria-labelledby="likert_row_3_93_5 likert_col_5_93_5"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_4_93_5" data-label="" class="gsurvey-likert-row-label">Cloud Cost Management</td>
                    <td data-label="Very Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.4" type="radio" value="glikertrow92a77257:glikertcol5f23a22ec" id="choice_93_5_4_1" aria-labelledby="likert_row_4_93_5 likert_col_1_93_5"></td>
                    <td data-label="Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.4" type="radio" value="glikertrow92a77257:glikertcol55c63773a" id="choice_93_5_4_2" aria-labelledby="likert_row_4_93_5 likert_col_2_93_5"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_5.4" type="radio" value="glikertrow92a77257:glikertcol542055de1" id="choice_93_5_4_3" aria-labelledby="likert_row_4_93_5 likert_col_3_93_5"></td>
                    <td data-label="Comfortable" class="gsurvey-likert-choice"><input name="input_5.4" type="radio" value="glikertrow92a77257:glikertcol55f10ae5d" id="choice_93_5_4_4" aria-labelledby="likert_row_4_93_5 likert_col_4_93_5"></td>
                    <td data-label="Very Comfortable" class="gsurvey-likert-choice"><input name="input_5.4" type="radio" value="glikertrow92a77257:glikertcol57c4d77df" id="choice_93_5_4_5" aria-labelledby="likert_row_4_93_5 likert_col_5_93_5"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_5_93_5" data-label="" class="gsurvey-likert-row-label">Containers and Kubernetes</td>
                    <td data-label="Very Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.5" type="radio" value="glikertrow28dcf355:glikertcol5f23a22ec" id="choice_93_5_5_1" aria-labelledby="likert_row_5_93_5 likert_col_1_93_5"></td>
                    <td data-label="Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.5" type="radio" value="glikertrow28dcf355:glikertcol55c63773a" id="choice_93_5_5_2" aria-labelledby="likert_row_5_93_5 likert_col_2_93_5"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_5.5" type="radio" value="glikertrow28dcf355:glikertcol542055de1" id="choice_93_5_5_3" aria-labelledby="likert_row_5_93_5 likert_col_3_93_5"></td>
                    <td data-label="Comfortable" class="gsurvey-likert-choice"><input name="input_5.5" type="radio" value="glikertrow28dcf355:glikertcol55f10ae5d" id="choice_93_5_5_4" aria-labelledby="likert_row_5_93_5 likert_col_4_93_5"></td>
                    <td data-label="Very Comfortable" class="gsurvey-likert-choice"><input name="input_5.5" type="radio" value="glikertrow28dcf355:glikertcol57c4d77df" id="choice_93_5_5_5" aria-labelledby="likert_row_5_93_5 likert_col_5_93_5"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_6_93_5" data-label="" class="gsurvey-likert-row-label">DevOps</td>
                    <td data-label="Very Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.6" type="radio" value="glikertrow0ea8cff9:glikertcol5f23a22ec" id="choice_93_5_6_1" aria-labelledby="likert_row_6_93_5 likert_col_1_93_5"></td>
                    <td data-label="Uncomfortable" class="gsurvey-likert-choice"><input name="input_5.6" type="radio" value="glikertrow0ea8cff9:glikertcol55c63773a" id="choice_93_5_6_2" aria-labelledby="likert_row_6_93_5 likert_col_2_93_5"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_5.6" type="radio" value="glikertrow0ea8cff9:glikertcol542055de1" id="choice_93_5_6_3" aria-labelledby="likert_row_6_93_5 likert_col_3_93_5"></td>
                    <td data-label="Comfortable" class="gsurvey-likert-choice"><input name="input_5.6" type="radio" value="glikertrow0ea8cff9:glikertcol55f10ae5d" id="choice_93_5_6_4" aria-labelledby="likert_row_6_93_5 likert_col_4_93_5"></td>
                    <td data-label="Very Comfortable" class="gsurvey-likert-choice"><input name="input_5.6" type="radio" value="glikertrow0ea8cff9:glikertcol57c4d77df" id="choice_93_5_6_5" aria-labelledby="likert_row_6_93_5 likert_col_5_93_5"></td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
        </div>
      </div>
      <div class="gform_page_footer top_label">
        <input type="button" id="gform_previous_button_93_11" class="gform_previous_button gform-theme-button gform-theme-button--secondary button" value="Previous"
          onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;3&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;3&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } "> <input type="button" id="gform_next_button_93_11"
          class="gform_next_button gform-theme-button button" value="Next" onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;5&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;5&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } ">
      </div>
    </div>
    <div id="gform_page_93_5" class="gform_page" data-js="page-field-id-11" style="display:none;">
      <div class="gform_page_fields">
        <div id="gform_fields_93_5" class="gform_fields top_label form_sublabel_below description_below">
          <fieldset id="field_93_6" class="gfield gfield--type-poll gfield--type-choice gfield--input-type-radio field_sublabel_below gfield--no-description field_description_below gfield_visibility_visible gpoll_field" data-field-class="gpoll_field"
            data-js-reload="field_93_6">
            <legend class="gfield_label gform-field-label">What do you consider cloud service companies that help organizations build and manage modern infrastructure solutions? (Choose 1)</legend>
            <div class="ginput_container ginput_container_radio">
              <div class="gfield_radio" id="input_93_6">
                <div class="gchoice gchoice_93_6_0">
                  <input class="gfield-choice-input" name="input_6" type="radio" value="gpoll66866e5d3" id="choice_93_6_0" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_6_0" id="label_93_6_0" class="gform-field-label gform-field-label--type-inline">Strategic/Trusted Partner</label>
                </div>
                <div class="gchoice gchoice_93_6_1">
                  <input class="gfield-choice-input" name="input_6" type="radio" value="gpoll64be76104" id="choice_93_6_1" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_6_1" id="label_93_6_1" class="gform-field-label gform-field-label--type-inline">Extension of internal team (staff augmentation)</label>
                </div>
                <div class="gchoice gchoice_93_6_2">
                  <input class="gfield-choice-input" name="input_6" type="radio" value="gpoll6d05eb5a0" id="choice_93_6_2" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_6_2" id="label_93_6_2" class="gform-field-label gform-field-label--type-inline">Tactical (to help execute short term projects)</label>
                </div>
                <div class="gchoice gchoice_93_6_3">
                  <input class="gfield-choice-input" name="input_6" type="radio" value="gpoll6fce13529" id="choice_93_6_3" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_6_3" id="label_93_6_3" class="gform-field-label gform-field-label--type-inline">Ongoing support (for management services)</label>
                </div>
              </div>
            </div>
          </fieldset>
        </div>
      </div>
      <div class="gform_page_footer top_label">
        <input type="button" id="gform_previous_button_93_12" class="gform_previous_button gform-theme-button gform-theme-button--secondary button" value="Previous"
          onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;4&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;4&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } "> <input type="button" id="gform_next_button_93_12"
          class="gform_next_button gform-theme-button button" value="Next" onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;6&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;6&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } ">
      </div>
    </div>
    <div id="gform_page_93_6" class="gform_page" data-js="page-field-id-12" style="display:none;">
      <div class="gform_page_fields">
        <div id="gform_fields_93_6" class="gform_fields top_label form_sublabel_below description_below">
          <div id="field_93_21" class="gfield gfield--type-survey gfield--input-type-likert gfield--width-full field_sublabel_below gfield--no-description field_description_below gfield_visibility_visible gsurvey-survey-field "
            data-field-class="gsurvey-survey-field" data-js-reload="field_93_21"><label class="gfield_label gform-field-label gfield_label_before_complex">For the following areas, how likely are you to engage with a service provider to assist in your
              migration to the cloud? (Very Likely, Likely, Neutral, Unlikely, Very Unlikely) (LIKERT question)</label>
            <div class="ginput_container ginput_container_likert">
              <table aria-label="For the following areas, how likely are you to engage with a service provider to assist in your migration to the cloud? (Very Likely, Likely, Neutral, Unlikely, Very Unlikely) (LIKERT question)" class="gsurvey-likert"
                id="input_93_21">
                <thead>
                  <tr>
                    <td scope="col" class="gsurvey-likert-row-label"></td>
                    <th id="likert_col_1_93_21" scope="col" class="gsurvey-likert-choice-label">Very Unlikely</th>
                    <th id="likert_col_2_93_21" scope="col" class="gsurvey-likert-choice-label">Unlikely</th>
                    <th id="likert_col_3_93_21" scope="col" class="gsurvey-likert-choice-label">Neutral</th>
                    <th id="likert_col_4_93_21" scope="col" class="gsurvey-likert-choice-label">Likely</th>
                    <th id="likert_col_5_93_21" scope="col" class="gsurvey-likert-choice-label">Very Likely</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td id="likert_row_1_93_21" data-label="" class="gsurvey-likert-row-label">Cloud architecture/design</td>
                    <td data-label="Very Unlikely" class="gsurvey-likert-choice"><input name="input_21.1" type="radio" value="glikertrow17ef37ba:glikertcol214a21188f" id="choice_93_21_1_1" aria-labelledby="likert_row_1_93_21 likert_col_1_93_21"></td>
                    <td data-label="Unlikely" class="gsurvey-likert-choice"><input name="input_21.1" type="radio" value="glikertrow17ef37ba:glikertcol2112e95c5d" id="choice_93_21_1_2" aria-labelledby="likert_row_1_93_21 likert_col_2_93_21"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_21.1" type="radio" value="glikertrow17ef37ba:glikertcol213f4c0d16" id="choice_93_21_1_3" aria-labelledby="likert_row_1_93_21 likert_col_3_93_21"></td>
                    <td data-label="Likely" class="gsurvey-likert-choice"><input name="input_21.1" type="radio" value="glikertrow17ef37ba:glikertcol21afc822bc" id="choice_93_21_1_4" aria-labelledby="likert_row_1_93_21 likert_col_4_93_21"></td>
                    <td data-label="Very Likely" class="gsurvey-likert-choice"><input name="input_21.1" type="radio" value="glikertrow17ef37ba:glikertcol211a401e64" id="choice_93_21_1_5" aria-labelledby="likert_row_1_93_21 likert_col_5_93_21"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_2_93_21" data-label="" class="gsurvey-likert-row-label">Application prototyping</td>
                    <td data-label="Very Unlikely" class="gsurvey-likert-choice"><input name="input_21.2" type="radio" value="glikertrowb75e455a:glikertcol214a21188f" id="choice_93_21_2_1" aria-labelledby="likert_row_2_93_21 likert_col_1_93_21"></td>
                    <td data-label="Unlikely" class="gsurvey-likert-choice"><input name="input_21.2" type="radio" value="glikertrowb75e455a:glikertcol2112e95c5d" id="choice_93_21_2_2" aria-labelledby="likert_row_2_93_21 likert_col_2_93_21"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_21.2" type="radio" value="glikertrowb75e455a:glikertcol213f4c0d16" id="choice_93_21_2_3" aria-labelledby="likert_row_2_93_21 likert_col_3_93_21"></td>
                    <td data-label="Likely" class="gsurvey-likert-choice"><input name="input_21.2" type="radio" value="glikertrowb75e455a:glikertcol21afc822bc" id="choice_93_21_2_4" aria-labelledby="likert_row_2_93_21 likert_col_4_93_21"></td>
                    <td data-label="Very Likely" class="gsurvey-likert-choice"><input name="input_21.2" type="radio" value="glikertrowb75e455a:glikertcol211a401e64" id="choice_93_21_2_5" aria-labelledby="likert_row_2_93_21 likert_col_5_93_21"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_3_93_21" data-label="" class="gsurvey-likert-row-label">Build and Implementation</td>
                    <td data-label="Very Unlikely" class="gsurvey-likert-choice"><input name="input_21.3" type="radio" value="glikertrowfe9ce7c7:glikertcol214a21188f" id="choice_93_21_3_1" aria-labelledby="likert_row_3_93_21 likert_col_1_93_21"></td>
                    <td data-label="Unlikely" class="gsurvey-likert-choice"><input name="input_21.3" type="radio" value="glikertrowfe9ce7c7:glikertcol2112e95c5d" id="choice_93_21_3_2" aria-labelledby="likert_row_3_93_21 likert_col_2_93_21"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_21.3" type="radio" value="glikertrowfe9ce7c7:glikertcol213f4c0d16" id="choice_93_21_3_3" aria-labelledby="likert_row_3_93_21 likert_col_3_93_21"></td>
                    <td data-label="Likely" class="gsurvey-likert-choice"><input name="input_21.3" type="radio" value="glikertrowfe9ce7c7:glikertcol21afc822bc" id="choice_93_21_3_4" aria-labelledby="likert_row_3_93_21 likert_col_4_93_21"></td>
                    <td data-label="Very Likely" class="gsurvey-likert-choice"><input name="input_21.3" type="radio" value="glikertrowfe9ce7c7:glikertcol211a401e64" id="choice_93_21_3_5" aria-labelledby="likert_row_3_93_21 likert_col_5_93_21"></td>
                  </tr>
                  <tr>
                    <td id="likert_row_4_93_21" data-label="" class="gsurvey-likert-row-label">Ongoing monitoring and management</td>
                    <td data-label="Very Unlikely" class="gsurvey-likert-choice"><input name="input_21.4" type="radio" value="glikertrowac1ca552:glikertcol214a21188f" id="choice_93_21_4_1" aria-labelledby="likert_row_4_93_21 likert_col_1_93_21"></td>
                    <td data-label="Unlikely" class="gsurvey-likert-choice"><input name="input_21.4" type="radio" value="glikertrowac1ca552:glikertcol2112e95c5d" id="choice_93_21_4_2" aria-labelledby="likert_row_4_93_21 likert_col_2_93_21"></td>
                    <td data-label="Neutral" class="gsurvey-likert-choice"><input name="input_21.4" type="radio" value="glikertrowac1ca552:glikertcol213f4c0d16" id="choice_93_21_4_3" aria-labelledby="likert_row_4_93_21 likert_col_3_93_21"></td>
                    <td data-label="Likely" class="gsurvey-likert-choice"><input name="input_21.4" type="radio" value="glikertrowac1ca552:glikertcol21afc822bc" id="choice_93_21_4_4" aria-labelledby="likert_row_4_93_21 likert_col_4_93_21"></td>
                    <td data-label="Very Likely" class="gsurvey-likert-choice"><input name="input_21.4" type="radio" value="glikertrowac1ca552:glikertcol211a401e64" id="choice_93_21_4_5" aria-labelledby="likert_row_4_93_21 likert_col_5_93_21"></td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
        </div>
      </div>
      <div class="gform_page_footer top_label">
        <input type="button" id="gform_previous_button_93_13" class="gform_previous_button gform-theme-button gform-theme-button--secondary button" value="Previous"
          onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;5&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;5&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } "> <input type="button" id="gform_next_button_93_13"
          class="gform_next_button gform-theme-button button" value="Next" onclick="jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;7&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); "
          onkeypress="if( event.keyCode == 13 ){ jQuery(&quot;#gform_target_page_number_93&quot;).val(&quot;7&quot;);  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); } ">
      </div>
    </div>
    <div id="gform_page_93_7" class="gform_page" data-js="page-field-id-13" style="display:none;">
      <div class="gform_page_fields">
        <div id="gform_fields_93_7" class="gform_fields top_label form_sublabel_below description_below">
          <fieldset id="field_93_16" class="gfield gfield--type-poll gfield--type-choice gfield--input-type-radio gfield--width-full field_sublabel_below gfield--no-description field_description_below gfield_visibility_visible gpoll_field"
            data-field-class="gpoll_field" data-js-reload="field_93_16">
            <legend class="gfield_label gform-field-label">What is the size of your business or organization? (Choose 1)</legend>
            <div class="ginput_container ginput_container_radio">
              <div class="gfield_radio" id="input_93_16">
                <div class="gchoice gchoice_93_16_0">
                  <input class="gfield-choice-input" name="input_16" type="radio" value="gpoll7e46cbf97" id="choice_93_16_0" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_16_0" id="label_93_16_0" class="gform-field-label gform-field-label--type-inline">1 - 100 employees</label>
                </div>
                <div class="gchoice gchoice_93_16_1">
                  <input class="gfield-choice-input" name="input_16" type="radio" value="gpoll7e7305b67" id="choice_93_16_1" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_16_1" id="label_93_16_1" class="gform-field-label gform-field-label--type-inline">101 - 500 employees</label>
                </div>
                <div class="gchoice gchoice_93_16_2">
                  <input class="gfield-choice-input" name="input_16" type="radio" value="gpoll7b13d114a" id="choice_93_16_2" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_16_2" id="label_93_16_2" class="gform-field-label gform-field-label--type-inline">501 - 1000 employees</label>
                </div>
                <div class="gchoice gchoice_93_16_3">
                  <input class="gfield-choice-input" name="input_16" type="radio" value="gpoll7a6075a5b" id="choice_93_16_3" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_16_3" id="label_93_16_3" class="gform-field-label gform-field-label--type-inline">1001 - 5000 employees</label>
                </div>
                <div class="gchoice gchoice_93_16_4">
                  <input class="gfield-choice-input" name="input_16" type="radio" value="gpoll16ff78eabf" id="choice_93_16_4" onchange="gformToggleRadioOther( this )">
                  <label for="choice_93_16_4" id="label_93_16_4" class="gform-field-label gform-field-label--type-inline">Over 5000 employees</label>
                </div>
              </div>
            </div>
          </fieldset>
        </div>
      </div>
      <div class="gform_page_footer top_label"><input type="submit" id="gform_previous_button_93" class="gform_previous_button gform-theme-button gform-theme-button--secondary button" value="Previous"
          onclick="if(window[&quot;gf_submitting_93&quot;]){return false;}  if( !jQuery(&quot;#gform_93&quot;)[0].checkValidity || jQuery(&quot;#gform_93&quot;)[0].checkValidity()){window[&quot;gf_submitting_93&quot;]=true;}  "
          onkeypress="if( event.keyCode == 13 ){ if(window[&quot;gf_submitting_93&quot;]){return false;} if( !jQuery(&quot;#gform_93&quot;)[0].checkValidity || jQuery(&quot;#gform_93&quot;)[0].checkValidity()){window[&quot;gf_submitting_93&quot;]=true;}  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); }">
        <input type="submit" id="gform_submit_button_93" class="gform_button button" value="Submit"
          onclick="if(window[&quot;gf_submitting_93&quot;]){return false;}  if( !jQuery(&quot;#gform_93&quot;)[0].checkValidity || jQuery(&quot;#gform_93&quot;)[0].checkValidity()){window[&quot;gf_submitting_93&quot;]=true;}  "
          onkeypress="if( event.keyCode == 13 ){ if(window[&quot;gf_submitting_93&quot;]){return false;} if( !jQuery(&quot;#gform_93&quot;)[0].checkValidity || jQuery(&quot;#gform_93&quot;)[0].checkValidity()){window[&quot;gf_submitting_93&quot;]=true;}  jQuery(&quot;#gform_93&quot;).trigger(&quot;submit&quot;,[true]); }">
        <input type="hidden" name="gform_ajax" value="form_id=93&amp;title=&amp;description=1&amp;tabindex=0">
        <input type="hidden" class="gform_hidden" name="is_submit_93" value="1">
        <input type="hidden" class="gform_hidden" name="gform_submit" value="93">
        <input type="hidden" class="gform_hidden" name="gform_unique_id" value="">
        <input type="hidden" class="gform_hidden" name="state_93"
          value="WyJ7XCIxLjFcIjpcIjgwM2M3ZWNlNzhkMDZiMzY1N2UwYWE0MmEzOWI3MmVlXCIsXCIxLjJcIjpcImExNzUxOTIyNmU5OThjMjk4MGJmMzc3NTBkNjU2NDY0XCIsXCIxLjNcIjpcIjIxNGUzZDZhM2E4NTMwMWE3OGRiZTkwMzg4ZTAxOGVjXCIsXCIxLjRcIjpcIjBmMWQ4MjcxYWY0ZTU3MmY4NzU3NGFkYTRhMDI0ODlkXCIsXCIxLjVcIjpcImVhYTkyNjI2YjBlZDdjYTcyMDgyYzMxZjNjMjJhOTEwXCIsXCIxLjZcIjpcIjg5MDFmMWQzNDEyMzBmYTFmYTc3NjljNGMzNzZmNWZhXCIsXCIxLjdcIjpcIjYzZjFmY2I3MzZhYmY3ODU2NmVjYjA4ZDU0YTY5Y2M0XCIsXCIxLjhcIjpcIjY2YjA2YTAyMTIxYjhkODE3MzllY2JlMjM3NGIyOGRkXCIsXCI2XCI6W1wiZmVjNWMyYjc3MmY4ZWQ4OTM0MjY4ZmIxOGY5YmZiMjlcIixcIjRiYWY3MDQ2NDc0Nzc4ZTc2Y2ZiYmFmN2ExMTljNzgxXCIsXCIwZTI5MjU4YWY4YThlMDFlOGI4M2VjNTUzZGZiMTBjMlwiLFwiMDkxNDZkN2E5OTcyY2ZjYzk3ZjI4YmJkZjRiYTA4MTdcIl0sXCIxNlwiOltcImRiYjE5NDA3ZjcwZjNkNDdjNjgxNDJiYTU1MDg5ZDczXCIsXCI5N2IzYTBhNDRiMGZhMGJiMjhlZWVmNmUwYjA0YzUyMVwiLFwiNTZjZTcxMTQ3ZjY4ZmRjZWM0YTA5ZTdmMGFhNDAzM2RcIixcImYzYmE0ZTE5ZmY5N2JmNmU5NjM4ZjllOTRhYWRhZDZkXCIsXCIxYzM0MWE2YWFmMWEyMGU3NDc5YmVhMzg4M2QwNzZkOVwiXX0iLCI2OGI3OWY4MDFmMjViZGQ4ZDUxNzcxOGE5ZTJlZDMyYiJd">
        <input type="hidden" class="gform_hidden" name="gform_target_page_number_93" id="gform_target_page_number_93" value="2">
        <input type="hidden" class="gform_hidden" name="gform_source_page_number_93" id="gform_source_page_number_93" value="1">
        <input type="hidden" name="gform_field_values" value="">
        <a href="javascript:void(0)" class="gpoll_button gform-theme-button gform-theme-button--secondary button">View results</a>
        <div class="gpoll_summary"></div>
      </div>
    </div>
  </div>
  <p style="display: none !important;"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="1686322833580">
    <script>
      document.getElementById("ak_js_1").setAttribute("value", (new Date()).getTime());
    </script>
  </p>
</form>

Text Content

DevOps.com


 * Latest
   * Articles
   * Features
   * Most Read
   * News
   * News Releases
 * Topics
   * AI
   * Continuous Delivery
   * Continuous Testing
   * Cloud
   * Culture
   * DataOps
   * DevSecOps
   * Enterprise DevOps
   * Leadership Suite
   * DevOps Practice
   * ROELBOB
   * DevOps Toolbox
   * IT as Code
 * Videos/Podcasts
   * Techstrong.tv Podcast
   * Techstrong.tv - Twitch
   * DevOps Unbound
 * Webinars
   * Upcoming
   * Calendar View
   * On-Demand Webinars
 * Library
 * Events
   * Upcoming Events
   * Calendar View
   * On-Demand Events
 * Sponsored Content
 * Related Sites
   * Techstrong Group
   * Cloud Native Now
   * Security Boulevard
   * Techstrong Research
   * DevOps Chat
   * DevOps Dozen
   * DevOps TV
   * Techstrong TV
   * Techstrong.tv Podcast
   * Techstrong.tv - Twitch
 * Media Kit
 * About
 * Sponsor
 * 

 * AI
 * Cloud
 * CI/CD
 * Continuous Testing
 * DataOps
 * DevSecOps
 * DevOps Onramp
 * Platform Engineering
 * Sustainability
 * Low-Code/No-Code
 * IT as Code
 * More
   * Application Performance Management/Monitoring
   * Culture
   * Enterprise DevOps
   * ROELBOB

 * AI
 * Cloud
 * CI/CD
 * Continuous Testing
 * DataOps
 * DevSecOps
 * DevOps Onramp
 * Platform Engineering
 * Sustainability
 * Low-Code/No-Code
 * IT as Code
 * More
   * Application Performance Management/Monitoring
   * Culture
   * Enterprise DevOps
   * ROELBOB

Hot Topics
 * Technical Debt? No Sweat!
 * Technical Debt is Inevitable. Here's How to Manage It
 * Report Surfaces DevOps Challenges for Mobile Applications
 * Microsoft’s 9th Outage in 2023 ¦ RISE of RISC-V ¦ Meta Ends WFH
 * What’s Hot in DevOps | Predict 2023

 * Technical Debt? No Sweat!
 * Technical Debt is Inevitable. Here's How to Manage It
 * Report Surfaces DevOps Challenges for Mobile Applications
 * Microsoft’s 9th Outage in 2023 ¦ RISE of RISC-V ¦ Meta Ends WFH
 * What’s Hot in DevOps | Predict 2023

Home » Blogs » Do’s and Don’ts of Phased Rollouts Software Delivery


DO’S AND DON’TS OF PHASED ROLLOUTS SOFTWARE DELIVERY

By: James Smith on September 9, 2021 0 Comments

When it comes to app stability and user experience, the “move fast and break
things” approach is a recipe for disaster. To protect brand reputation and to
stay ahead of evolving needs and customer expectations, leading Silicon Valley
companies’ software engineering teams have adopted phased rollouts, a software
development method that involves the gradual implementation of a new feature to
a smaller cohort of users at one time rather than all users at once.

Phased rollouts help companies maintain the highest-quality customer experience
(CX) for their users while making changes and software updates. When significant
features and updates aren’t rolled out to production all at once, the
organization’s software engineering team doesn’t have to deal with all the
potential implementation issues at once. With phased rollouts, engineering teams
catch issues early in the process so they can quickly fix them and resume the
rollout of the experiment, which prevents issues from impacting millions of
users down the road.

Sponsorships Available


While companies everywhere try to emulate the app development techniques of
these Silicon Valley tech leaders, many are unable to achieve successful phased
rollouts at scale. What they often don’t realize is that before even
implementing a phased rollout approach—whether it be to 5%, 10% or 15% of their
user base—there are a few steps that must be taken to ensure success. Below,
I’ll walk you through the do’s and don’ts of a successful phased rollout plan.


DO: RELEASE STABILITY MANAGEMENT

Companies must drive consistently stable app and web experiences in order to
succeed in the market today. Therefore, it’s critical to continually monitor the
stability of releases throughout development and testing to catch problems early
and decide when to roll features out to users. By measuring and monitoring app
stability in real-time, release managers inject accountability, predictability
and complete peace of mind into the organization. Taking control of release
stability management helps engineers deliver stable applications to drive
world-class digital experiences.

On top of that, software development teams must constantly improve mobile and
web apps with new features and capabilities that better enable users to
accomplish what they want to do. These kinds of improvements give companies the
competitive edge they need to survive in today’s competitive business
environment. In addition, monitoring release stability provides engineering
teams with real-time visibility into every issue impacting application stability
and CX. This level of visibility is critical for quickly diagnosing and
understanding the root cause of errors so that engineers can roll out fixes
before users are negatively impacted.


DO: TESTING AND EARLY ACCESS

For a phased rollout, engineering teams must run A/B tests and quality assurance
(QA) testing. A/B testing (also referred to as split testing or bucket testing)
is a method of comparing two versions of a web page or app against each other to
determine which one performs better. This includes trying out features like
different screenshots, videos and even different app icons to measure which
format users like the most.

QA testing ensures that the organization delivers the best products or services
possible by detecting usability issues that might not be technical. It tests for
any problems that impact the end-user experience, from poor navigation to slow
load times or unclear web copy.

With phased rollouts, you must also provide early access to new features for
select users to collect feedback and stamp out critical issues before launch.
Many software products collect user feedback by including a small checkbox
somewhere asking users to help make the software better by sending insights into
how they use the application. In addition, social media has become an undeniable
avenue for collecting candid user feedback. We’ve all seen it—when a platform
changes its interface for certain users before others, users will post on social
media sites about whether they are pleased with the new update or not.
Historically, there has been backlash when significant changes are made and the
company then has to decide whether to keep, change or cancel the new changes to
the platform.

As mentioned above, with an app stability monitoring tool, you can see if new
features or experiments are introducing new stability issues and make decisions
about pulling back or rolling out to a larger subset of users. By conducting
testing and allowing early access to only a specific cohort of users, software
engineering teams can balance release speed with application stability to create
the best experience possible.


DO: ALLOW FOR A STAGING PERIOD BEFORE GOING INTO PRODUCTION

As you launch new features, you’ll want to test them in a production-like
environment after they go through QA testing. This is called staging, and it has
become a popular concept with Silicon Valley companies. Staging is a near-exact
replica of a production environment for software testing. Staging is meant to
test code, builds and updates to ensure quality under a production-like
environment before application deployment.

A production-like environment is similar to when the app is released into
production for users, but it’s not public yet. It provides an accurate view of
how the update or new feature will operate and look in a production environment
to avoid glitches that are only noticeable in production. Staging can include
manual tests or, in some cases, engineering teams use automated software
testing, which is more costly to implement and may only be attainable for larger
enterprises.

In this phase, software engineers should conduct additional tests and experiment
with the new features to ensure that these capabilities—when released to
production or to the larger user base—will not compromise the app’s stability.
The last thing you want is for a new feature to break the user experience.


DON’T: TRY TO FIX EVERY BUG OR ERROR AS IT OCCURS

Since engineering teams often don’t have the bandwidth to fix every coding error
that should arise, they need to prioritize and fix the errors that impact
customers directly in order to protect revenue. Although organizations should
have visibility into every error or bug, not all of them are worth fixing. This
causes the signal-to-noise ratio that plagues developer efficiency.

This is where app stability management plays an essential role. However, many of
the app stability monitoring solutions on the market today can help with
identifying errors, but leave it up to development teams to figure out which
ones need to be prioritized. Engineering teams have to quickly determine which
errors are the most urgent to fix, so they need to have reliable tools such as
an app stability and error monitoring platform to provide them with visibility
to make these important decisions in real-time.


PHASED ROLLOUTS FOR PROGRESSIVE DELIVERY

Phased rollouts allow software engineers to continuously optimize the digital
experience, without impacting the whole user base and negatively affecting the
brand. Once mastered, phased rollouts can be used as part of a cutting-edge
progressive delivery approach to software engineering and development.

A progressive delivery approach includes shipping code (sometimes unfinished
code) to a production environment multiple times a day, exceeding many
companies’ risk tolerance. In order to do this successfully, engineers must have
control over who can ship releases and when, and which users can access certain
features and updates at what time. Phased rollouts provide a way to shield the
majority of customers from the failures that occur at those rapid release
speeds. To ship new software releases faster, engineers have to spend less time
on QA and testing, but that doesn’t mean they should be overlooked completely.
Then, by delivering the new release to a small subset of users first, you can
manage risks more effectively and iterate accordingly.

It’s important to call out that if the engineering team is making minute changes
that no users will see or care about, you don’t need to use a phased rollout
approach. That said, if it’s a significant cosmetic or operational change, such
as updates to the UI, then phased rollouts are crucial. A phased rollout
strategy is key for making software or app updates at scale that are necessary
for a successful launch in today’s highly competitive market.

Recent Posts By James Smith
 * Code Ownership Is Key to Accelerate Debugging
 * 5 Reasons Why Your App Needs an Error Monitoring System
 * APM and Application Stability: Where Two Monitoring Roads Merge and Diverge

More from James Smith


Related Posts
 * Do’s and Don’ts of Phased Rollouts Software Delivery
 * Keep Developers Happy and Velocity High
 * Beware the Blind Spot in Performance Testing for DevOps

   Related Categories
 * Blogs
 * Continuous Delivery
 * Continuous Testing
 * DevOps Culture
 * DevOps Practice

   Related Topics
 * continuous delivery
 * DevOps practices
 * features testing
 * phased rollouts

Show more
Show less
TwitterLinkedInFacebookRedditEmailShare
TwitterLinkedInFacebookRedditEmailShare

Filed Under: Blogs, Continuous Delivery, Continuous Testing, DevOps Culture,
DevOps Practice Tagged With: continuous delivery, DevOps practices, features
testing, phased rollouts


« Driving E-Commerce Transformation with Microservices
Google Donates Sqlcommenter to OpenTelemetry Project »


TECHSTRONG TV – LIVE

Click full-screen to enable volume control
Watch latest episodes and shows

UPCOMING WEBINARS

Monday, June 12, 2023 - 1:00 pm EDT
Wednesday, June 14, 2023 - 9:00 am EDT
Wednesday, June 14, 2023 - 11:30 pm EDT

GET THE TOP STORIES OF THE WEEK

View DevOps.com Privacy Policy

--------------------------------------------------------------------------------



SPONSORED CONTENT


PLATFORMCON 2023: THIS YEAR’S HOTTEST PLATFORM ENGINEERING EVENT

May 30, 2023 | Karolina Junčytė


THE GOOGLE CLOUD DEVOPS AWARDS: APPLY NOW!

January 10, 2023 | Brenna Washington


CODENOTARY EXTENDS DYNAMIC SBOM REACH TO SERVERLESS COMPUTING PLATFORMS

December 9, 2022 | Mike Vizard


WHY A LOW-CODE PLATFORM SHOULD HAVE PRO-CODE CAPABILITIES

March 24, 2021 | Andrew Manby


AWS WELL-ARCHITECTED FRAMEWORK ELEVATES AGILITY

December 17, 2020 | JT Giri

LATEST FROM DEVOPS.COM

TECHNICAL DEBT? NO SWEAT!


June 8, 2023 | Lee Altman

TECHNICAL DEBT IS INEVITABLE. HERE’S HOW TO MANAGE IT


June 8, 2023 | Bill Doerrfeld

REPORT SURFACES DEVOPS CHALLENGES FOR MOBILE APPLICATIONS


June 7, 2023 | Mike Vizard

MICROSOFT’S 9TH OUTAGE IN 2023 ¦ RISE OF RISC-V ¦ META ENDS WFH


June 7, 2023 | Richi Jennings

SUPERCHARGING ANSIBLE AUTOMATION WITH AI


June 7, 2023 | Saqib Jan





ON-DEMAND WEBINARS

DevOps.com Webinar Replays


MOST READ ON DEVOPS.COM

REVOLUTIONIZING THE NINE PILLARS OF DEVOPS WITH AI-ENGINEERED TOOLS

June 2, 2023 | Marc Hornbeek

FRIEND OR FOE? CHATGPT’S IMPACT ON OPEN SOURCE SOFTWARE

June 2, 2023 | Javier Perez

CHRONOSPHERE ADDS PROFESSIONAL SERVICES TO JUMPSTART OBSERVABILITY

June 2, 2023 | Mike Vizard

VMWARE STREAMLINES IT MANAGEMENT VIA CLOUD FOUNDATION UPDATE

June 2, 2023 | Mike Vizard

MASTERING DEVOPS AUTOMATION FOR MODERN SOFTWARE DELIVERY

June 6, 2023 | Krishna R.
 * Home
 * About DevOps.com
 * Meet our Authors
 * Write for DevOps.com
 * Media Kit
 * Sponsor Info
 * Copyright
 * TOS
 * Privacy Policy

© 2023 ·Techstrong Group, Inc.All rights reserved.



✓
Thanks for sharing!
AddToAny
More…






Notifications





previousnextslideshow







SEARCH RESULTS

Magnifying Glass
Search
Close search results
FiltersShow filters
Sort by:
Relevance•Newest•Oldest


NO RESULTS FOUND


FILTER OPTIONS


Close Search
We'd like to show you notifications for the latest news and updates.


AllowCancel



CLOUD CAPABILITIES POLL



Step 1 of 7

14%
What % of your production applications run in the Cloud? (Choose 1)
None
1-25%
26-50%
More than 50%

Which cloud platforms are in use in your company? (Select all that apply)
AWS
Microsoft Azure
Google Cloud Platform
Oracle Cloud
VMWare
RedHat OpenShift
Other cloud platform
No cloud platform

Rank your top priorities for cloud for the remainder of 2023. (RANKING)
 * Modernize applications
 * Migrate additional workloads to the cloud
 * Improve DevOps performance
 * Ensure cloud workloads are sufficiently secured
 * Make your cloud implementation more cost efficient
 * Operate/Monitor the cloud environment more effectively


How comfortable are you with your internal capabilities in the following areas
of cloud computing? (Very comfortable, Comfortable, Neutral, Uncomfortable, Very
Uncomfortable) (LIKERT question)

Very UncomfortableUncomfortableNeutralComfortableVery ComfortableCloud
ArchitectureCloud NetworkingCloud SecurityCloud Cost ManagementContainers and
KubernetesDevOps


What do you consider cloud service companies that help organizations build and
manage modern infrastructure solutions? (Choose 1)
Strategic/Trusted Partner
Extension of internal team (staff augmentation)
Tactical (to help execute short term projects)
Ongoing support (for management services)

For the following areas, how likely are you to engage with a service provider to
assist in your migration to the cloud? (Very Likely, Likely, Neutral, Unlikely,
Very Unlikely) (LIKERT question)

Very UnlikelyUnlikelyNeutralLikelyVery LikelyCloud
architecture/designApplication prototypingBuild and ImplementationOngoing
monitoring and management


What is the size of your business or organization? (Choose 1)
1 - 100 employees
101 - 500 employees
501 - 1000 employees
1001 - 5000 employees
Over 5000 employees
View results


Δ