graalvm

Discuss GraalVM related topics. Use clojure 1.10.2 or newer for all new projects. Contribute to https://github.com/clj-easy/graal-docs and https://github.com/BrunoBonacci/graalvm-clojure. GraalVM slack: https://www.graalvm.org/slack-invitation/.
zane 2020-11-20T03:09:17.147500Z

> I know JVM does not mix with Docker @nathantech2005 How do you mean?

lread 2020-11-20T15:54:19.148700Z

@nathantech2005, coincidentally the 20.3.0 webcast does spend some time talking about docker, you might want to watch: https://youtu.be/qH9C3kLbk9o

lread 2020-11-20T15:55:21.149500Z

@zane, I can only assume @nathantech2005 is talking about slower startup times with JVM apps. Is that what you mean @nathantech2005?

zane 2020-11-20T15:58:37.150100Z

That would have been my guess, but I wanted to be sure!

dharrigan 2020-11-20T16:30:13.151500Z

The issue of running the JVM on Docker has long been solved. We run hundreds of containers in docker swarms, with a mix of Java 8 and Java 11 and we have no issues since the improvements on the JVM detecting that it's running within a container.

dharrigan 2020-11-23T17:11:54.185Z

oh, swarms are pretty old now. kubernetes has won the mindshare.

hipster coder 2020-12-02T03:09:33.190400Z

do you think Kubernetes is here to stay?

dharrigan 2020-12-02T07:11:12.190600Z

Yes...until something inevitably comes along to replace it...

lukasz 2020-11-20T16:47:28.152400Z

Same. Slow starts are also no issue since container orchestration does 0-downtime deployments and waits for new instances to start, before shutting down older ones.

hipster coder 2020-11-20T17:03:54.152500Z

well… that is part of it… JVM takes too long to load inside docker… and then @borkdude was explaining there is a throughput vs performance/memory trade off

hipster coder 2020-11-20T17:05:07.152700Z

you know, I need to clarify what throughput means in my own head… I always think of when the data centers will throttle your speeds… as throughput… but then there is also the bandwidth portion… throughput is really speed x bandwidth = volume… 2 dimensions

hipster coder 2020-11-20T17:05:30.152900Z

e.g. speed of fiber optics vs copper

hipster coder 2020-11-20T17:06:10.153100Z

wow, seiously, cutting edge… swarms? what is that?

hipster coder 2020-11-20T17:06:51.153300Z

so you are saying start time is really moot, when you have 100s of containers, scaling up and down, ahead of time

hipster coder 2020-11-20T17:07:42.153500Z

I wonder why they made such a big deal out of just a few containers taking time to startup… when it becomes moot…. when there’s plenty of standby containers ready to take the load

lukasz 2020-11-20T17:08:34.153700Z

Because it is really painful if you're running a single instance of something. Which never should be the case and you always need 2 of everything for resiliency

tvaughan 2020-11-20T17:17:38.154500Z

We run our clojure apps in production in AWS, no problems. Though we'll move to podman eventually

hipster coder 2020-11-20T17:21:59.157700Z

ya, no idea why that docker presentation made such a big deal out of … JVM vs Docker

hipster coder 2020-11-20T17:22:30.158700Z

the only serious problems I ever ran into Docker, when on Virtual Box, OSX… was file management… files not syncing properly

hipster coder 2020-11-20T17:22:34.159Z

for local dev setup

tvaughan 2020-11-20T17:24:43.159800Z

There's no need to use virtualbox anymore. I haven't had a problem with shared folders on macOS for a very long time. Can't speak to Windows though

lukasz 2020-11-20T17:25:28.160600Z

@tvaughan oh, I thought that the file sync was busted on the mac - so I can edit files locally and have changes reflected in the container when using file watchers etc?

tvaughan 2020-11-20T17:25:37.160800Z

Yup

lukasz 2020-11-20T17:25:54.161100Z

Now I want to know when did they fix that :-)

lukasz 2020-11-20T17:27:13.163400Z

I'll give it a go again and see how it works in our setup

tvaughan 2020-11-20T17:27:51.164Z

The file system change event notifications didn't propagate, so you had to use a polling watcher. Wasn't terrible, but it was acceptable. I don't remember when things just worked 🙂

hipster coder 2020-11-20T17:28:24.164100Z

yea, file sync was busted on OSX, but that was on Virtual Box…. they changed to a new Mac OS VM… no more Virtual Box

hipster coder 2020-11-20T17:28:52.164300Z

it was a real bummer about 1.5 years ago… could not use Docker for a local dev setup… and I had been using Vagrant with Salt Stack before

hipster coder 2020-11-20T17:29:31.164900Z

