Live data from Hacker News

Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

news.ycombinator.com

71–80 of 109 posts

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#71

I wish there was something like this for Docker rather than Lambda functions. I'm new to all of it, but the security groups, route tables, internet gateways and other implementation details of AWS left me feeling overwhelmed and insecure (literally, because roles and permissions are nearly impossible for humans to reason about). AWS also suffers from the syndrome of: if you want to use some of it, you have to learn a…

We're building something like what you describe (YC S20) - https://layerci.com - it's similar to OP but meant for standard containers instead of serverless.

TL;DR:

1. Install on GitHub https://github.com/apps/layerci/installations/new

2. Create files called 'Layerfile' to configure the pipeline

Docker Compose example for step 3: https://layerci.com/docs/examples/docker-compose

Then just point it at a docker swarm cluster or run the standard docker/ecs integration: https://docs.docker.com/cloud/ecs-integration/

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#72
post #9

I loved reading serverless-stack a couple of years ago; it was really helpful & convinced me to use serverless for a side-project that’s still going (with almost no expenses!). I’m surprised to hear how many separate lambda functions each service in your example had. I understand the need to deploy each service independently... but to have +10 deployments within each service seems crazy to me. Is there a reason each…

One problem with monolithic functions is that you must grant them a union of all the rights required by every code branch in the monolith. Obviously this can expand the blast radius of any vulnerability and tends to encourage rougher grained privilege grants.

This is getting out of hand. Are there "monolithic" and "micro" functions now?

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#73
I build my first lambda 4 years ago and it was great: no servers, no complicated tools. Just one function which I upload and it works. The amount of tooling which exists now is just daunting. At this point, is it still worth it if the technology is so complex that people are building the whole SaaS for managing it?

PS YC is still bullish on selling shovels I see.

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#74
post #72

Earlier quoted context omitted.

One problem with monolithic functions is that you must grant them a union of all the rights required by every code branch in the monolith. Obviously this can expand the blast radius of any vulnerability and tends to encourage rougher grained privilege grants.

This is getting out of hand. Are there "monolithic" and "micro" functions now?

That made me chuckle. But to be fair, in this case "monolithic" function is just a way to describe this pattern of moving your entire app (express in this case), inside a Lambda function. When Lambda started to become popular, this was the most common way to migrate to it. Just move your monolithic app to a function, hence "monolithic" functions.

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#75
post #73

I build my first lambda 4 years ago and it was great: no servers, no complicated tools. Just one function which I upload and it works. The amount of tooling which exists now is just daunting. At this point, is it still worth it if the technology is so complex that people are building the whole SaaS for managing it? PS YC is still bullish on selling shovels I see.

I think that's fair. When we started back in 2016 with Lambda, it was similar to how you describe it.

Now we've got a ton of companies that just use Lambda. So you can imagine a team for 50 developers, working on 40 or so separate services, with 500 or so Lambda functions. It can be hard manage the tooling for all of this internally.

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#76
post #66

I wish there was something like this for Docker rather than Lambda functions. I'm new to all of it, but the security groups, route tables, internet gateways and other implementation details of AWS left me feeling overwhelmed and insecure (literally, because roles and permissions are nearly impossible for humans to reason about). AWS also suffers from the syndrome of: if you want to use some of it, you have to learn a…

Yeah I feel your pain in regards to AWS. It was a big reason why we wrote https://serverless-stack.com . We run some ECS clusters internally and have run into some of the issues you mentioned. We use Seed to deploy them but the speed and reliability bit that I talked about in the post mainly applies to Lambda. So Seed can do the CI/CD part but it can't really help with the issues you mentioned. Btw, have you tried Fa…

Ah that's cool, makes sense. We may eventually move to Fargate, but the project has some legacy stuff that somewhat relies on having a host machine because of its shared directory. I've set up a roadmap to gradually remove the restrictions that prevent us from transitioning from EC2 to Fargate.

I've learned a lot more implementation details in this project than I expected. For example, I think stuff like awsvpc network mode is a code smell. I did appreciate some of the work that AWS did though for just mounting an EFS filesystem like any other path in the ecs-params.yml file though.

