Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ApiOps - Empower teams to manage their own API applications

DragonBe
October 14, 2023

ApiOps - Empower teams to manage their own API applications

Welcome to the world of ApiOps, where development teams are capable of managing the full SDLC of their applications in Azure API Management, without having to depend on operations or cloud teams to provision their services.

With ApiOps, cloud teams can define the boundaries in which an application can operate and assert that their governance policies are fulfilled while development teams have the freedom to create, update, and retire their own applications.

In this session I will present both the development side as the operational side, each with their own loosely coupled and independent workload to show how ApiOps can accelerate an organization delivering value faster to internal and external consumers of APIs.

DragonBe

October 14, 2023
Tweet

More Decks by DragonBe

Other Decks in Design

Transcript

  1. www.in2it.be - @in2itvof 1
    Empower teams to manage their own API applica
    ti
    ons
    ApiOps

    View full-size slide

  2. www.in2it.be - @in2itvof
    Problem statement
    Allow digital teams to self-manage the
    lifecycle of their applica
    ti
    ons while
    maintaining organisa
    ti
    onal governance
    and compliance in Azure API
    Management
    2

    View full-size slide

  3. www.in2it.be - @in2itvof
    Azure API
    Management
    A central governance gateway to
    manage backend services (APIs)
    3
    APIM
    Access Control Tra
    ffi
    c Control
    Tes
    ti
    ng
    Versioning
    On-boarding
    Monitoring &
    Aler
    ti
    ng

    View full-size slide

  4. www.in2it.be - @in2itvof 4
    Work
    fl
    ow constraint
    API Services
    API production API Management
    !
    !
    !
    "
    Development
    Team
    #
    Apps & Services
    $
    API Management
    %
    Application
    Publication
    &
    Developer Portal
    '
    Application
    Gateway
    ( )
    Backend Services
    Cloud & On-Premise
    Handover
    required to
    operations

    View full-size slide

  5. www.in2it.be - @in2itvof 5
    ApiOps by Microso
    f
    Source: in2.se/ms-apiops

    View full-size slide

  6. www.in2it.be - @in2itvof 7
    APIM as internal self-service pla
    tf
    orm


    (Applying Team Topologies)
    Platform Team provides APIM integration as a service
    Stream aligned teams B2B
    Stream aligned teams B2C
    Stream aligned teams Internal Integrations
    Enablement of teams

    View full-size slide

  7. www.in2it.be - @in2itvof 8
    Self-service possibili
    ti
    es

    View full-size slide

  8. www.in2it.be - @in2itvof 9
    Standardising request process

    View full-size slide

  9. www.in2it.be - @in2itvof 10
    Simpli
    fi
    ed ApiOps Solu
    ti
    on

    View full-size slide

  10. www.in2it.be - @in2itvof
    Opera
    ti
    ons Pipeline
    • Global APIM policies


    • Iden
    ti
    ty and governance requirements


    • High availability and scalability se
    tt
    i
    ngs


    • Integra
    ti
    on of self-service created services
    11

    View full-size slide

  11. www.in2it.be - @in2itvof
    Development Template
    • Endpoint name, URI, and display label


    • Version, revision, and version set


    • Backend service endpoint and de
    fi
    ni
    ti
    on (OpenAPI, Swagger, WSDL, …)


    • Custom policies, subscrip
    ti
    ons, and mone
    ti
    sa
    ti
    on requirements


    • Health and status endpoints
    12

    View full-size slide

  12. www.in2it.be - @in2itvof 13
    Bene
    fi
    ts & tradeo
    ff
    s
    Bene
    fi
    ts Tradeo
    ff
    s
    Simpli
    fi
    ed pipelines for development and opera
    ti
    ons Single pipeline for all projects
    Standardisa
    ti
    on of API structures Mul
    ti
    repository applica
    ti
    on architecture
    Centralized governance & distributed publica
    ti
    on Global boundaries set by APIM Opera
    ti
    on teams
    Self-serviced publishing of applica
    ti
    ons
    Reduced cogni
    ti
    ve load

    View full-size slide

  13. www.in2it.be - @in2itvof
    Opera
    ti
    ons repositories
    • A repository for managing Azure API
    Management resource


    • A repository for integra
    ti
    ng Azure API
    Management endpoint resources


    • A repository for integra
    ti
    ng Development Portal
    publica
    ti
    ons
    14

    View full-size slide

  14. www.in2it.be - @in2itvof
    Integra
    ti
    ng resources
    resources:


    repositories:


    - repository: b2b-ticket-authorization


    type: git


    name: B2B_DIGITAL/b2b-ticket-authorization


    ref: main


    trigger:


    - main


    - repository: b2b-ticket-sales


    type: git


    name: B2B_DIGITAL/b2b-ticket-sales


    ref: main


    trigger:


    - main


    - repository: b2b-ticket-event


    type: git


    name: B2B_DIGITAL/b2b-ticket-event


    ref: main


    trigger:


    - main


    15

    View full-size slide

  15. www.in2it.be - @in2itvof
    Inclusion of stage steps
    stages:


    - stage: PrepareApimChange


    displayName: Prepare for APIM changes in ${{ parameters.targetEnv }}


    jobs:


    - job: prepareAllChanges


    displayName: Prepare all changes for APIM


    steps:


    - checkout: self


    displayName: Checkout APIM changes


    persistCredentials: true


    - checkout: B2B_DIGITAL/b2b-ticket-authorization


    displayName: Checkout B2B_DIGITAL/b2b-ticket-authorization changes




    - checkout: B2B_DIGITAL/b2b-ticket-sales


    displayName: Checkout B2B_DIGITAL/b2b-ticket-sales changes


    - checkout: B2B_DIGITAL/b2b-ticket-event


    displayName: Checkout B2B_DIGITAL/b2b-ticket-event changes


    16

    View full-size slide

  16. www.in2it.be - @in2itvof
    Development repositories
    • Applica
    ti
    on repositories


    • Endpoint con
    fi
    gura
    ti
    on repository
    17

    View full-size slide

  17. www.in2it.be - @in2itvof
    Example endpoint con
    fi
    g
    apim_api_config = {
    employee_subscription = {
    name = "b2b_ticket_sales"
    display_name = "B2B Partner Subscription"
    endpoint_name = "partner-subscription"
    definition_format = "openapi+json-link"
    definition_value = "https://api.company.be/partner/subscription/openapi.json"
    service_url = "https://api.company.be/partner/subscription"
    revision = "3"
    }
    contract_billing = {
    name = "b2b_ticket_event"
    display_name = "B2B Partner Billing"
    endpoint_name = "partner-billing"
    definition_format = "openapi+json-link"
    definition_value = "https://api.company.be/partner/billing/openapi.json"
    service_url = "https://api.company.be/partner/billing"
    revision = "8"
    }
    }
    18

    View full-size slide

  18. www.in2it.be - @in2itvof
    Thank you
    [email protected]


    @DragonBe


    facebook.com/DragonBe


    linkedin.com/in/michelangelovandam


    in2.se/ApiOps
    20

    View full-size slide