en en en en en en en en en kn en it nl en fr en fr en en en en cs en es fr nl de en en fr en cs en en en es nl en en en en en en en en en en en en en en en en en en en nb en fr pt en en en la en en en en en en en en en it en en tr it en en en fi en fr en en fa en en en en de en en en en en en en en en en en en en en en en cs es en nl fr en en en en en en en en en en en en en en en en en en en en ar en en en en en en en en en es en en hbs_lat en en en en en en la en en en en en en en en en
Sparta is a framework that transforms a go application into a self-deploying AWS Lambda powered service.
All configuration and infrastructure requirements are expressed as go types for GitOps, repeatable, typesafe deployments.
Use a go monorepo to define and your microservice's:
Sparta enables your lambda-based service to seamlessly integrate with the entire set of AWS lambda event sources such as:
Additionally, your service may provision any other CloudFormation supported resource and even your own CustomResources.
Define IAM Roles with limited privileges to minimize your service's attack surface. Both string literal and ARN expressions are supported in order to reference dynamically created resources. Sparta treats POLA and #SecOps as first-class goals.
A service may provision dynamic AWS infrastructure, and discover, at lambda execution time, the dependent resources' AWS-assigned outputs (Ref & Fn::Att). Eliminate hardcoded Magic ARNs from your codebase and move towards immutable infrastructure
Make your service HTTPS accessible by binding it to an API Gateway REST API during provisioning. Alternatively, expose a WebSocket [APIV2Gateway](https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/) API for an even more interactive experience.
Include a CORS-enabled S3-backed site with your service. S3-backed sites include API Gateway discovery information for turnkey deployment.
Sparta relies on CloudFormation to deploy and update your application. For resources that CloudFormation does not yet support, it uses Lambda-backed Custom Resources so that all service updates support both update and rollback semantics. Sparta’s automatically generated CloudFormation resources use content-based logical IDs whenever possible to preserve service availability and minimize resource churn during updates.