# Comparison of variants (Function vs. Runbook)

To help you decide which automation platform to use, here is a brief comparison of variants

### Azure Runbook

<table class="relative-table wrapped confluenceTable stickyTableHeaders tablesorter tablesorter-default" id="bkmrk-benefits-cons-cost-e" role="grid" style="width: 100%; height: 199.344px;"><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row" style="height: 28.5625px;"><th aria-disabled="false" aria-label="Azure RunbooksVorteile: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" style="height: 28.5625px;" tabindex="0"><div class="tablesorter-header-inner">Benefits</div></th><th aria-disabled="false" aria-label="Nachteile: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" style="height: 28.5625px;" tabindex="0"><div class="tablesorter-header-inner">Cons</div></th></tr></thead><colgroup><col style="width: 48.2077%;"></col><col style="width: 51.7923%;"></col></colgroup><tbody aria-live="polite" aria-relevant="all"><tr role="row" style="height: 170.781px;"><td class="confluenceTd" style="height: 170.781px;">- Cost-effective
- Simple control via GUI
- Simple variable handling
- Simple secrethandling
- Simple working with modules
- Runtime up to 3h in Azure
- Runtime over 3h on Hybrid Worker
- Simple GUI for manual trigger

</td><td class="confluenceTd" style="height: 170.781px;">- Multiple requests are stacked
- Tedious waiting for response

</td></tr></tbody></table>

### Azure Function

<table class="relative-table wrapped confluenceTable stickyTableHeaders tablesorter tablesorter-default" id="bkmrk-benefits-cons-scalab" role="grid" style="width: 99.2593%;"><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Azure FunctionsVorteil: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Benefits</div></th><th aria-disabled="false" aria-label="Nachteile: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" colspan="1" data-column="3" role="columnheader" scope="col" tabindex="0"><div class="tablesorter-header-inner">Cons</div></th></tr></thead><colgroup><col style="width: 48.694%;"></col><col style="width: 51.306%;"></col></colgroup><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">- Scalable
- Load balancing
- Highly available
- Standardised access via REST call
- Simple response return via JSON

</td><td class="confluenceTd" colspan="1">- Expensive operation
- More difficult variable handling
- More difficult secrethandling
- More difficult to work with modules
- Maximum runtime 230 sec (can be manually changed to 600 sec max!)

</td></tr></tbody></table>