Cardano dApps are currently expensive to build, and require setting up infrastructure that is barrier for entry of new players.
Serverless software-as-a-service for building dApps as pure frontends+smart contracts. Decreases the cost of entry and maintenance.
This is the total amount allocated to StreamCardano: serverless infra
We build build software-as-a-service that will allow queries of Cardano blockchain status and receive notifications on updates.
Any Cardano developer may create a free account to get a developer access token.
This per-project access token will enable developer for custom queries of entire Cardano blockchain database, extracting details of the transactions, and smart contract redeemer data.
Minimal online IDE will be sufficient for test queries, and status page will allow confirmation that service is working flawlessly.
The platform will also allow real-time notification of the change on the blockchain by means of server-sent events, wallet script execution, or webhook calls.
When app will be deployed to production, then we will ask for a subscription fee to cover infrastructure costs. This service will allow building entirely serverless dApps.
Among our main deliverables will also be tutorials and example apps that developers can adapt to use our serverless service.
We will also provide developer support for Catalyst projects that want to use the service. This way we grow ecosystem, and share the cost and burden of infrastructure necessary for Cardano dApp projects.
Using software-as-a-service will allow shared cache and instant-on dApp building, beside using less electricity and money.
Solution will make dApp creation more accessible, support dApp authors and make Cardano much easier platform to develop on.
We want to make the self-sustaining product that fuels ecosystem growth.
To achieve this we focus on developer ergonomics. Developer support is primary driver of the project.
Milestones M2 and M3 will include free beta plans, and milestone M5 will fund the Customer Success Engineering. From M2 forwards, we will help our partners develop dApps, instead of just giving away a free but clunky service. To assure developer accessibility, milestones M1 and M2 fund observability of the platform development and availability.
It would be ideal to sustain free trial dev accounts for indefinite future, and make project self-sustaining using production apps only. At the same time, thinking about the choice of investing in ergonomics versus making the cheapest service, we know that wise investment will fuel the growth of the developer ecosystem.
That is why we want to prioritise support of the projects funded by Catalyst.
Hosting production apps on our serverless platform may be cheaper and greener than self-hosting, but still needs to pay for the infrastructure and engineering costs.
As for the cost of code review, platform audit, and pentest: In order to maximize value to Cardano, we selected with great care those review, audit and pentest providers that promise to deliver this service within our tight budget constraints.
How to make the project more cost-effective and impactful, while keeping it sustainable in the future?
Main challenges are threefold:
M1. Technology teaser: we will deliver technology teaser, where frontend apps are running:
M2. Closed beta: We will request users to register for closed beta of our serverless query service, and help them to develop their apps using this service.
M3. Public beta:
M4. Official release:
M5. Community Growth stage:
Costs per milestone
In case of running costs, they are described upon first milestone when they start to be counted.
Running costs over all milestones:
Detailed cloud hosting service costs for a full year:
Most of the AWS costs are for the Kubernetes (K8S) clusters that would host test, staging, and production environments.
I assume we need to host three environment:
We have tested an early alpha on configuration recommended by CardanoDBSync developer (32GB RAM, 4 cores, 80GB disk space), so we use this as a minimal node configuration.
Going below recommended configuration is not recommended on K8S, since they will split each node into different containers anyway.
Both staging and production environments should have at least one spare node to allow migration in case of hardware problem. Production environment should additionally have a replication of each service, so that failover is quick. That means that staging should have at least 2 nodes, and production should have a minimum of 3 nodes. We hope that the 4th additional production node and extra memory (64GB instead of 32GB) will be sufficient to accomodate user demand and production apps within the first year due to efficient multitenancy.
Here is the AWS cost breakdown:
A. Dev Kubernetes test cluster (single node) at ~200$/mo for 12 months: 2.4k$
B. Beta-test (staging) Kubernetes cluster with minimal node redundancy (2 nodes) for hosting beta-testers and trial users at 320$/mo for 12 mo: 3.84k$
C. Kubernetes cluster allowing service scaling (4 nodes, at least 64GB memory each) at 0.9k/mo for 8 months: 10.8k$
D. Hosting container images at ~100$/mo in ECR: 1.2k$
E. Storage buckets for website, documentation for 12 months (assuming 100GB/mo outgoing traffic to CDN) at 10$/mo: 120$
Notes on methodology of software development estimation
COSMIC function points methodology was used for estimation of development effort.
This methodology assigns one point of effort for each data piece entering, leaving,
or getting updated within a user story describing the application.
More details and software architecture diagram are provided in the PDF attachment.
We will publish the progress of the project by the following means:
Many Cardano dApp&Integration developers use our service to build their next Cardano dApp or Integration. They may deploy dApps using our serverless platform without the cost and maintenance of additional servers. Cardano developers would consider our platform as a first stop to develop and prototype Cardano applications.
This is a new project.
Our past proposal is here: https://cardano.ideascale.com/c/idea/383011
Goal 8. Promote sustained, inclusive and sustainable economic growth, full and productive employment and decent work for all (-> by making dApp deployment cheaper and more accessible and thus more sustainable)
Goal 9. Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation
10.3 Ensure equal opportunity and reduce inequalities of outcome, including by eliminating discriminatory laws, policies and practices and promoting appropriate legislation, policies and action in this regard (-> by making Cardano development equally accessible to all frontend developers)
7.3 By 2030, double the global rate of improvement in energy efficiency (-> by sharing multitenant SaaS infrastructure)
8.2 Achieve higher levels of economic productivity through diversification, technological upgrading and innovation, including through a focus on high-value added and labour-intensive sectors (-> increase value added by high level development platform)
8.4 Improve progressively, through 2030, global resource efficiency in consumption and production and endeavour to decouple economic growth from environmental degradation, in accordance with the 10‑Year Framework of Programmes on Sustainable Consumption and Production, with developed countries taking the lead
(-> Increase efficiency by using multitenant platforms for apps)
Key Performance Indicator (KPI):
7.3.1 Energy intensity measured in terms of primary energy used by hosted dApps as compared with independent dApps
8.2.1 Annual growth rate of real GDP per employed person by estimating increase in efficiency of dApp developers using SaaS
8.4.1 Decreased footprint, by estimating footprint used by SaaS-hosted dApps as compared with independent dApps
Migamake is company specializing in high performance Haskell projects, including parsing, data summarization, and blockchain services.
Our developers have already participated in Cardano development.
Some projects are here: