Fork me on GitHub

@dominicm at least you were only swabbed 😉 @paulspencerwilliams I stuck my finger somewhere I probably shouldn't have 😂 I removed the cover of the bathroom extractor fan to try sort an issue out and tried pressing on something (the light switch which the fan is connected to was off) and I got a shock. I'm pretty sure the guy who installed the fan took some shortcuts


@yogidevbear that sounds, uh, exciting?


Haha, it was definitely going against my better judgement


How are you doing today @otfrom?


good thx. Happily ensconced in my home office


All good here.


moin moin morning


Does anyone know of a good primer for setting up a Linux / Docker / Clojure production environment?


Morning Thomas


morning @yogidevbear how are you today?

Rachel Westmacott09:11:32

@yogidevbear iirc there are docker images for leiningen and boot if that helps


Cool, thanks Peter. Doing well Thomas. How are things in the Netherlands? (You are in the Netherlands right?)


yup, I am in the Netherlands... very wet and dark here.


the darkness (in the morning mainly) is due to the fact we basically have the time of Berlin here while we are a lot closer to GMT


I thought i'd get away with it, but my ride in this morning was definitely wet...


@carr0t how long is your ride?


About 30 minutes. 25-28 actual pedalling, up to about 35 when you factor in waiting at lights etc. Pretty much bang on 7 miles


that is long enough to get very wet! Mine is just under 2k.


but you have all those hills to consider @thomas :snow_capped_mountain:


of course!!! and steep climbs as well... and only up as well, both ways :thinking_face:


Yeah, I'm in Manchester. 25m climbing one way, 40m the other


Such hills


my worst climb is about 20 cm's 😁


i have 500m to 700m of climbing on my regular ride, depending on which way i go


shocking, I know.


What distance is that over? 700m over 65km is easy, 700m over 35km would be hard (for me)


my rides usually start with 250-300m over 10k 🙂


I think it's 700m over 0.3km


@carr0t 500m over 20k, 700m over 25k. up down and around the south downs


haha, using strava converted me to metric for cycling


I normally consider anything around/more than 1000 feet every 10 miles to be really hard. Most of the club rides end up about 1500-2000 ft in 35-40 miles


I have my Strava set up to tell me stuff in imperial


I did 3500 ft in 32 miles a few months back and almost died


that's a lot of climbing in not a lot of distance. where was that ?


i had a fun ride in Gran Canaria a few weeks ago, 2000m gained in 42km 😄


and then about 40km of descending, followed by 20km of flat tailwind


And here's me trying to run 10km 😆


@mccraigmccraig Peak District. I'm in south Mancs, cycle club is based out of a small town a few miles south of me, so our rides normally go either south into Cheshire or East into the Peak District


Same ride I hit my fastest so far, which was 46mph on the way down, after a long climb


ah yes, i’m over in Sheffield so on the other side of the Peaks


And I've done a century once, which was about 6000-6500 ft of climbing, including the 'longest constant hill in the UK', which is steep in parts (17% IIRC), but mostly around 7% or so, for 5.5 miles / 9 km


They even have km markers across the whole width of the road as you climb


@yogidevbear don't develop clojure in a docker container


it's a pita, and not worth the effort.


Okay. How would you go about auto-scaling and load balancing, etc, for a large Clojure project?


We're using EC2's auto-scaling, with the ALB's load balancing.


Feel free to do it on docker for prod.


But you lose things like "jump to source" for dev if you do this.


@carr0t ah, my hometown - i'm from heald-green<cheadle<stockport


Yeah, EC2s with ALBs and AWS autoscaling is how we do it too


@mccraigmccraig Oh cool. Yeah, I'm just down from Parrs Wood, right on the border of Mancs as you head over the mersey out to Cheadle. I head out through Heald Green to get to the club down in Alderley Edge


i'm just outside brighton now... very close to the south downs, but they aren't nearly as varied as the peaks


@yogidevbear also EC2 / ELB / auto-scaling here


With everyone talking about deployment choices… IF you were going to deploy in Production on Docker, would anyone use ECS, or is the consensus to go with K8s..? Also, @yogidevbear, I agree with @dominicm wholeheartedly re development for Clojure - it’s not worth the pain working in a container… However, it might be worth your time to use containers for DBs and other infra, like Elasticsearch, PostgreSQL etc. I do that and find it useful, but YMMV. Of course if you are deploying on Docker you are going to need to have a baked-in, first class citizen process to containerise your app past Dev… I would imagine I would do that by having a dev-stable step where I’d build an überjar and containerise that, to make sure it all works, but others may see this as an unnecessary complication, I dunno… It’s what I would do 🙂


> However, it might be worth your time to use containers for DBs and other infra, like Elasticsearch, PostgreSQL etc. Why would you want to spend time taking care about DBs when you’ve got the likes of RDS for it ?


