HNHacker News
TopNewBestAskShowJobs

alexellisuk

7,439 karma · joined March 31, 2016

Founder OpenFaaS + inlets + actuated. https://www.alexellis.io/
submissionscomments
alexellisuk··on Scaling ARM Builds with Actuated
Hi, I'm the founder of actuated, and this is a case study published by one of our customers. If you can think of anyone who might benefit from quicker Arm builds, or saving costs on larger runners for x86_64, feel free to send them our way.
alexellisuk··on Amazon acquires Fig
First time hearing of fig, other than when the name was used for a precursor to Docker Compose.

Is this effectively very similar to Atuin?

https://github.com/atuinsh/atuin

alexellisuk··on Calyptia fixed its Arm builds whilst saving money
Hi, Alex here the founder of actuated. We have a case study from Calyptia, who many of you will know is the main sponsor and maintainer of the CNCF project Fluent Bit. Patrick came to me with failing Arm builds due to the slow nature of QEMU they took 6 hours before falling over.

After adopting actuated, they went down to 4 minutes.

Since then Patrick's been moving AMD64 builds over and seeing good improvements on those builds too - and most importantly, whilst they are paying us for a service, they're saving money too.

Alex

alexellisuk··on K2d – Kubernetes to Docker Translator
This is a new project from the Portainer team.

"k2d - Kubernetes to Docker Translator"

The use-case is for edge and seriously constrained devices.

Not quite Docker, not quite K3s. Have a read of the docs and license - what do you think?

alexellisuk··on Update your AMD hosts now to mitigate the Zenbleed exploit
Thanks for the comment about Windows. I get to live in a world that's Linux-based, and it's wonderful.
alexellisuk··on Update your AMD hosts now to mitigate the Zenbleed exploit
The Zenbleed exploit was announced about a week ago, however the Register wrongly and dangerously claims that it doesn't affect QEMU or "any form of emulation".

We were able to run the exploit inside of a Firecracker VM with KVM, and of course Docker, K8s etc has the same set of issues.

Short story - if you're running an AMD CPU, check the exploit (it's very quick) and update your OS.

alexellisuk··on Automate Packer Images with QEMU and Actuated
Hi, I'm Alex the founder of actuated. Han from our team wrote up a guide on how to use Packer and nested virt within a GitHub Action (something you can't do with the standard hosted runners, and which is questionable with K8s-based runners)

Feel free to tweet to @selfactuated or @alexellisuk with questions and comments.

alexellisuk··on Secure CI for Gitlab with Firecracker MicroVMs
I'm Alex the founder of actuated (and you may know me from OpenFaaS too)

We have a tech preview of our work with actuated and we're looking for self-hosted GitLab customers to reach out and try it.

Feedback would be appreciated via Twitter or the form on the blog post: https://twitter.com/alexellisuk

Thanks for the support

If you'd just like to know about why we think Firecracker is the right option for CI, check out my talk about the tech and how it compares to containers at Cloud Native Rejekts Amsterdam - https://www.youtube.com/watch?v=pTQ_jVYhAoc

Alex

alexellisuk··on Build a Multi-Tenant Functions Platform with OpenFaaS
Hi, my name's Alex and I'm the founder of OpenFaaS. We've had a long history of open source and commercial users building platforms and multi-tenant experiences on top of OpenFaaS.

This was one of those blog posts that I had on my list for a long time. I've finally gotten around to writing it to help a new customer onboard.

What else do we need to consider adding to the overview/guide?

Alex

alexellisuk··on Deploy your existing containers to OpenFaaS
Hi, I'm Alex the OpenFaaS Founder.

I had this question today and it's been covered before, but a long time ago. So here's my latest and most up to date advice:

> When you look under the hood at an OpenFaaS function, you’ll find that it’s represented by a Kubernetes Service and Deployment object. That’s the same primitive that most Kubernetes users will be using to deploy just about anything they build to their cluster.

> So if a function is just a Kubernetes Deployment, how easy is it to deploy an existing container to OpenFaaS?

alexellisuk··on Walkthrough of Identity and Access Management (IAM) for OpenFaaS
Hi, I'm Alex the founder of OpenFaaS. This is one of our largest pieces of work for OpenFaaS since we started a commercial company in 2019 to make the project sustainable through an open-core model.

I know a lot of companies use our free Community Edition (CE) in production. If you'd like to support the project, please consider becoming a sponsor via GitHub, checking out what OpenFaaS Standard/Enterprise offers over and above CE or sending us a PR to the ADOPTERS.md file in the openfaas/faas repo at the very least.

Thanks,

Alex

alexellisuk··on Cloud Run jobs and second-generation execution environment now GA
The most interesting part of this for me?

> We were able to achieve these improvements because the second generation execution environment is based on a micro VM. This means that unlike the first generation execution environment, which uses gVisor, a container running in the second generation execution environment has access to a full Linux kernel.

They moved to microVMs.

> Then we switched to the second-generation execution environment and it sped up our boot time by 4x!

And they were 4x faster to start-up than containers with gVisor were for at least this one customer.

alexellisuk··on The internals and the latest trends of container runtimes [pdf]
Thorough notes by containerd maintainer Akihiro Suda (NTT)
alexellisuk··on Understand your usage of GitHub Actions
If you omit sudo, then you can move the binary yourself.

And of course, there's nothing stopping you visiting the releases page - or installing my tap and getting it from Brew!

https://github.com/alexellis/arkade/releases

alexellisuk··on I built my own learning-by-doing platform
I'm not the author of this platform or article, but I do follow Ivan and think this is a good read, up to his usual very high standard.

I'm particularly interested because I've done a lot to explain and use Firecracker through my own content and products - a lab to convert a Docker image to a microVM - https://github.com/alexellis/firecracker-init-lab

A deep-dive webinar on Linux internals and microVMs with myself and Richard Case - we've both built projects/products with Firecracker - Liquid Metal and actuated - https://www.youtube.com/watch?v=CYCsa5e2vqg

More recently I spoke at Cloud Native Rejekts on - Face off: VMs vs. Containers vs Firecracker - including why DIND and Privileged containers are a poor fit for CI - https://www.youtube.com/watch?v=pTQ_jVYhAoc

alexellisuk··on Understand your usage of GitHub Actions
Hey, Alex the founder of actuated here, OSS developer and Go enthusiast.

We wrote a simple Go CLI to retrieve and format this data from the GitHub API. My favourite thing is being able to run it in a GitHub Action - screenshot at the end of the post.

> Whenever GitHub Actions users get in touch with us to ask about actuated, we ask them a number of questions. What do you build? What pain points have you been running into? What are you currently spending? And then - how many minutes are you using?

> That final question is a hard one for many to answer because the GitHub UI and API will only show billable minutes.

alexellisuk··on Secure CI for Gitlab with Firecracker MicroVMs
Hi folks, I'm Alex the founder of actuated (and you may know me from OpenFaaS too)

We have a tech preview of our work with actuated and we're looking for self-hosted GitLab customers to reach out and try it.

Feedback would be appreciated via Twitter or the form on the blog post: https://twitter.com/alexellisuk

Thanks for the support

Alex

alexellisuk··on Faster Nix builds with GitHub Actions and actuated
A note from my colleague Han that wrote this article

> I often deploy faasd with NixOS on a Raspberry Pi and to the cloud, so I build binaries for both x86_64 and aarch64. The build usually runs on the default GitHub hosted action runners. Now because GitHub currently doesn't have Arm support, I use QEMU instead which can emulate them. The drawback of this approach is that builds can sometimes be several times slower.

alexellisuk··on Build a serverless Discord bot with OpenFaaS and Golang
tl;dr - learn how to build a webhook-driven bot for Discord. It was harder than I thought, but now it's available for anyone who wants it :)
alexellisuk··on Tunnel via Cloudflare to any TCP service
Hi, I'm the author of Inlets. We've seen a recent rise in users looking to tunnel TCP traffic w/o these kinds of hacks and additional tools.

I wrote up a quick guide back in early May - seems relevant to this article as one of the newest users couldn't get Cloudflare to work with TCP how he wanted.

https://inlets.dev/blog/2023/05/04/expose-local-tcp-ports.ht...

alexellisuk··on Show HN: Build a serverless Discord bot with OpenFaaS and Golang
> If you’ve ever tried to build a bot in the past, you may have noticed that they often rely upon a long-lived websocket. This means that your code needs to stay running all of the time, as a daemon.

> A serverless approach means writing efficient, stateless functions that respond to events and can be scaled independently. They only need to run when an event is available and can be scaled down to zero when not in use. Fortunately, most platforms that support websockets, also support webhooks for responding to events.

