Learning Python on AWS
I’ve been working in tech for just over 15 years now. I’ve relied on Java as my go-to tool for quick PoCs, and its carried well my thus far. But I felt that I was missing out on better tools for web development, so about 5 years ago I learnt some basics of Ruby on Rails. However I didn’t find a useful way to use it in my day-to-day work, so I pretty much dropped it. However, now that I spend most of my time on AWS, I decided it would be a perfect opportunity to learn python, for a few reasons:
- AWS SDK for Python (Boto3) is really powerfull
- Python is supported in Lambda
- For Machine Learning, you can use Python natively in Amazon SageMaker
- For ETL, you can use Python with AWS Glue
- Amazon Transcribe Streaming SDK
- Cloud9 supports Python
- The AWS Serverless Application Model (SAM) supports python
- AWS Step Functions Data Science SDK for Python
- Chalice is a framework for writing serverless apps in python
- But the biggest reason was the AWS CDK. With the CDK, this simple construct
lbecs = aws_ecs_patterns.ApplicationLoadBalancedFargateService(self, 'ECS_Fargate', memory_limit_mib = 1024, cpu = 512, desired_count = 1, task_image_options = ghost_task_image, )
will result in building a new VPC, ECS Fargate cluster, security groups and load balancer, with your container deployed and working. Need I say more!
Resources
This is what I used to learn python on AWS:
- Setup VScode, Python, venv: https://stackoverflow.com/questions/54106071/how-to-setup-virtual-environment-for-python-in-vs-code and https://code.visualstudio.com/docs/python/environments
- Awesome for beginners to programming: Learn Python - Full Course for Beginners [Tutorial] https://www.youtube.com/watch?v=rfscVS0vtbw&ab_channel=freeCodeCamp.org
- Python for Java programmers: https://developers.google.com/edu/python
- Learn Python on AWS: https://learn-to-code.workshop.aws/loops/lab_6/step-2.html
- https://aws.amazon.com/getting-started/hands-on/build-modern-app-fargate-lambda-dynamodb-python/
- https://cdkworkshop.com/30-python
- https://ecsworkshop.com/microservices/platform/build_environment/#build-the-environments-1
- https://docs.aws.amazon.com/cdk/latest/guide/ecs_example.html
- https://github.com/aws-samples/aws-cdk-examples
- Code Samples for Python