AWS Cloud Builders' Day
This weekend I went to the Cloud Builders’ Day event hosted by Billenium and Amazon Web Services Poland at the Faculty of Mathematics and Computer Science, UWM, Olsztyn. It was quite an intense day, with lots of practical learning. The workshops included topics like:
- Use of multiple database types,
- Big data analysis using Hadoop (with visualizations),
- Serverless and containers,
- Artificial Intelligence based services,
- Software development enhancement tools.
The event was free to attend (with pizza provided by Billenium), so I’m really happy that we had a little charity funding proposed by the organizer. Thanks for that!
So what was this about?
The goal of this workshop was to become a “hero” in AWS, even if you had zero prior knowledge. Tomasz (who was the presenter from Amazon) took us through the mentioned topics, by doing the following lab exercises:
- Environment setup - We learned how to set the region for our AWS services, how to create security groups, run Cloud9 CLI, create S3 servers using CLI commands, how to connect to AWS servers using SSH.
- Autoscaling and IaC - Setting up AWS CloudFormation, creating stacks using template files, using load balancers and how to configure auto scaling options using on-demand and spot.
- Docker containers - How to use the Elastic Container Registry (Docker containers basically), AWS Fargate setup and implementation.
- Hadoop, Athena and Glue - Setting up Hadoop using AWS EMR, setting up Athena (SQL service), creating parquet data formats, running Hive through SSH, building data crawlers using AWS Glue, comparing results between services.
We sadly had to skip some tasks planned by Tomasz (CI/CD, BI, Neural Networks), due to limited time we had for the workshops.
Creating a CloudFormation stack for services autoscalling.
The final project we were working on was actually pretty amazing. I’m used to building big backend applications, so learning and implementing serverless lambda functions was pretty exciting. Services we used:
- DynamoDB - to store logging information about submitted files,
- Lambda - to define and run the function on triggers,
- Polly - a cool text to speech service,
- S3 - to store mp3 files generated by Polly,
- IAM - to manage permissions for lambda functions. This was needed to allow the connection between various AWS services. By default this is blocked.
- SNS - Simple Notification Service, to send out sms messages,
- API Gateway - to alow REST’like functionality.
So what did the project do? Every time we were storing a
.txt file on our S3 bucket, a lambda function was triggered. This function did a few things. First of all we used the uploaded text contents to define what language its written in and create a
.mp3 file of text-to-speech of it (both using Polly). Then we dropped the
.mp3 file into the bucket and set its permissions to public. The SNS service was sending out a sms message containing the link to the
.mp3 file. Moreover, a log message about the details of this event was added to the DynamoDB table.
I managed to end up 3rd in the final quiz about what we learned about AWS during the workshop among the participants 🙃, granting me an additional 50$ voucher for AWS. Good times!