Documentation
Welcome to the ServerlessInsight documentation center. Here you'll find comprehensive guides and references for using ServerlessInsight.
Getting Started
New to ServerlessInsight? Start here:
- Quick Start - Build your first serverless application in 5 minutes
- Introduction - Learn about core concepts and capabilities
- Configuration Guide - Detailed YAML configuration reference
- CLI Reference - Command-line tool documentation
Core Concepts
Infrastructure as Code
Define your serverless resources declaratively in serverlessinsight.yml. ServerlessInsight handles resource creation and management automatically.
yaml
version: 0.1.0
provider:
name: aliyun
region: cn-hangzhou
app: my-app
service: my-service
functions:
my_function:
runtime: nodejs18
handler: index.handler
code: artifacts/function.zip
events:
api_gateway:
type: API_GATEWAY
triggers:
- method: GET
path: /api/*
backend: my_functionMulti-Environment Support
Manage different environments (dev/test/prod) using stages:
yaml
stages:
dev:
region: cn-hangzhou
memory: 512
prod:
region: cn-beijing
memory: 2048bash
# Deploy to development
si deploy --stage dev
# Deploy to production
si deploy --stage prodResource Types
ServerlessInsight supports various cloud resource types:
- Functions - Serverless compute (Function Compute)
- Events - Triggers (API Gateway, SQS, Timer, etc.)
- Databases - Database resources (RDS, Elasticsearch, etc.)
- Tables - NoSQL databases (Table Store, DynamoDB, etc.)
- Buckets - Object storage (OSS, S3, etc.)
Supported Cloud Providers
Currently Supported
- ✅ Alibaba Cloud - Full support for FC, API Gateway, RDS, OSS, etc.
- 🚧 Huawei Cloud - In development
- 🚧 Tencent Cloud - In development
Planned
- AWS Lambda & API Gateway
- Google Cloud Functions
- Azure Functions
Command Line Interface
Installation
bash
npm install -g @geek-fun/serverlessinsightBasic Commands
bash
# Validate configuration
si validate
# Deploy application
si deploy --stage dev
# Run locally
si local --stage dev
# Destroy resources
si destroy --stage devLearning Resources
Tutorials
- Building a REST API - Create a RESTful API with ServerlessInsight
- Database Integration - Connect your functions to databases
- Static Website Hosting - Host static websites on object storage
Best Practices
- Environment Isolation - Use stages to separate environments
- Variable Reuse - Extract common configurations to
vars - Resource Naming - Use meaningful names with environment info
- Tag Management - Add tags for better resource management
- Security - Use environment variables for sensitive information
Reference
- Configuration Specification - Complete YAML specification
- CLI Commands - All supported CLI commands and options
- Case Studies - Real-world implementation examples
Getting Help
- FAQ - Frequently asked questions
- GitHub Issues - Report bugs and request features
- Twitter - Follow for updates and announcements
- Email - Contact us directly
Contributing
We welcome contributions from the community:
- 🐛 Report bugs
- 💡 Suggest new features
- 📝 Improve documentation
- 🔧 Submit code changes
Please see our Contributing Guide for more information.
Community
Join the ServerlessInsight community:
- GitHub: geek-fun/serverlessinsight
- Twitter: @Blankll31075
- YouTube: GeekFun Club
Made with ❤️ by GeekFun