I did try it, but EFS latency is too high to run a whole server (at least for PHP). It does work for a storage folder though. Specifically, PHP Composer feels like it will never finish if the whole project directory is on EFS. But if I changed the build system to pre-build all of the Docker images, it might be ok.

To me, Amazon doing their job would look like: no distinction between EC2 and Fargate. They should have provided a host filesystem out-of-the-box (that uses EFS internally) enabled by default with the option to disable it. But that's not the AWS way. In AWS, each service gives you 90% of a typical use case. The other 10% comes from the 10 other services that you must learn in unison.

But hey, this pain could easily be someone else's meal ticket if they automate the worst parts!

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#77

I wish there was something like this for Docker rather than Lambda functions. I'm new to all of it, but the security groups, route tables, internet gateways and other implementation details of AWS left me feeling overwhelmed and insecure (literally, because roles and permissions are nearly impossible for humans to reason about). AWS also suffers from the syndrome of: if you want to use some of it, you have to learn a…

K8s on DigitalOcean might be a solution. K8s can be pretty complex but for a single tenant/single app you can probably skip some of the complexity.

Even at 100 containers you're probably going to want health checks (some load balancer integration), rolling deploys, metrics, and aggregated logging.

Amazon also added support for Docker containers to Lambda. You need to make sure your container implements the correct interface so Lambda can start it which is in their docs

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#78

I wish there was something like this for Docker rather than Lambda functions. I'm new to all of it, but the security groups, route tables, internet gateways and other implementation details of AWS left me feeling overwhelmed and insecure (literally, because roles and permissions are nearly impossible for humans to reason about). AWS also suffers from the syndrome of: if you want to use some of it, you have to learn a…

Have you tried cloud run on GCP? It sits in the niche you're describing between a serverless platform and some managed container orchestration platform like kubernetes (GKE or EKS).

Does that use Cloud Run? I haven't tried Google cloud yet because I thought I'd have to learn Kubernetes. I have an aversion to learning Kubernetes because I still can't figure out what problem it's trying to solve. Admittedly, I probably haven't gotten far enough with cloud hosting to know what limitations I'll hit yet though. Some ok answers here:

https://stackoverflow.com/questions/55786955/whats-the-value...

The computer science part of me just looks at a Docker swarm as a big graph. We should be able to balance a load if we just know the remaining CPU capacity of each container. But I look at the astonishing complexity of all this stuff (not to pick on k8s too much) and my first thought is: never have I seen so much code do so little!

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#79
How does seed compare to aws cdk pipelines

https://aws.amazon.com/blogs/developer/cdk-pipelines-continu...

I know if I go the route of cdk pipelines I will need to implement my CI/CD pipeline on my own using cdk. I want to know what are the other advantages of seed.

Re: Launch HN: Seed (YC W21) – A Fully-Managed CI/CD Pipeline for Serverless

#80

I wish there was something like this for Docker rather than Lambda functions. I'm new to all of it, but the security groups, route tables, internet gateways and other implementation details of AWS left me feeling overwhelmed and insecure (literally, because roles and permissions are nearly impossible for humans to reason about). AWS also suffers from the syndrome of: if you want to use some of it, you have to learn a…

We're building something like what you describe (YC S20) - https://layerci.com - it's similar to OP but meant for standard containers instead of serverless. TL;DR: 1. Install on GitHub https://github.com/apps/layerci/installations/new 2. Create files called 'Layerfile' to configure the pipeline Docker Compose example for step 3: https://layerci.com/docs/examples/docker-compose Then just point it at a docker swarm clu…

Thank you! I remember in the 90s, if I thought of a website or invention, I figured I had about 2-3 years to make it (certainly less than 5) before someone else did. That number dropped to maybe 6 months by 2010, and today most things are either about to be released or were released 2 weeks ago (minimum). So I'm not sure if I manifested what you made by needing it months ago, is what I'm saying.

Anyway, the value proposition of LayerCI may not exactly be in the CI/CD stuff. What caught my eye was the 12 staging servers with high power CPUs and the layer caching like Docker (which takes multi-minute build times down to seconds). I think if you manage to include backups and monitoring from the start, you'll really have something. And if you've already done them, good job manifesting that.

Post reply on HN