Expertize: Complex Sites Minimum Viable Product
Technology: Amazon Web Services

Cloudflipper - cloud graphite

Cloudflipper main page

About product

Every product when it becomes big needs to collect statistics and metrics.

Typical uses are services like:

  • Google Analytics, but it's not quite handy for backend metrics
  • datadog.com - great service that allows setting custom backend metrics in your app, but it's fully closed and proprietary
  • graphite- it's open source tool written in python that store time-series data and show graphs based on this, but it's time-consuming to setup and maintain it for a small team.

Cloudflipper is a tool that takes all advantages of graphite, and also it cares on all setup and maintenance work. Think of it as cloud monitoring tool.

You can have personal graphite instance to which you can send any kind of statistics using different formats like: collectd, statsd, custom json.

Cloudflipper - features

First stage

We've started with stripe integration and then converted in full-scale development process.
While work we build Django app that handles all the user management and payment stuff.

Second stage

Next step was to handle actual statistics and metrics engine. As a core service, we have used graphite, which we adjusted to be compatible with Django app we wrote so a user doesn't need to authorize on them both. Graphite service is being deployed to Amazon EC2 servers per each user/team that use it. It full automized starting from preparing and EC2 instance for a user to creating separate DNS record using AWS Route53. It involved deep knowledge of AWS and system administration skills. To work with AWS from python we've used boto library which is great. To cover app with tests we've used moto which emulate responses from AWS.
The important part was to make a sophisticated backup system, it works on two levels, we periodically store the whole system including graphite installation. In addition, we store most critical parts like database separately. It's also handled using AWS API.

Customer: Saurabh Mohan, San-Francisco Bay Area, California, USA.

P.S.

We've got lots of experience working with Amazon Web Services API and graphite while doing this project. So, if you have a project in mind that correlates with those technology and don't clashes with CloudFlipper it would be interesting to work together.