Where do you guys host you Kotlin-based servers? I...
# server
m
Where do you guys host you Kotlin-based servers? Ideally where you can also have a MongoDB running. Currently I use Heroku + MongoDB Atlas but performance wise it doesn't seem like a good fit 🤔
t
I’m using with AWS. I’ve never worked with Heroku. Are you using peering strategy (https://www.mongodb.com/blog/post/integrating-mongodb-atlas-with-heroku-private-spaces)?
m
@thiagoretondar im not using VPC peering. As per my understanding it only helps with data protection, not with performance. Both Heroku and MongoDB run on top of AWS so the performance benefit of adding VPC should be negligible. Problem with most cloud providers which aren't highly focused is that they have a high cost of operation. I'm trying to find a service which gets Java/Kotlin servers + MongoDB databases just right. Mir maybe I have to move away from MongoDB if that is the curlpit.
v
I’m using Scalingo, since I wanted to have my MongoDB hosted in Europe and by an European copmany (pretty similar to heroku): https://sclng.io/r/a3cd6268ba623f3b
m
What’s the experience with latency/performance, reliability & ease of use?
v
well, we use it since several years on thousands of concurrent user-sessions. so i would say that it is very reliable and easy to user. latency/performance: easy db queries finish in < 1ms from my application to the mongodb, so it is below the measurement error 😄
m
Awesome, I’ll give it a shot, thank you 🙂
d
I run all my server-side kotlin code in AWS ECS and Lambda. ECS=Docker , Lambda='FAAS"="Functions as a Service' Kotlin/JVM for both -- it works well, the difference between Java and Kotlin doesnt have any impact on this at all. Kotlin works identical as Java in a Lambda, and in ECS. I use both an embedded Jetty runtime container and "jib" based container. jib=Googles plugin to Gradle for producing minimized containers for JVM based deployments. For all purposes, the detail that the source is "Kotlin" vs any other language is mostly unimportant -- and entirely not-detectable for any runtime that is expecting a Java component. Re VPC Pairing -- I believe there is a performance difference then without it due to without VPC Paring all network connectivity has to leave the AWS private network and back. This incurs a performance and a IO expense. Peering has a cost also $.01/GB each way