Code repo for this write-up: https://github.com/alexellis/discord-to-zoom/

alexellisuk··on Sainsbury's forced to defend new vacuum-packed mince that 'turns to mush'
I thought this was a rather odd choice of packaging, but assumed it was about being "eco". Has anyone else seen this kind of packaging where they live? Thoughts on it?
alexellisuk··on Comparing K3s with vanilla Kubernetes
I'm a big fan of K3s, however managed Kubernetes from a large cloud vendor with a track record has a lot to offer when it comes to reducing management and the need for an SRE for K8s itself.

Folks might also be interested in two free resources:

1 - K3sup https://github.com/alexellis/k3sup - the author mentions HA K3s - K3sup is an easy way to get that using SSH. It's also a good pairing for K3s with Raspberry Pi 2 - Kubernetes at the Edge with K3s (CNCF / LF course) - I was commissioned to write this and I talk a lot about the differences and also the origin story of K3s and what Darren was aiming for.

Have fun with Kubernetes - whichever flavour you go for.

alexellisuk··on Lessons learned managing GitHub Actions and Firecracker
Hi, I'm the founder of actuated.

We don't think that Docker in Docker is safe for CI, neither is mounting a Docker Socket.

We also think that managing runners is boring and time-consuming.

So we've automated it, and secured it with Firecracker.

This article talks about some of the challenges we've faced, and lessons we've learned working with pilot customers so far.

Alex

alexellisuk··on Show HN: PizzaGPT – ChatGPT clone accessible from Italy
Are there any technical details about this website and how it works?

I asked it to quote Marcus Aurelius, then for 5 more similar quotes - it didn't get the context that I meant from the same person and found 5x others. But otherwise it was very snappy and I've seen similar results from ChatGPT.

For "Write an openfaas function with the python3-http templates to convert from text to speech" (something I saw a community member share) - it did a much worse job (just showing how to access Amazon Polly) - it also didn't have any styling or code blocks.

I'd be interested to know more about the model that's being used here.

alexellisuk··on Lessons learned managing GitHub Actions and Firecracker
Hi, I'm the founder of actuated. We've been building a SaaS to help customers run their CI workloads in secure, isolated Firecracker VMs - to improve security and throughput.

Alex

alexellisuk··on Pairing With GPT-4
This made for extremely painful reading (I'm not blaming the author), but I couldn't imagine getting given code full of syntax errors by GPT-4 - then asking it to correct them, only to get given more errors.

Co-pilot has been handy for generating structs and boilerplate code.

Where I think these models are currently interesting is in discovering conventions - libraries - approaches. Like an outline, which we know is probably broken - but enough for us to squint at and then write our own version.

Kind of like browsing an OSS repository to see "how it works" for inspiration.

Someone asked ChatGPT to write an OpenFaaS function for TTS - he needed to prompt it with the template name, and even then it got the handler format wrong. But it did show us a popular library in Python. To find the same with Google - we'd have to perhaps scan through 4-5 articles.

https://twitter.com/Julian_Riss/status/1641157076092108806?s...

alexellisuk··on Show HN: fstail – Scan a directory for changed files and tail them
When you need to see the output from all changed files within a directory

tail -f /var/logs/* just doesn't work

That's why we have fstail.

Contributions welcome - MIT licensed.

alexellisuk··on How do changes to the Docker Hub affect OpenFaaS?
Hi verdverm,

You are technically right that Docker changed their stance since their original announcement.

But they committed to remove all images within 30 days, and I think you'll find that's the understanding that many had - in fact there were hundreds of Hacker News comments because of this.

We brought it forward so we could handle the fall-out outside of KubeCon which would fall during the date of the deletion.

Since their original statement they have done a U-Turn and won't delete images from open source organisations.

But it's already too late - many maintainers like myself have already had to take action. Because we took Docker Inc. at their word.

Hope this helps?

Alex

alexellisuk··on We’re no longer sunsetting the free team plan
Multi-arch builds are easy to "transfer" IMHO

crane cp docker.io/openfaas/gateway:0.10.0 ghcr.io/openfaas/gateway:0.10.0

If you've not used it yet - do take a look. Crane doesn't pull the images into a local Docker library for re-tagging and re-pushing.

https://github.com/google/go-containerregistry/blob/main/cmd...

← PreviousPage 4 of 27Next →