While supported, embedding large iRules or complex L7 policies inside JSON becomes unreadable fast. You end up using "iRule": { "base64": "..." } – which is terrible for code review.
Unlike some of F5’s newer cloud offerings, AS3 has been battle-tested for years. It supports nearly all modern BIG-IP features (LTM, GTM/DNS, AFM, APM basics).
You can partition declarations by tenant (e.g., Tenant_FinanceApp , Tenant_CRM ). This prevents teams from accidentally overwriting each other’s configs on a shared BIG-IP. f5-appsvcs
Automation engineers. Not recommended for: Teams without a configuration management repository.
Since it’s declarative, removing a service is as simple as deleting its block from the JSON and re-posting. AS3 cleans up the orphaned objects. Cons (The pain points) 1. Steep JSON schema learning curve The schema is verbose and strict. A missing comma or incorrectly nested "class": "Service_HTTP" will fail the entire declaration. The error messages have improved but can still be cryptic (e.g., "property 'pool' is not valid for 'Service_HTTPS'" without clear line numbers). While supported, embedding large iRules or complex L7
Older BIG-IP versions don’t show you exactly what will change before you apply it. (Newer v3.30+ has improved preview modes, but many production boxes lag behind.)
AS3 is stateless – it doesn’t track past declarations. If you lose your source JSON, you can’t “reverse-engineer” a declaration from the running config easily. You must store your declarations in Git. It supports nearly all modern BIG-IP features (LTM,
This review is written from the perspective of a using it on BIG-IP. Title: Powerful but Has a Learning Curve – Essential for Automation Rating: 4.2/5 The Short Verdict F5 Appsvcs (AS3) is a game-changer if you're tired of clicking through the BIG-IP GUI or wrangling tmsh scripts. It allows you to declare your entire application delivery policy (virtual servers, pools, monitors, iRules, SSL profiles) as a single JSON declaration. When it works, it’s magical. When it doesn’t, debugging can be a headache. Pros (What works well) 1. Declarative model is brilliant You declare the desired state of your app. Appsvcs figures out the delta and applies only the changes. This eliminates the “order of operations” hell that plagues imperative scripts.
Run the same POST request 10 times – the configuration remains consistent. No duplicate pool members, no stray objects. This is a massive win for CI/CD pipelines.