Fork me on GitHub
#pedestal
<
2019-02-22
>
ujjwalt14:02:43

Hi. New to Clojure and Pedestal. Looking at Vase. Can someone explain why the template doesn’t match the instructions on building your first API?

ujjwalt14:02:11

Also is Pedestal and Vase ready for production use?

ddeaguiar15:02:42

Hi @ujjwalt and welcome 🙂. I’ll take a look at the Vase docs. It could be that they are out of date. I’m not sure what your definition is for production use but both have been used in production systems. Pedestal predates Vase by a number of years, is highly configurable and supports high traffic usage scenarios

ujjwalt15:02:12

Yeah I meant if people have used it in production and that it won

ujjwalt15:02:16

*won’t crash

ujjwalt15:02:43

Little confused with Vase because of the mismatch. Any suggestions on what path to follow to understand it and start using

ddeaguiar15:02:21

I’d start with Pedestal first and understand it’s concepts

ddeaguiar15:02:23

Understanding Vase is much easier once you’ve got the basic concepts down

ddeaguiar15:02:47

Then I’d peruse Datomic docs to get a high-level understanding

ddeaguiar15:02:55

@ujjwalt, sorry you ran into issues with the Your first API doc. I can see that it uses the Fern api description format but the vase template is emitting the edn format. I’ll work on rectifying that but you can try working with an older version of that guide in the meantime https://github.com/cognitect-labs/vase/blob/6332b633c174fcfa40efef56d3cd0a57cd2033f8/docs/your_first_api.md

👍 5
ujjwalt15:02:37

Thanks a lot @ddeaguiar. I’ll start there. Will get back if I encounter something else.

ujjwalt15:02:31

Quick questions: Specifically when does one use ions vs Vase? What would be the ideal use cases for both provided we are on AWS.

ddeaguiar16:02:35

It’s on my todo list to put out an example of Ions + Vase now that datomic client api support has landed on Vase master. Note that we’ve yet to push out a release of Vase with those changes

ddeaguiar16:02:46

Vase’s value proposition is in data described services. Using it, you can build services quickly

ddeaguiar16:02:04

Ions allows you to deploy code that runs on the Datomic infrastructure - close to your DB. In the process, it facilitates deployments.

👍 5
ddeaguiar16:02:43

If you are working with Datomic Cloud, then there’s likely a place where Ions are a fit for you

ddeaguiar16:02:52

In fact, re: Ions, they run within the Datomic process

ddeaguiar16:02:20

so your application is running in the database. You can’t get much closer to your data than that

ddeaguiar16:02:32

and you benefit from autoscaling, etc…

ddeaguiar16:02:24

There are some caveats, you may run into dependency conflicts but the tooling around identifying, describing and resolving those has improved

ujjwalt16:02:47

I see. So there’s a use case for using Ions + Vase? Like deploying Vase services as ions? That would be pretty cool. Or maybe deploying it as an API gateway?

ddeaguiar16:02:20

I’ve not tried deploying Vase via Ions yet but see no reason why that wouldn’t work. It’s just a Pedestal service and we have a Pedestal Ions interceptor chain provider https://github.com/pedestal/pedestal.ions

💯 5
ddeaguiar16:02:59

but we’d need to release an updated version of Vase first containing Datomic Cloud support (currently on master)

ddeaguiar16:02:03

I also think Vase + Ions is cool!

ujjwalt17:02:29

That sounds very interesting. Any possible timeline on Vase Datomic Cloud support release?

ddeaguiar17:02:21

I’m hoping in the next few weeks

ujjwalt17:02:43

And any update on the pedestal docs on the website. A lot of links don’t have articles

ddeaguiar17:02:07

Ongoing work in progress

ujjwalt17:02:56

Cool. Thanks a lot.