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:
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!
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!
Good points. I am going to pay more attention on business model.
Thank you for recommendation!
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!
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 :)
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:)
Yes, I'm a developer.
The problem you explained can be solved with web administration panel(or other tool can be created to check your data, even by yourself).
SQLAlchemy is an ORM as I know. And my project is like the next evolution step in working with data and databases.
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
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
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
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.
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!
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?
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! :)
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.
Thank you for detailed description of your point!
Agree with you that I should find more differentiating features from BaaS