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

Continuous delivery - Microsoft Azure App Slots.

Continuous delivery - Microsoft Azure App Slots.

A modern Deployment of apps using Microsoft's azure deployment slots as a way to continuously deliver to production without downtime.

Wale Ayandiran

November 10, 2017
Tweet

More Decks by Wale Ayandiran

Other Decks in Programming

Transcript

  1. Continuous Delivery
    (Azure App Slots):
    A modern developer's
    BAE.
    By: Wale Ayandiran
    @waleCloud
    @ forloop Asaba
    November 10, 2017

    View Slide

  2. What we will cover at
    the end
    ● What is Continuous Integration &
    Continuous Delivery
    ● Staging/Pipeline/Slots workflow
    ● Git & Versioning
    ● Various cloud hosting Platforms
    ● Sample web Application on this
    methodology
    Objective:

    View Slide

  3. Hello World!
    ❖ Wale Ayandiran
    ❖ Web developer and Solution Consultant
    ❖ Web development Learning Facilitator
    @ekobits
    ❖ Bits Academy Trainer
    ❖ Writer at medium.com/justcodenow
    ❖ Medium @waleloud

    View Slide

  4. Which one is continuous delivery again???

    View Slide

  5. Continuous Delivery Defined
    Continuous delivery is a software
    development methodology where the
    release process is automated.
    Every software change is automatically
    built, tested, and deployed to
    production.
    Source: Amazon
    Before the final push to production, a
    person, an automated test, or a business
    rule decides when the final push should
    occur.
    Although every successful software
    change can be immediately released to
    production with continuous delivery, not
    all changes need to be released right
    away.

    View Slide

  6. So you're telling me continuous delivery is ghen
    ghen abi?
    What has been happening before now? Oya
    tell me na!

    View Slide

  7. The Old BAE
    We were basically
    uploading and
    downloading files.
    :)

    View Slide

  8. How do I continuously deliver?
    Meet BAE's sister →
    Continuous Integration
    (CI)

    View Slide

  9. Continuous Integration
    CI - Continuous integration is a
    software development practice
    where members of a team use a
    version control system and
    integrate their work frequently
    to the same location, such as a
    master branch.
    Each change is built and verified
    by tests and other verifications in
    order to detect any integration
    errors as quickly as possible

    View Slide

  10. CI / CD
    Continuous integration
    (CI) is focused on
    automatically building and
    testing code, as compared
    to CD
    Continuous delivery (CD),
    which automates the
    entire software release
    process up to production.

    View Slide

  11. HELLO BAE

    View Slide

  12. New BAE (CD) Tools

    Git & Version Control System
    Cloud development platforms

    View Slide

  13. THE FLOOR IS LIVE IMPLEMENTATION.
    A Simple demo using MS Azure and Github
    to handle Staging and Auto Deployment.
    Join In: live

    View Slide

  14. DISCLAIMER
    I’m not affiliated to Microsoft or any of their
    products of sort.

    View Slide

  15. Step 1 Step 2 Step 3 Step 4
    Login to
    portal.azure.com or
    create an account.
    Step 5
    Procedure A Git & Azure
    Create a repo on
    github, name it
    forloop-asaba,
    clone repo on local
    PC
    Open your
    favorite Terminal,
    create a new file
    (index.php)
    Git add,
    commit &
    push
    Click on Create new
    Web App.

    View Slide

  16. STEP 1

    View Slide

  17. STEP 2/3
    Clone the repo on your
    PC and create a new
    index file

    View Slide

  18. STEP 4
    Create a new web app on
    azure, select deployment
    slot from the menu

    View Slide

  19. Step 1 Step 2 Step 3 Step 4
    Authenticate and
    Select your branch
    *master*
    Step 5
    Configure your web
    App: name,
    subscription,
    resource group, App
    Service plan & OS.
    Select your App
    from dashboard,
    select
    deployment
    options
    Choose your VCS
    where you code lives
    Click OK.
    Browse your app and
    it should be live.
    Procedure B - AZURE

    View Slide

  20. STEP 1-4
    Choose your source
    code repository and
    authenticate

    View Slide

  21. STEP 5
    Once you’ve done that,
    click on browse and you
    have something similar
    to this on the right.

    View Slide

  22. Step 1 Step 2 Step 3 Step 4
    GOTO Procedure B
    STEP 3
    Step 5
    Create a new branch on
    your repo and push
    some edit code there
    Go back to azure,
    select
    deployment slots
    -> click Add slot
    Configure the slot same way
    you did for the App step 1 and
    select configuration source as
    your previous App
    Click OK.Browse your
    app and it should be
    live with the
    modification you’ve
    made and Swap slots
    Procedure C - Git & Azure

    View Slide

  23. STEP 1-3
    Click add slot, choose your
    configuration source and a
    name for this slot - features

    View Slide

  24. STEP 1-3
    Create a new branch name it
    feature branch on github,
    edit your index,
    commit changes and push.

    View Slide

  25. STEP 1-3
    Setup your deployment options
    and choose the feature branch as
    shown on the right image.

    View Slide

  26. STEP 5
    Result of the newly deployed
    feature. Now you can swap the
    slots and make this slot into
    production

    View Slide

  27. STEP 5
    Swaps the feature slot to
    production and Viola! Now you
    can always test new features
    on the feature and swap to
    production when it’s tested &
    ready.

    View Slide

  28. https://goo.gl/L6NtDp - Live
    https://goo.gl/jDwuJZ - Features/Staging
    Links to the Apps

    View Slide

  29. CONTINUOUS DELIVERY
    Why we love it
    ❖ Less scary, small and frequent
    ❖ Move faster
    ❖ More empowering
    ❖ Breeds confidence

    View Slide

  30. CONTINUOUS DELIVERY
    Why we love it
    ❖ Just sauce
    ❖ Raw sauce no ketchup just sauce
    The ting goes ....
    Well you don know!

    View Slide

  31. Thank You.
    Connect with me
    @waleCloud

    View Slide