PyCon Pune 2018

PyCon Pune

Building microservices with firefly

Submitted by Nabarun Pal (@palnabarun) on Sep 14, 2017

Technical level: Intermediate Status: Submitted


firefly is an open source micro framework to deploy Python functions as web services. firefly was created with the aim of simplifying the deployment Machine Learning models as RESTful API. But as fate would have it, it became our favourite tool for building microservices. firefly takes care of processing the HTTP requests, forwarding the data to the python functions and encoding the result back to a HTTP request. It also has data validation, authentication support, transfering any type of file. You can also define a configuration file specifying the URL resource structure resulting in an elegant RESTful API.

It comes with a client library that makes calling remote functions calling as easy as calling functions present locally. It is a WSGI application and can be deployed and scaled through any WSGI server like gunicorn. There are many other features in the pipeline like multiple authentication modes through the plugin system.


This talk will focus on introducing firefly, it’s notable features like plugin support, building microservices efficiently with various examples.

Slide outline:

  1. About me
  2. Microservices Architecture
  3. Comparison with monolithic architecture
  4. Design Patterns
  5. Forces in Action
  6. Solution
  7. Examples
  8. Benfits
  9. When to use?
  10. Who uses?
  11. Firefly to the rescue
  12. What is firefly?
  13. Why use firefly?
  14. Code
  15. Run
  16. Deploy
  17. Use (Client)
  18. Authentication
  19. Data Validation
  20. Canonical URL’s
  21. Plugins



The participants should have a basic notion of making web services and RESTful API’s.

Speaker bio

The speaker is Nabarun Pal, a final year undergraduate student at Indian Institute of Technology Roorkee. Currently, he is working for rorodata which aims at providing data scientists a platform to build and deploy their models without the need of worrying about infrastructure, scalability, and performance. He is working on an Open Source Functions as a Service framework called firefly.

He is passionate about software development. He can also talk about Internet of Things, Electronics, Robotics with equal spirit. His journey with the field of software and robotics started in his schooling days. He represents the college in various Robotics competitions and was involved in projects related to the above domains, brief of which can be found here. He actively participates in conducting open lectures for students in the domains of Introductory Robotics, Control, AI and ML through a curated community of around 2000 members. He is also spoke at PyData Delhi 2017.



{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}