Cdev - Serverless Development Framework
Cdev provides a development environment and framework that allows python developers to easily create and deploy Serverless Applications on Amazon Web Services. By providing features like automated dependency management, isolated deployment environments, and function artifact optimizations, Cdev allows developers to focus on the development of their project then deploy an optimized version of their project onto Aws with a single command.
Website • Docs
Getting Started
Starting from an empty directory. Set up your python virtual environment and install the Cdev cli.
$ python -m venv .venv
$ . ./.venv/bin/activate
$ pip install cdev
$ cdev
Create a new project
When creating a new project, you will be prompted about your Aws credentials and to link to a S3 Bucket
for your deployment artifacts to be stored in.
$ cdev init demo-project --template quick-start
**Aws Credentials and S3 Bucket Selection Wizard**
View the resources that will be deployed
$ cdev plan
Deploy the resources
$ cdev deploy
Invoke the deployed function directly from the cli
$ cdev run function.execute hello_world_comp.hello_world_function
View the logs of the function
You might have to wait a few seconds for the logs to process in the cloud
$ cdev run function.logs hello_world_comp.hello_world_function
Invoke the function from the deployed HTTP endpoint
Invoke the deployed function via the created HTTP Api
$ cdev output hello_world_comp.api.demoapi.endpoint
<url>
$ curl <url>/hello_world
You can also visit <url>/hello_world
in your favorite web browser!
Delete the Resources in the Environment
$ cdev destroy
For a more in depth information and examples about the capabilities of Cdev, check out our documentation.
Features
Supported Resources
- Serverless Function
- HTTP Endpoint
- S3 Bucket
- Dynamodb
- Aurora DB (Mysql and Postgres)
- Sqs
- Sns
- Hosted Static Website (Aws Cloudfront)
For guides on how to deploy any of these resources, check out our documentation
Alpha Notes and Limitations
The project is still in an alpha
state, so there are still rough edges and limitations. The following are the current high level limitations of the framework.
All of the current limitations can be navigated to use Cdev effectively for projects and solutions are being worked on to over come the documented limitations. Any issues that arise while using Cdev can be raised to daniel@cdevframework.com and will be addressed.