Readit News logoReadit News
dsanchez97 commented on Cdev: A New Python Serverless Development Framework   github.com/cdev-framework... · Posted by u/dsanchez97
dsanchez97 · 3 years ago
Hey HN community,

I am excited to share an early Alpha of Cdev, a new Python Serverless Development framework. Cdev is designed to help developers build and deploy Serverless applications on AWS quickly and easily by providing out of the box optimizations for a developer’s project. Although Serverless Development can provide many benefits, it can come with many challenges that require developers to change their workflows and development experience. Cdev was designed from scratch to tackle the problems that arise with Serverless Development while providing a familiar experience for Python developers.

Some of the key features of Cdev include:

- Easy deployments: Cdev makes it easy to deploy your code to AWS Lambda by allowing you deploy a Lambda function with just a single extra annotation.

- Serverless Optimizations: Cdev provides optimizations that understand and parse out individual functions from files to automatically create artifacts that are optimized for Serverless Platforms.

- Automated Third Party Package Deployments: Cdev manages the bundling of third party packages used by functions.

- Infrastructure as Code: Cdev provides high level constructs for other Serverless Resources (DynamoDB, SQS, S3, etc) that easily integrate with your Serverless Functions.

- Isolated Environments: Create isolated development environments in the Cloud using the Cdev CLI.

When I first began learning about Serverless Development, one of the points of friction that felt unique to Serverless Development was having to break my functions into individual files or accept tradeoffs(https://dev.to/cdkpatterns/learn-the-3-aws-lambda-states-tod...) around package size, cold starts (latency), and purity of each Serverless Function only containing its own logic. To solve this issue, I created a process that analyzes a project’s Abstract Syntax Tree to understand and create optimized deployment artifacts. The created artifacts contain only the code necessary for an individual function, which provides the ability to track changes to individual functions even if they are contained in the same file.

One of the other challenges when transitioning to Serverless Development is understanding the process of packaging a function’s dependencies. Using the outputted artifacts from the Syntax Tree optimization, Cdev provides automated bundling of relative and packaged dependencies for your functions. These created dependencies are optimized to only contain the dependencies used by an individual function, which helps lower the cold start of your functions and avoid platform limitation regarding package sizes.

These optimizations are provided as part of a larger framework that strives to provide an approachable place for any Python developer to begin building Serverless applications. The framework provides high level Infrastructure as Code components for the most popular Serverless Resources on AWS that attempt to simplify connecting different Serverless resources. Along with helping developers get started fast, Cdev provides features like isolated deployment environments to help keep development fast as a project grows.

Currently, the framework is in an early alpha stage and has many rough edges, but it has all the features necessary to start building Serverless Python projects. I hope that Cdev will be a valuable tool for Python developers who want to build and deploy serverless applications quickly and easily. Thanks for checking it out and looking forward to any feedback!

dsanchez97 commented on Show HN: Chunk – Code sandbox for back-end devs   chunk.run... · Posted by u/theochampion
dsanchez97 · 3 years ago
I really like yalls website design and UX; especially around scheduling the functions to run. I am working on the same problem in Python space at https://cdevframework.io, but I am building it first as a client side SDK. Mostly chose that way because I don't have much frontend skills! Impressive that you could getting this up and going so quickly!
dsanchez97 commented on Ask HN: Recommendation for the mom of a near-college-aged “tech geared” student?    · Posted by u/SAlpas
dsanchez97 · 3 years ago
I think my experience might align with your daughters side of this. Both my parents are dentists and my older brother is now in dental school, so dentistry and health care were the talk and expertise of my household growing up. I ended up switching from a Biology major to Computer Science major my first year at University, so I went from a track where my parents could provide guidance based on their own professional experiences and experience of their peers to something that was completely outside their domain of knowledge. After I switched, I quickly had more knowledge about computers and "tech" then they ever would, so I could not turn to them for detailed professional advice and guidance.

Although they can not provide detailed and expert level guidance, I still turn to them for career and life advice. I try to explain anything I am working on at a level that they can understand, but even then, I have to weigh their guidance against the fact they do not share the same context as me or someone in the field. It came a bit faster than both they and I expected, but I think all of us have realized we reached a point where they can't provide all the guidance I need and that it is on me to find mentors and decide the path that is best for me.

dsanchez97 commented on Running Containers on AWS Lambda   earthly.dev/blog/aws-lamb... · Posted by u/shaicoleman
throwaway2016a · 3 years ago
Not sure about Django but on the Node.js side there are Express.js compatible libraries that let you write your app like you would Express but it's exposed via Lambda and API gateway. Good chance Python has something similar. Biggest difference is you're not dealing with HTTP (directly) but it can be abstracted to -- from a framework perspective -- act like HTTP.
dsanchez97 · 3 years ago
I am actually working on a python library that works like you described at https://cdevframework.io! The goal is the provided a developer experience like Django that then deploys onto Serverless Infrastructure. It is a long way from that goal, but one day it will get there!
dsanchez97 commented on Running Containers on AWS Lambda   earthly.dev/blog/aws-lamb... · Posted by u/shaicoleman
vorpalhex · 3 years ago
I went down the rabbithole of wanting to build my own lightweight Lambda, only to wonder if Lambda is just distributed CGI by another name.
dsanchez97 · 3 years ago
I think CGI is a good high level way of think about AWS Lambda and other Serverless compute platforms. I think the key innovations are the integrations with cloud services, and the scaling/economic model. Videos like the one linked below really demonstrate the level of optimizations implemented to make this work on the "cloud" scale. I think Serverless Compute platforms are going to become a really meaningful part of the software development ecosystem.

[1] https://www.youtube.com/watch?v=A-7j0QlGwFk&ab_channel=Insid...

dsanchez97 commented on Show HN: Stacktape – Full power of AWS with Heroku-like experience   stacktape.com/... · Posted by u/matus_congrady
dsanchez97 · 3 years ago
Looks like a great product! I am also working on a similar product (https://cdevframework.io) in the same space, but I am focusing only on Python at the moment.

Are you using a custom IaaC management tool for the deployments, or is it compiling down to something like Aws Cloudformation or Terraform Providers?

dsanchez97 commented on Scaling lessons learned at Dropbox (2012)   eranki.tumblr.com/post/27... · Posted by u/vinnyglennon
charlieflowers · 3 years ago
What are some outstanding resources to learn from?
dsanchez97 · 3 years ago
I liked the Missing Semester by MIT. It provides a first principle style for learning some of the foundational tools. https://www.youtube.com/playlist?list=PLyzOVJj3bHQuloKGG59rS....
dsanchez97 commented on AWS Lambda function URLs: Built-in HTTPS endpoints   aws.amazon.com/blogs/aws/... · Posted by u/vvoyer
dsanchez97 · 3 years ago
If you are using Python and looking for a framework to quickly get your Aws Lambda Functions up and running, try out the framework I am developing. It is still in the early stages, but it has some optimizations that make it simple to do things like use 3rd party packages. If you are interested, a good place to start are the docs on how to connect functions to Api Gateway https://staging.cdevframework.io/docs/examples/httpendpoints....

If you want the developer experience of Django with the benefits of Serverless Compute platforms check it out!

u/dsanchez97

KarmaCake day24August 13, 2020View Original