I mean locally


Obviously RDS WINS in production / remotely


I like having containers for DBs etc locally as it means i can version match without jumping through hoops - just grab the container with the appropriate version 🙂


ah, yes, that makes sense


If you are deploying to the likes of Marathon/DCOS then you’ll need the app containerised. I’ve done it a few times on various tihngs.


@maleghast i was happy with mesos+marathon for ages... just moved everything over to dc/os (which is the evolution of mesos+marathon) and that seems cool - i've got all my persistent stuff - kafka/cassandra/elastic running under dc/os now


(previously the persistent stuff was deployed separately, 'cos mesos resource allocation wasn't sufficiently capable. it is now)


We've used both k8s and ECS. ECS doesn't seem to have the service abstraction that K8S has so we're currently thinking of moving back to K8S


A benefit of ECS is you can manage it via the AWS console but when we were using k8s we were happy enough with the command line utils


@davesnowdon being familiar with K8S do you know why someone would want to run it on top of DC/OS ? mesosphere have been shouting about that capability recently but i don't understand why


@mccraigmccraig I don't have any experience with DC/OS. Maybe if you really want to use K8S; running it on top of DC/OS makes the host management easier as K8S didn't provide any support for that back when we were using it. on the face of it though seems like more hassle than just using DC/OS to run the workloads directly


This is pretty interesting, but it does mean that I need to investigate DC/OS so that I can understand if it’s appropriate to my needs. I had already kinda decided that Mesos + Marathon was a lot of heavy (if very good) tech that I probably didn’t need.


As such I was planning to deploy a K8s cluster with Kops, but perhaps I’ll reconsider… Thanks 🙂


what is making you reconsider dc/os @maleghast?


I did not know it existed, so I’ve not considered it…


(I am just reading the dc/os webpage on K8s on dc/os as it happens)


yeah @davesnowdon, i don't know K8S but my thoughts were the same - it seems like unnecessary hassle. maybe all the noise is just for box ticking or marketing reasons


Opportunity to give a lightning talk at #clojurex - one of our speakers has dropped out, so if you would like to speak please get in touch (either here or john at jr0cket dot eu ). Thanks


@mccraigmccraig - Based on reading the dc/os page on it, I thought it was so that you can migrate K8s infrastructure to a wider dc/os environment that handles other targets than Containers and Container Orchestration, so that you can leverage DC/OS to do real machine and virtual machine clustering as well as clustering to host Container Swarms. I may be wrong about that, but I think that they are playing to capture market share.


uh @maleghast pretty much everything in dc/os runs in a container i think... either in a docker container or mesosphere's own container runtime - iirc you can run shell commands as a mesos job, but it will still get dynamically wrapped in a container for isolation


I haven’t dug deep enough to know that yet, but that does explain why you would see K8s on top as utterly irrelevant.


yep - DC/OS and K8S look pretty much like the same thing


except one is a media darling, whereas the other one a little bit less so


haha, but which one is which @dotemacs ?


I think that the difference is that K8s is ONLY for Containers, whereas (though it uses its own container to achieve the result, thanks for explaining that @mccraigmccraig) Mesos and therefore dc/os can be used to cluster other kinds of work and indeed “real” machines. K8s can’t manage metal alongside Containers, at least not as far as I know.


That’s not what I am saying. Mesos can be used to manage actual__ machines as well as fleets of containers. K8s is a technology for building a cluster which can host Containers, but it can’t manage actual__ machines. Of course it can be run on actual__ machines, but you can’t use Kubernetes to administer a physical cluster of machines. You need a physical cluster to run it, but you can only deploy containers into it. DC/OS and Mesos both talk about themselves as Cluster Management Technology for workloads beyond Containers.


I may be barking up the wrong tree AND failing to express myself clearly - these are both things I have “form” for…


I was at least under the impression that Mesos DC/OS could be used, for example, to manage a group of physical machines that are being used, natively, as a Hadoop Cluster. You can run a Hadoop Cluster on K8s, but all the nodes in the Hadoop Cluster will actually be Containers, ’cos K8s can only manage Containers. Has that changed / have I always been wrong about this distinction?


well, given a mesos-framework for hadoop and a group of machines running dc/os then you can run hadoop on dc/os - but the machines have to be running dc/os first, and all the hadoop processes will be running in containers determined by the mesos-framework


Ok, but not Docker Containers, and Mesos will run a wide an varied selection of workloads, yeah?


K8s can only deploy Docker Containers (I guess it might be able to run other Containers, I don’t know__ that it can’t)


I think it’s only a semantic difference really, but my thinking was that the DC/OS people might want to allow people who are already invested in K8s as their deployment target for Docker Containers make use of DC/OS to manage their metal above and beyond K8s and complect their K8s environment into a larger DC/OS environment that is also managing non-Docker workloads..?