3
15 Comments

Feedback: Cloud database EasyEasy.io - accelerate your app creation process

Hey there. I developed alfa version of my simple cloud database with big ambitions(with ideology of ease of use and performance).
The key features:

  • it helps you start developing your app without thinking about database creation, maintenance, tuning and scale.
  • clients for the most popular frameworks make it realy easy to use
  • full text search, cache
  • free plan for 50MB

Why should you use it? Most of projects has a similar data storage architecture and there is no reasons to invent new copies of best techniques. Don't think of data replication, sharding, SQL queries optimization and caching.

Will be happy for your any feedback. If you're developing your own project then consider using EasyEasy.io as a storage. See docs here: http://easyeasy.io/docs

Main page: http://easyeasy.io

Thank you!

  1. 2

    I have also started a company in the BaaS space before and my advice would be to focus on the business sooner rather than later. As devs its natural to get drawn towards building dev tools because we use dev tools every day and have an intuition for how they should work. In practice, what I see is a lot of smart devs building really cool and functional platforms that end up struggling as a business. There are a lot of reasons for this but a few of the major ones are

    a) The market. Often these tools work best for solopreneurs and small teams. The problem is that there are not that many devs in the world esp. many devs who work on side projects so start thinking about how to get businesses to buy your product.
    b) In my experience, I see that devs treat BaaS platforms almost like a subscription to Netflix. Its something they are willing to pay $15 for because it is fun and easy to use but it's rare for an app to really take off to the point that you can charge a lot based off usage. At $15 a head per month, you need 67 thousand paying customers to hit 1M MRR. That's a lot of paying customers.
    c) It's an incredibly competitive space where your competitors are the richest most powerful companies on the internet. Think Amazon, Google, Microsoft who are able to run services at an extremely low margin.

    I do not mean to discourage you but you should start thinking about this sooner rather than later.

    My recommendation:
    Find a way to charge based on value instead of usage. Defining value is the hard part but if you find a way to clearly define the value you provide to an organization then you can slap a dollar sign on it. For example, if you can bundle this easy to use BaaS service as a product that you can sell to a sales organization, then you can say that your software saves sales agents an hour a day which equates to ~$30 bucks a head. You can then tell the head of sales (who runs a 1000 person sales org), if you pay me $5 a person and use my software then you save $25 a person. For you, that means $5 * 1000 employees = $5k MRR from one customer.

    Hope this helps and keep up the good work!

    1. 1

      Good points. I am going to pay more attention on business model.
      Thank you for recommendation!

  2. 2

    That's interesting. Which actual database is under the hood?
    And do you support the "code-first" approach?
    Do I understand properly that user doesn't need to create his/her own database connection, it's done automatically by your service?
    Thanks!

    1. 1

      Not sure should I show what is under the hood.. It's just alpha version, so there will be changes with growing up. I can just say that there is a traditional relational database, cache and search engine. All this automatically managed to deliver you best performance

      Yes. To add your objects to the storage you need just send them :) See docs for more info: http://easyeasy.io/docs

      Yes, you are right. There is no need to create connection. Again: http://easyeasy.io/docs :)

      1. 1

        Not sure should I show what is under the hood..
        I just want to know which database you use - MSSQL, PostgreSQL or anything else? I think it could be very important for end users and what you definitely will not change.
        One more question - do users will have an access to their database through a connection string? I mean do you disclose it to them?
        Thanks

        1. 1

          Have you looked at docs? Maybe it's not clear enough..
          In my view, it would be easier to access using simple clients or REST API(Also GraphQL in the future, I hope). And developers just use these clients and don't even care about which databases and technologies are behind the EasyEasy.io.
          So I don't see reasons to provide the standard SQL connection

          Thank you for your questions. May be it would be more clear if you try it. It takes 2 minutes to begin store your data in EasyEasy.io
          If you have more question, feel free to ask me:)

          1. 1

            Have you looked at docs? Maybe it's not clear enough..
            Yes I did, and didn't find any mention of your database.

            And developers just use these clients and don't even care about which databases and technologies are behind the EasyEasy.io.
            What makes you think so? Are you developer yourself?

            So I don't see reasons to provide the standard SQL connection
            Well, it looks like you are not dev... when you work on some app you always want to look at the data in database directly to make sure that they are what you expect. Of course, on later stages you create unit tests that do the work for you but until you have them, it's the simplest way to check out your data.

            May be it would be more clear if you try it. It takes 2 minutes to begin store your data in EasyEasy.io
            Why should I? I use SQLAlchemy in my Python project, it looks almost the same simple but it's free and I have an access to my data. Prove me that your product is better.

            1. 1

              What makes you think so? Are you developer yourself?

              Yes, I'm a developer.

              when you work on some app you always want to look at the data in database directly to make sure that they are what you expect

              The problem you explained can be solved with web administration panel(or other tool can be created to check your data, even by yourself).

              I use SQLAlchemy in my Python project, it looks almost the same simple but it's free and I have an access to my data. Prove me that your product is better.

              SQLAlchemy is an ORM as I know. And my project is like the next evolution step in working with data and databases.

              1. You can configure own SQL server, define your data structures and schema. Then use SQL queries in app to manually map SQL data to app objects

              2. You can configure own SQL server, and use ORM wich automatically manage SQL code generating and objects mapping. But there is SQL server maintaining problem still

              3. You can use my project, which automatically manages data storage accessable through the clients which like ORM clients. As bonus you got full text search, caching and other improvements and techniques(planned in future).

              Did you have sql query optimization tasks, full text search implementing, data replication, sharding? All this stuff is provided in my service as a service too

              It can save money and time in my view. That's why I'm testing this product and hope somebody find it usefull

              1. 1

                Hi, thanks for the comprehensive response!
                I don't need to implement 1 and 2. All I need to do is just to define a model, provide a connection string and run 2 line of code to generate everything in the database. Probably your approach doesn't require those 2 lines and that's good. I don't see any maintaining problems (yet :)
                So, yes, SQLAlchemy is ORM, and with python extension called Alembic they do exactly what you are doing. The same is about Node.js Mongoose - everything is done on-the-fly.
                I don't want to discourage you from doing your project. I just need to figure out your uniqueness and advantages.

                1. 1

                  "provide a connection string"
                  that means that you have configured sql server which will require your time for maintenance sooner or later(it could be performance problems for example). Such poblems are not supposed to appear using my storage.
                  Or for example if you want full text search, in traditional case you need to set up search engine and data syncying. In my case it is provided by default

                  The idea of my project is based on the assumption: many projects have similar data storage architecture, data access layer and needs.

                  I'm very gratefull for you. Because your questions and comments help me to determine a need of my solution and help to understand better and find my niche.

                  Thank you!

                  1. 1

                    that means that you have configured sql server which will require your time for maintenance sooner or later(it could be performance problems for example). Such poblems are not supposed to appear using my storage.
                    Not necessarily. If you host your database online they usually do all this stuff.
                    Or for example if you want full text search, in traditional case you need to set up search engine and data syncying. In my case it is provided by default
                    Maybe, I use this function very rarely.
                    Good luck!

  3. 2

    Congratulations for your launch! :-)

    How do you plan to differentiate from other BaaS vendors?
    Which use cases do you see EasyEasy the most appropriate for?

    1. 1

      Thank you, Omar! :)
      I don't think that BaaS vendors are my competitors. Because I don't focus on backend replacing but focus on replacing database+ORM(or raw SQL). In other words EasyEasy helps to build your own backend rather than replace it with BaaS.

      There are two use cases: it can be used for new projects(web, mobile), or as a replacement of database in existing projects. Importing from old databases will be implemented too! :)

      1. 2

        I don't focus on backend replacing but focus on replacing database+ORM(or raw SQL)

        This is a good target to have, but in practice, it feels to me you're solving the same problem than BaaS, no?

        I mean, as a developer, when I looked at the client, it feels very similar to what I'd get from Firebase for example. And I could use Firebase in the backend if I wanted (to answer your point "rather than replace it with BaaS"), almost as a drop-in alternative to EasyEasy.

        I also do not have to worry about database creation, maintenance and scaling.

        Please do not see this as an attempt to discourage you. I'm active in the same space and this a problem I'd really like to see solved, so I'd appreciate either understanding your product better, if I'm missing something, or help you find stronger differentiation points to the existing players in the market.

        1. 1

          Thank you for detailed description of your point!
          Agree with you that I should find more differentiating features from BaaS