Fork me on GitHub
#clojure-europe
<
2022-03-26
>
genRaiy09:03:50

Good morning

genRaiy10:03:23

Is it just me or is development fun and deployment a drain? I feel like I'm being gaslit whenever I hear praise for the ease of use for any cloud platform.

practicalli-johnny10:03:11

@raymcdermott I found trying to understand someone else's terraform scripts to be very painful, especially when others on the team weren't able to explain them. Having a nicely setup pipeline where developers only need to interact with Git is a more 'fun' experience. I found Heroku did this best, if following fairly standard project types. If someone spends a few weeks (or years in a corporate environment I worked in) setting up a kubernetes pipeline, then that can be fun (argoCD is a nice tool to visualise deployment). There were 3-5 small, specific config files needed for a new project that only had minor changes between projects. There is definitely something missing in the DevOps world if engineers have to spend weeks/months settings up deployment and still find it painful. AWS seems to be the worst experience, so obviously it's the most popular... 😭

😿 1
javahippie11:03:04

Good morning

borkdude11:03:59

The google cloud experience is arguably a little easier than AWS

borkdude11:03:31

But then again, when will they cut out the service from underneath you when they decide they're going to do something else? ;)

😂 1
javahippie11:03:21

We are running K8S on DigitalOcean and the Pipeline on CircleCI. There is a CircleCI Orb for Digitalocean which makes interaction with Kubernetes from the pipeline less stressful

javahippie11:03:32

Our Deploy step just looks like this:

deploy:
    docker:
      - image: circleci/clojure:openjdk-17-lein-2.9.6-bullseye-node-browsers
    steps:
      - checkout
      - buildevents/with_job_span:
          steps:
            - k8s-do/install 
            - k8s-do/initialize:
                cluster: <xxxxxxxx>
            - k8s/update-container-image:
                container-image-updates: <name>=<xxxxxxx>image:${CIRCLE_SHA1}
                get-rollout-status: true
                record: true
                namespace: xxxxxx
                resource-name: deployment/xxxxxxxxxx
            - slack/notify:
                event: fail
                template: basic_fail_1
            - slack/notify:
                event: pass
                template: success_tagged_deploy_1

genRaiy20:03:04

Docker tho

genRaiy13:03:26

💄 (your stuff) meet 🐷 (k8s)

javahippie13:03:22

Makes for a pretty pig, at least ¯\(ツ)

😂 1
borkdude11:03:17

This might also be interesting to look at: https://fly.io/

👀 1
borkdude11:03:14

I still want to deploy some nbb or bb stuff on there, I've met them through Nextjournal

mpenet12:03:16

ArgoCD is indeed quite nice

mpenet12:03:44

And at least there's no vendor lock in

mpenet12:03:59

We have a quite nice setup at work. All manifests & co are written in edn (aero), kept close to the code they depend on. As a dev you barely have to know stuff runs on kube. Part of this stuff would be open sourced soon'ish iirc

❤️ 1
genRaiy12:03:04

K8s is another gaslighting experience

mccraigmccraig13:03:54

lol, maybe i don't know i'm being gaslit! i quite like our K8S experience there's definitely a steep learning curve, and i'm much much happier using AWS/EKS rather than self deploying, but the fundamental small-verb-set-acting-on-extensible-noun-set approach is great - K8S operators for e.g. kafka make some parts of our life very easy indeed

genRaiy15:03:14

You're gaslighting yourself at this point 😂

😂 2
genRaiy12:03:38

Heroku ftw @jr0cket ❤️

genRaiy12:03:12

Git push to deploy. Yes!!

genRaiy12:03:30

Everything else is a scam

genRaiy12:03:46

Yes this is weekend opinion time :)

mpenet12:03:01

Yeah with ArgoCD that's what you get

mpenet12:03:22

Or can get

genRaiy12:03:17

@mpenet it's what we want

genRaiy12:03:30

Or at least what I want

genRaiy12:03:59

Don't tell me I've got to scale 😂

genRaiy20:03:15

I'll take a look 🙏:skin-tone-3:

genRaiy20:03:12

Looks like Heroku. No bad thing.

borkdude20:03:14

and scalable

genRaiy11:03:59

Heroku is also scalable. Do you mean it's cheaper?

borkdude11:03:51

I thought you were implying here that you had scaling problems and I assumed you were using heroku since you loved that. https://clojurians.slack.com/archives/CBJ5CGE0G/p1648297319056029

genRaiy12:03:56

No I just meant that scaling is rarely a problem

👍 1
genRaiy12:03:48

But often used as excuse for complex deployment options

👍 1
borkdude12:03:23

says mr. Blockchain ;)

genRaiy13:03:52

Security remains the most genuinely complex problem of all. Don't want to ruin the jokes with serious discussion though.

genRaiy13:03:30

clj -Mmy.stuff

genRaiy13:03:44

That's what I want

genRaiy13:03:05

If these places do it, I'm there for it

emak13:03:45

As we are in #clojure-europe I suggest https://www.clever-cloud.com/ git push deployment PaaS If you have strong security requirements, these guys really know what they are talking about.

genRaiy19:03:24

I'll have a look. Anything like Heroku works for me.

lread14:03:40

fine forenoon!

mpenet15:03:24

Exoscale has a good managed kubernetes offering as well

mpenet15:03:57

And it happens to be orchestrated with Clojure :)

clojure-spin 7
practicalli-johnny17:03:33

Red hat OpenShift has a fairly okay experience for the 'enterprise' (so long as someone else sets it up and pays what I assume are noticable costs for it). I assume ArgoCD is more appropriate if the company is not one of the largest global financial institutions 😂

genRaiy19:03:38

They're likely on several IBM mainframes, er, enjoying life 😂

genRaiy21:03:35

I'm not a fan of things that sit over things like for example API Gateway. But then you look at API Gateway and you would kill for anything to avoid needing to use it directly.