@tvaughan how on earth did you manage to even fix that… with a polling watcher? You did that yourself?

hipster coder 2020-11-20T17:29:46.165200Z

did you hack Docker? hahahahaha

tvaughan 2020-11-20T17:30:42.165900Z

I set a configuration flag in the tools I used, or selected a polling watcher, like modd

tvaughan 2020-11-20T17:31:18.166200Z

shadow-cljs has such a flag, for example

hipster coder 2020-11-20T17:31:48.166400Z

so there is mods for Docker?

hipster coder 2020-11-20T17:32:27.166900Z

you know… that might be a really good answer to the “what’s the biggest tech problem you solved lately?” question

tvaughan 2020-11-20T17:32:35.167100Z

https://github.com/cortesi/modd

hipster coder 2020-11-20T17:33:37.167700Z

ok, that’s super cool.. you know what else that’s good for… watching for file changes, to hack stuff

hipster coder 2020-11-20T17:33:55.168500Z

last time I used a file monitor, was to watch dll files changing… and grab the passwords

hipster coder 2020-11-20T17:34:41.169200Z

ahh ok, yea, windows… crap… well, I am going to try it again, for Win/Linux/OSX… team of 10

hipster coder 2020-11-20T17:35:02.169500Z

I can’t evangelize everyone to Linux

tvaughan 2020-11-20T17:36:52.170900Z

Last time I had to use Windows was pre WSL and things mostly worked. I suspect things are much better now with WSL

hipster coder 2020-11-20T17:36:58.171100Z

So Windows is still using Virtual Box for Docker?

tvaughan 2020-11-20T17:37:25.171300Z

No, Hyper-V

hipster coder 2020-11-20T17:37:50.171700Z

ok, so with WSL…. my team can run Docker on Linux, inside their Windows?

hipster coder 2020-11-20T17:38:14.172400Z

dang, I would have thought Hyper-V would work awesome… I think that’s VMWare? right?

hipster coder 2020-11-20T17:38:21.172800Z

Hyper-V under neath VMWare?

tvaughan 2020-11-20T17:38:35.173100Z

Hyper-V is native to Windows

hipster coder 2020-11-20T17:39:13.174300Z

ok, maybe different. the terms get confusing… VMWare uses Hyper Visor

tvaughan 2020-11-20T17:39:14.174400Z

I wouldn't use WSL to run the docker deamon. I would use Docker Desktop. But WSL should be the best bet for running the client

tvaughan 2020-11-20T17:41:03.175200Z

https://docs.microsoft.com/en-us/virtualization/

hipster coder 2020-11-20T17:41:07.175500Z

ok, I am going to give it a try… honestly though. VMWare was the best ever for this stuff

hipster coder 2020-11-20T17:41:29.176Z

because I had the freedom to totally screw up the system… and restore it with backups

tvaughan 2020-11-20T17:42:23.176800Z

Same with docker/podman. Push images to a registry. Start over with docker system prune

tvaughan 2020-11-20T17:42:46.177300Z

I wish there was a way to push volumes to some kind of a registry too

hipster coder 2020-11-20T17:43:25.177800Z

like an off site registry, repo? so you can pull them down anywhere?

hipster coder 2020-11-20T17:43:56.178300Z

oh, you mean, just the volumes? include the entire drive, data, everything?

hipster coder 2020-11-20T17:44:06.178500Z

not just the docker config

hipster coder 2020-11-20T17:45:15.181Z

I would just be very careful… because if you mean the app… and there’s security keys, you don’t want that getting exposed

hipster coder 2020-11-20T17:45:23.181500Z

I woke up to a $25k bill from Amazon, one morning

tvaughan 2020-11-20T17:45:47.182400Z

There's not much in the way of configuration. A Dockerfile and everything else would be in a git repo, I assume. If you care about saving the docker images, those can be pushed to a registry. A volume is just data that's shared with a running container. A volume persists after the container has stopped.

lread 2020-11-20T17:46:20.182900Z

It’s not that I am finding this conversation uninteresting, but maybe it isn’t about GraalVM? There is a neglected #docker channel.

hipster coder 2020-11-20T17:46:21.183100Z

well, I am interested… how would pushing the volumes up to a repo… help you?

hipster coder 2020-11-20T17:46:31.183400Z

ahh sorry, let’s move it

tvaughan 2020-11-20T17:46:32.183500Z

Fair point @lee

lread 2020-11-20T17:46:55.183900Z

No problemo!

hipster coder 2020-11-20T17:46:56.184Z

#docker

hipster coder 2020-11-20T17:47:09.184300Z

@tvaughan join me there #docker I want to here this idea