Git Product home page Git Product logo

pyfaas's Introduction

pyfaas

Python Function as a Service - custom name pending

We intend to provide a Function as a Service solution that will accomplish the following:

  • run Python functions within ephemeral containers (such as Docker)
  • scaling Python functions across multiple cloud vendors (such as AWS, GCloud, Azure ...)
  • capturing metrics from the running ephemeral containers (for example, through http://opentracing.io/)
  • based on the captured metrics, model the function scalability such as:
    • to automatically create alarms (for scaling) in Amazon CloudWatch
    • scale dynamically with Docker containers

Useful links


Bibliography

Articles:

Solutions:

pyfaas's People

Contributors

mateimicu avatar raresdima avatar

Watchers

 avatar  avatar

pyfaas's Issues

Update project architecture - give more details

Detail project architecture:

  • load balancing / scalability solutions (eg: AWS ASG)
  • how can analysis done on the spot instance affect the backend host (eg: productionizing models / analysis)

More to be added in the following weeks.

Create prediction model.

Sample data

Split data into 2d arrays, each row representing one day's worth of data.

  • Sample day period.
  • Sample week period.
  • Sample month period.
  • Sample year period.

Individual prediction

Train any model having the date as an input.

  • Regression over day scope. Input: (hr, min).
  • Regression over week scope. Input: (week day, hr, min)
  • Regression over month scope Input: (month day, hr, min).
  • Regression over year scope (year day, hr, min).

Ensemble

  • Neural network 4-(3/5)-1 -> Direct output.
  • Genetic algorithm for weight determination -> Weighted sum.
  • Genetic programming for combiner expression.

Project Info

We should define a better scope for this (creating a FaaS framework from scratch is overkill for a semester at university). As long as we leverage cloud environments and distributed systems it is in "my field" and I can help (I have experience with Python, AWS, Docker, and Kubernetes).

Prediction research

Dataset expansion

  • Versioning

  • Start versioning the dataset generator (#6)
  • 1 day scope

  • Create dataset for 1 day's worth of data. (#6)
  • Add arbitrary peaks to the data. (#6)
  • Add arbitrary polling periods to the data. (#6)
  • Self-contain 1-day dataset generation in a parametrized function (so it can be reused). (#10)
  • Self-contain 1-day timetick generation into a function (#15)
  • 1 month scope

  • Create dataset for 1 month's worth of data. (#12)
  • Plot 1 month data on a 4 row - 7 col grid (calendar style). (#12)
  • 1 year scope

  • Create dataset of 1 year. (#19)

Regression research

  • Add possibility to transpose data dependence (day -> (time, load)) -> (time -> (day, load)). (#22)
  • Add arbitrary polling intervals (including uneven). (#6)
  • Self determined weighted sum over most likely time series periods (day, week, month, year).

Document the Kubeless instanation

Document how to install the kubernetes and kubeless:

  • Document or present given documentation on how to install minikube
  • Document how to install kubeless
  • Document how to install Prometheus
  • Document how to create and use a function
  • Document how to expose the metrics (and also how to query them)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.