$30 off During Our Annual Pro Sale. View Details »

Towards Sustainable Ecosystems for Cloud Functions

Towards Sustainable Ecosystems for Cloud Functions

The main technologies around modern cloud development and deployment paradigms such as Function-as-a-Service (FaaS) environments follow a typical technology life-cycle. Starting with basic code installation and execution environments, they unfold into a complete ecosystem with rich collaborative development and market enablement tools. In this paper, we analyse the growth of such ecosystems, reveal causes of hindrances in previous service-oriented approaches, and present our vision of how an ecosystem with sustainable operation could look like both in general and specifically for cloud functions. We present Func-
tion Hub, a partial prototypical implementation to gain first knowledge about the potential operational ecosystem behaviour.

More Decks by Service Prototyping Research Slides

Other Decks in Research

Transcript

  1. Towards
    Sustainable
    Ecosystem for
    Cloud
    Functions
    Authors:
    Yessica Bogado - Itaipu Technological Park
    Walter Benitez - Itaipu Technological Park
    Josef Spillner - ZHAW School of Engineering
    Fabio López-Pires - Itaipu Technological Park

    View Slide

  2. CONTENT
    2
    1. Challenges
    2. Ecosystem
    Analysis, obstacles.
    3. Proposition
    4. Sustainable Ecosystem Elements
    Marketplaces, Converters,
    Deployers, Execution Environments
    5. Proof of Concepts
    Function Hub
    6. Conclusion

    View Slide

  3. 3
    1.
    CHALLENGES

    View Slide

  4. 4
    Technology-Specific
    Exchanges
    But..
    .
    Who operates such exchange in a
    sustainable way?
    Which future exchanges will
    emerge for new technologies such
    as cloud functions?
    How these future exchanges may
    look like?

    View Slide

  5. 5
    2.
    ECOSYSTEM

    View Slide

  6. 6
    What is an Ecosystem?
    Growth
    through
    contribution
    Ecosyste
    m
    Service-
    oriented
    element
    s
    Tools for
    Providers and
    Consumers

    View Slide

  7. 7
    Growth Ecosystem
    The dependent products grow
    slower with logarithmic relation
    compared than the independent
    products.

    View Slide

  8. 8
    Ecosystem Obstacles
    1. Single Commercial Owners
    2. Concentration of providers in
    ecosystems

    View Slide

  9. 9
    Cloud Function Ecosystem
    In Serverless architecture, cloud
    providers have complete
    management over the
    environment in which functions
    run.

    View Slide

  10. 10
    3.
    PROPOSITION

    View Slide

  11. 11
    Proposition
    Establish Sustainable Ecosystems for
    heterogeneous application
    development artefacts which can be
    customised for arbitrary domains.
    How?
    Decentralisation
    Guarantees that in
    the worst case the
    system will
    continue to
    function in reduce
    form.
    Abstraction
    Converting formats
    and protocols.

    View Slide

  12. 12
    4.
    SUSTAINABLE
    ECOSYSTEM
    ELEMENTS

    View Slide

  13. 13
    Marketplaces
    Environment where developers could
    interact with the platform ecosystem in
    a way that allows them to create, share
    and trade tools.
    Enabling users to deploy, scale and
    create functions more easily and
    efficiently.
    Marketplaces
    Converters
    Deployers
    Execution
    Environments

    View Slide

  14. 14
    Converters
    Users are forced to create functions for
    specific cloud providers instead of a
    general one.
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    Converter
    Function

    View Slide

  15. 15
    Deployers
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    The users need a flexible tool that allow
    them to deploy their functions on
    multiple cloud environments.
    Specific platform Multi-Tenancy

    View Slide

  16. 16
    Execution Environments
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    Each cloud provider focuses its
    environment in accordance to an aimed
    developer group or their specific
    infrastructure.

    View Slide

  17. 17
    Similar Ecosystem

    View Slide

  18. 18
    5.
    PROOF OF
    CONCEPTS

    View Slide

  19. 19
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    FunctionHub

    View Slide

  20. 20
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    Marketplaces
    FunctionHub allows free exchange of
    functions between users and generates
    the required environments for a
    serverless market to proliferate.
    Decentralisation Abstraction
    Extensible
    Mesaging and
    Presence Protocol
    (XMPP)
    Snafu

    View Slide

  21. 21
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    Marketplaces

    View Slide

  22. 22
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    Converters
    As a early prototype, a converter of
    Python functions was developed to add
    wrappers for different modules that the
    file could have.
    Converter
    Wrapp 1
    Wrapp 2
    Wrapp 4
    Wrapp 3
    Function

    View Slide

  23. 23
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    Deployers
    Snafu give users the
    option to upload their
    functions from their
    repositories to the
    Function Hub
    ecosystem.
    For deploy functions
    from Function Hub to
    a private cloud
    provider is intended
    to use the Serverless
    Framework.

    View Slide

  24. 24
    Marketplaces
    Converters
    Deployers
    Execution
    Environments
    Execution Environments
    Snafu
    Docker Image
    Runtime
    environments
    ● Python 3.5
    Python 2.7
    JRE
    Node.js

    View Slide

  25. 25
    6.
    CONCLUSION

    View Slide

  26. 26
    Conclusion
    The rapid growth of Serverless
    Computing creates a need for an
    ecosystem in order to bring users
    necessary tools for a fast and cheap
    deployment of their software.
    It is needed properties like
    decentralisation and abstraction
    that allows users to create applications
    that interact with a diverse cloud
    ecosystem and take advantage of this
    diversity according to their needs.

    View Slide

  27. View Slide