Aws deployment guidelines


#1

I wish the documentation on deployment contained more options.

Does anyone have a sanic app running on AWS, if so which services did you use? Can you give me some simple steps?


#2

It would be similar to other web services. For example, you can run a Sanic app in a Docker container and deploy it in ECS (EC2 cluster or Fargate) or use EKS if you like Kubernetes. You can then also setup scaling and load balancing in there however you want. For external API access, you can use Amazon’s API Gateway and maybe configure some lambda in there for authentication or something. There’s many ways to get it done, but this is one… :slight_smile:


#3

I keep talking about the need for some good Sanic tutorials and deployment best practices blog articles… Maybe I should stop talking about it and do it. :thinking:


#4

We deploy all of our sanic applications as ECS services, but are currently looking into migrating to EKS. Basic idea is we build miniconda docker images, add sanic (pip install sanic) add our code and then use https://github.com/aws/amazon-ecs-cli to deploy. It’s pretty simple and keeps everything feeling fairly “docker-y” if your comfortable with that. ECS lacks more sophisticated tooling which is why were looking into EKS right now but I’d suggest starting with just ECS.