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

try! Swift Tokyo 2018: Best Docker Container in Swift

try! Swift Tokyo 2018: Best Docker Container in Swift

Takeshi Ihara

March 01, 2018
Tweet

More Decks by Takeshi Ihara

Other Decks in Programming

Transcript

  1. Best Docker Container
    in Swift

    USZ4XJGU$POGFSFODF
    5BLFTIJ*IBSB

    View Slide

  2. Swift on Linux
    1. Ubuntu 14.x and 16.x
    2. Server Side Swift
    3. Docker

    View Slide

  3. Docker Images (Build)
    • vapor-build:16.04
    └─ docker-swift-build:16.04
    └─ ubuntu:16.04(LTS)
    • vapor-build:14.04
    └─ docker-swift-build:14.04
    └─ ubuntu:14.04(LTS)

    View Slide

  4. Docker Images (Build)
    • vapor-build:16.04
    └─ docker-swift-build:16.04
    └─ ubuntu:16.04(LTS)
    • vapor-build:14.04
    └─ docker-swift-build:14.04
    └─ ubuntu:14.04(LTS)

    View Slide

  5. Docker Images (Build)
    • vapor-build:16.04
    └─ docker-swift-build:16.04
    └─ ubuntu:16.04(LTS)
    • vapor-build:14.04
    └─ docker-swift-build:14.04
    └─ ubuntu:14.04(LTS)

    View Slide

  6. Docker Images (Run)
    • vapor-server:16.04
    └─ docker-swift:16.04
    └─ ubuntu:16.04(LTS)
    • vapor-server:14.04
    └─ docker-swift:14.04
    └─ ubuntu:14.04(LTS)

    View Slide

  7. Docker Images (Run)
    • vapor-server:16.04
    └─ docker-swift:16.04
    └─ ubuntu:16.04(LTS)
    • vapor-server:14.04
    └─ docker-swift:14.04
    └─ ubuntu:14.04(LTS)

    View Slide

  8. Docker Images (Run)
    • vapor-server:16.04
    └─ docker-swift:16.04
    └─ ubuntu:16.04(LTS)
    • vapor-server:14.04
    └─ docker-swift:14.04
    └─ ubuntu:14.04(LTS)

    View Slide

  9. Benchmark
    4FSWFS $MJFOU
    .BDIJOF &$DMBSHF &$UNJDSP
    "QQMJDBUJPO 4XJGU7BQPS "QBDIF#FODI

    View Slide

  10. 5JNF TFD






    3FRVFTU


    GET Concurrency = 10

    View Slide

  11. GET Concurrency = 100 & 1000
    5JNF TFD






    3FRVFTU $PODVSSFODZ



    5JNF TFD






    3FRVFTU $PODVSSFODZ



    View Slide

  12. 5JNF TFD






    3FRVFTU


    POST Concurrency = 10

    View Slide

  13. 5JNF TFD






    3FRVFTU $PODVSSFODZ



    5JNF TFD






    3FRVFTU $PODVSSFODZ



    POST Concurrency = 100 & 1000

    View Slide

  14. Docker Images (Build)
    6CVOUV
    EPDLFSTXJGU
    CVJME
    WBQPSCVJME
    .#
    (#
    .#

    (#
    .#

    .#
    (#
    .#

    (#
    .#

    View Slide

  15. Docker Images (Run)
    6CVOUV EPDLFSTXJGU WBQPSTFSWFS
    .#
    .#
    .#

    (#
    .#

    .#
    .#
    .#

    (#
    .#

    ˣ.#

    View Slide

  16. Summary
    • Each Dockerfile for build and run
    • nonchalant/docker-swift-build
    • nonchalant/docker-swift
    • Currently, Ubuntu 16.04 is best
    • Ubuntu 18.04 (LTS) will be better?

    View Slide

  17. Thank you ⚡
    • Twitter: @nonchalant0303
    • GitHub: @Nonchalant
    • https://github.com/Nonchalant/
    docker-swift-benchmark

    View Slide