Datomic cloud "Fulfillment Options"



Just getting started with datomic clould/ions, for some projects (I’m new to datomic & aws)

Wondering what are the options for configuring production services and if there’s any middle ground between solo & production. As a possible new “Fulfillment Option” or a recipe for customization.

My main concern is that solo partially fits my requirements but from what I understand it does not have a “Application Load Balancer”.

This means that I can’t have 0 downtime for code deploys an more importantly I’m stuck with pinging lambdas so that the’re wormed up, aws says they will fix the huge cold start for lamda VPC in the future, but from what I understand you’re working on a new feature for API-gateway to call ions directly if there’s a network load balancer available https://www.youtube.com/watch?v=thpzXjmYyGk&feature=youtu.be&t=4088

My current use-cases are:

  1. Develop mini-applications for my company. The apps are relatively small, we’re a python shop and already have substantial bills on aws. I’m pushing for clojure & datomic, because of the developer experience. Solo should be more than enough (3k-10k entities) and not a lot of traffic, but justifying server bills of ~300$ for production setup is pretty hard and solo is pretty limiting without a load balancer, especially if we have a SLA for those mini-projects.

  2. Rewrite my personal projects in clojure + datomic cloud. I’m flipping the bill there with not much profit, mostly developing them to experiment and have a production show-case app for future larger projects. Ex http://www.infodogs.co.uk/ It’s not that big of a project in terms of db size and I try to keep server bills as low as possible. Right now it kinda runs for free on google appengine free quotas.

Not exactly sure how to best go about keeping the server bills low and still getting the datomic experience and using it for all of my projects. So far I’m thinking of:

  1. Having a mono-repo with all my mini-projects on a production setup, having multiple databases and splitting the bill. (messy at best)

  2. Having a production setup for the small apps I develop, changing the auto-scale to 1 instance and on code deploys adding 1 more instance then after deploy and testing scale back to 1 to lower the bill to about 150$ a month. Not exactly sure this would work (docs say 2 or more instances).

  3. Ideally. If datomic cloud would have another option “mini projects” that has the solo setup with load balancer and multiple EC2 instances. Don’t know if there are any technical limitations around this. Noticed that datomic is billed separately, personally would be really happy to pay more for datomic, that’s easy to justify vs having i3.large for projects that don’t need those resources.

I realize these are probably not priority use-cases, really low scale projects and low return of investment for datomic. Just asking because this is where I’m at now, can’t really use datomic on larger projects until I have some proven success & learn it well by doing smaller ones, solo really helps but would really be great if there was another option closer to production or a recipe for adding load balancer to solo.

Thank you :slight_smile: