Week No.29, and another epic edition packed with lots of great projects and posts, as well as a larger than normal number of case studies this week. Pick of the bunch from me (always hard) is the walkthrough of the CDK Patterns from Matt, the customer case studies and the finala and inframap projects. Remember, if you have a project you want me to mention or talk about, then please reach out. I do provide prizes for the ones that I particularly like, so there is also that incentive too.
open source builders
Super excited this week about the Open source builder videos and blog posts that we released late last week. It was a lot of fun talking with Olaf, Alex and Liz, all of whom have featured in past episodes of this newsletter, either because of open source projects they are behind or open source products they have launched.
Part one is all about how they got started in open source, and we follow that up in part two with lessons learnt. Now I have to apologise that there is no video of Liz and this is entirely my fault. During the recording of these sessions, I had a complete fail and whilst I recorded the video, there was no audio. Very sad, as it was an epic session.
If you want to take part then please contact me as I am currently organising recording of the next batch.
There is still time to sign up to these events that I shared last week.
Spack Tutorial on AWS
July 28 - July 29, at 3PM BST (4:00PM CEST, 7:00am PST)
Spack is an open source package manager that simplifies building, installing, customizing, and sharing HPC software stacks. In recent years, Its adoption has grown rapidly: by end-users, by HPC developers, and by the world’s largest HPC centers. Spack is also used to build reproducible scientific workflows in AWS.
This event is broadly targeted at HPC users, developers, and user support teams. There’s something for everyone, from academia to national labs to industry.
Databricks machine learning workshop
30th July, at 3PM BST (4:00PM CEST, 7:00am PST)
A date and time for your diary, on 30th July, at 3PM BST (9:00am CDT) Databricks are running a workshop on Unifying Data Pipelines and Machine Learning with Apache Spark™ and Amazon SageMaker. This event will cover:
- building scalable and reliable pipelines for analytics
- a look at Apache Spark and Databricks
- training a model against data and learn best practices for working with ML frameworks (i.e. - TensorFlow, XGBoost, Scikit-Learn, etc.)
- see how to tack experiments in MLflow, share projects and deploy models in the cloud with Amazon SageMaker
I have put together a short feedback survey, which I would ask you to take - it will take no more than 2 minutes. You can access here. Many thanks!
The articles posted in this series are only possible thanks to contributors and project maintainers and so I would like to shout out and thank those folks who really do power open source and enable us all to build on top of what they have created.
So thank you to Łukasz Mitka, Kong Zhao, Farid Gurbanov, Daniel Schroeder, Joel Lutman, cycloidio, the Keiko project, Moheeb Zara, Zerobase Foundation, Ashwin Raghuraman, Pedro C. González, Akash Deep Verma, Dipta S. Bhattacharya, Nikhil Khokhar, Derek Tan, Savin Goya, Jeremy Wallace, Chris Burns, Qingwei Li, David Ping, Lauren Yu, Vaibhav Goel, Raja Hafiz Affandi, Sivasamy Subramaniam, Ismail Shaik, Kiran Moka, Pratip Bagchi, Saleha Haider, Dr Tara Madhyastha, Ahmed Elzeftawi, Sebastian Pop, Ben Smith, Rico Huijbers, Chris Fife, Anubhav Mishra, Matt Coulter, Naveen M, Anthony Alford, Kyle Lee, Cyril Tovena, Liz Rice, Aliza Carpio, Emmanuel Awotunde, Damian Sosnowski and SimilarWeb.
Make sure you find and follow these builders and keep up to date with their open source projects and contributions.
finala - this project from SimilarWeb is a resource cloud scanner that analyzes, discloses, and notifies about wasteful and unused resources in your company's infrastructure so that you can save money and take action on any unused resources (for example, to improve security)
inframap - this project from cycloidio is a neat tool that helps you generate maps, using your Terraform state of HCL files as input. Very useful for trying to make sense of an existing environment, creating 'living' documentation and more.
aws-glue-sbt-quickstart - project from Joel Lutman provides a quickstart for new AWS Glue projects using Scala. Using SBT and the AWS Glue SDK, this repo enables local development and unit testing of AWS Glue scripts.
serverless-data-pipelines-demo - another project from Joel, this time one that demonstrates how you can use Serverless AWS services to construct a modular big data pipeline. It builds both the architecture required to build a standard enterprise datalake and deploys application code for performing ETL. Check out Joel Lutman blog, might be the best thing you do today -> https://manta-innovations.co.uk/blog
iam-manager - is am open source provide that provides a k8s CRD (Custom Resource Definition) to manage AWS IAM roles as Kubernetes resources. Check out the blog post below for more details.
EC2 Spot Instances integration roadmap
EC2 Spot Instances integrations roadmap - this project that was announced last week is the public roadmap for Amazon EC2 Spot Instances integrations. This is an experimental public roadmap for Amazon EC2 Spot Instances integrations with open source software and frameworks. This repository contains information about current activities and allows all AWS customers to give direct feedback.
aws-serverless-pyportal-lock - another project and post from Moheeb Zara, this time showing you how to build an electronic keypad lock system using a basic relay circuit and a microcontroller. The system is managed by a serverless backend API deployed using the AWS Serverless Application Repository. The backend uses API Gateway to provide a REST API for Lambda functions that handle fetching lock state, updating lock state, and sending a random four-digit code via SMS using Amazon Pinpoint. Language consistency is achieved by using CircuitPython on the PyPortal and Python 3.8 in the Lambda function code. Check out the walkthrough post that accompanies this project - Building an electronic security lock using serverless
bump-cdk - this open source project helps you with a common issue when working with AWS CDK, which is version mismatch and the way CDK's modules interface together requires them to always be on the same version. This introduces maintenance overhead by forcing you to always have your CDK dependencies on the same version. Use this tool to have those dependencies upgraded and pinned to the same version!
iam-floyd - this project from Daniel Schroeder came up over the weekend, and is an early version of this tool that is an AWS IAM policy statement generator with fluent interface. This project will help you craft your IAM policies for your applications, and you can use this with or without AWS CDK.
A New Intuit Open Source Release: DSE Pronto - this post from Aliza Carpio, Technology Evangelist at Intuit, shares a new open source project from Intuit called DSE Pronto. DSE Pronto is a framework of automation tools to help manage and deploy your DataStax Cassandra clusters in AWS. Great quote from the post:
Ben started by releasing DSE Pronto internally at Intuit via InnerSource, and the user community has grown quickly. He hopes open sourcing will help it to grow even further.
You can find the GitHub repository here.
kube-bench is a Go application that checks whether Kubernetes is deployed securely by running the checks documented in the CIS Kubernetes Benchmark. Check out this short video from Liz Rice, VP of open source engineering at Aqua Security, on using kube-bench on Amazon EKS.
Aqua Security have plenty of more videos on how to use their open source tools - check them out here.
ECS and Bitbucket
Easy Deployment Setup With Bitbucket and Amazon ECS - nice walkthrough from Emmanuel Awotunde that shows you how to quickly setup your Bitbucket repositories so you can deploy to Amazon ECS, deploying a simple express application to show you how it is done.
Loki tutorial: Analysing logs on AWS EC2 with promtail
Loki tutorial: How to set up Promtail on AWS EC2 to find and analyze your logs - this post from Cyril Tovena is a detailed walkthrough of how to setup Loki and Promtail within your AWS environment to be able to better search your logs that your instances will produce.
Loki is an open source horizontally-scalable, highly-available, multi-tenant log aggregation project started at Grafana Labs in 2018 and released under the Apache 2.0 License. With Loki aggregation, you can group all your logs from all your virtual machines in one place, and with its search capabilities, you can quickly find and analyze them. Promtail is an agent which ships the contents of local logs to a private Loki instance.
This tutorial explains how you can set up the Promtail agent on an AWS EC2 instance and configure it to send all its logs to a Loki instance, so you can start getting the most out of your workload.
Amplify and IOS setup
Amplify iOS Project Setup - this post from from Kyle Lee walks you through his setup when developing Amplify IOS projects. The Amplify Framework is an open source project for building cloud-enabled mobile and web applications, consisting of libraries, UI components, and a CLI toolchain. You can easily add capabilities organised in to categories such as Analytics, AI/ML, APIs (GraphQL and REST), DataStore, and Storage to your mobile applications. AWS Amplify Libraries for iOS allows you to extend that model when building your IOS apps, and this walkthrough from Kyle is a great starting point if you want to get started. Make sure you check out his other posts too.
You should also check out Kyle's post on how he when From Master to Main, where he provides you with a set of easy to follow steps on how you can change your current setup and move to Main.
NetxJS, AWS CloudFront and Terraform
How to create statically generated, serverless site with NextJS, AWS CloudFront and Terraform - this is a great walkthrough (with source code) by Damian Sosnowski showing how he built a statically pre-rendered site, using NextJS, and deployed it fully serverless and adopting best practices by writing infrastructure as code (using Terraform). What is nice about this post is that it is very well written and gently eases you into each step; what you will be doing and why. Great stuff.
ROS 2 Foxy Fitzroy
ROS 2 Foxy Fitzroy Release Improves Security and Tooling - this short post from Anthony Alford summarises some of the benefits of moving to ROS 2 and specifically talks about some of the security and tooling improvements.
ROS to ROS2
Porting a project from ROS1 to ROS2 — our experience - this post from Łukasz Mitka at Husarion provides one of the first posts I have seen outlining the experience of migrating from ROS to ROS2. It covers what they did, highlights some of the challenges they came across and should be something you read if you are looking to do the same.
IAM and Kubernetes
Managing IAM Roles as K8s Resources, this post by Naveen M shows how to use an open source project called iam-manager (see above, in projects) that allows applications to safely and conveniently create and manage IAM roles as part of their deployment pipeline (i.e. kubectl apply) along with other Kubernetes resources. iam-manager is part of a bigger project, Keiko.
CDK Patterns at 20! Let's Walk Through all 20 Serverless Patterns for AWS - Liberty IT's Matt Coulter takes some time to reflect and walk you through some of the patterns that are available on the cdkpatterns.com site (which I have talked about in previous episodes of this newsletter). Matt covers each pattern: what it is, what it looks like and when you should think about applying this, as well as providing alternative options. This is such a great resource, thanks Matt!
Security culture in open source
Building a culture of security in open source software development - this is a blog post I released in the middle of last week where I talk about how to think about security on both the producing and consuming side of open source. How to you make sure you are setting your open source project to take security seriously, and how to ensure you manage security when you are using open source in your projects. From both ends of the spectrum, but key to ensuring you get security right is culture.
Pleased that this has been well received, so if you missed it, you can let me know what you think.
Realtime Security Data Lake - Reference architecture
Real-time Security Data Lake. Reference Architecture - this post from Farid Gurbanov is a super deep dive on building a reference architecture that you can use if you want to build a capability within your security operations teams to be able to store and perform log analysis of your applications events and logs - not just real time but for extended periods of time in the past.
Farid breaks down each architecture component, introduces what they do, provides configuration details and then also provides cost guidance and estimates too. This has everything you need, and even if you do not implement it, you will learn a lot.
AWS CDK for Terraform
AWS CDK Pipelines
CDK Pipelines: Continuous delivery for AWS CDK applications - this post from Rico Huijbers, he announces the Developer Preview release of CDK Pipelines. CDK Pipelines is a high-level construct library that makes it easy to set up a continuous deployment pipeline for your CDK applications, powered by AWS CodePipeline. What are pipelines? A pipeline consists of several stages, which represent logical phases of the deployment. Each stage contains one or more actions that describe what to do in that particular stage. A CDK pipeline starts with several predefined stages and actions, but you can add stages and actions to it to suit the needs of your application.
The post walks you through how to use CDK Pipelines to deploy an AWS Lambda-powered Amazon API Gateway endpoint to two different accounts and you can learn more about how Amazon development teams define application infrastructure in code and deploy it in stages across multiple AWS accounts and Regions, in the Amazon Builders’ Library article, Automating safe, hands-off deployments.
Serverless LAMP - part 3
The Serverless LAMP stack part 3: Replacing the web server - Ben Smith provides another instalment in this series, this time focusing in on the Apache/NGNIX side of things. This series has been epic so far, and I suspect we are going to be seeing more serverless related PHP content.
PHP on AWS Graviton2
Improving performance of PHP for Arm64 and impact on AWS Graviton2 based EC2 instances - Sebastian Pop discusses how AWS worked together with the PHP community to drive major improvements to the performance of the PHP software stack on the Graviton2-based instances. By using AWS Graviton2 based instances, the latest release of PHP-7.4 currently experiences up to 37% faster execution time compared to the previous release PHP-7.3. This significantly lowers the cost of running PHP software such as WordPress on Amazon EC2 M6g instances. This post has benchmark data that you will want to check out if you are running any meaningful PHP workloads.
Scaling Electronic Design Automation workloads
Scaling EDA Workloads using Scale-Out Computing on AWS - Ahmed Elzeftawi's post shows you have to implement a scale out computing architecture using several open source components (Linux OS, Amazon Elasticsearch and Amazon FSx for Lustre) for this specific industrial vertical, although you can adapt this to other verticals too. You can check out the source code here. This is a good example of how combining open source components and cloud can enable high scale, robust solutions to solve industry use cases.
Research workflows on AWS
Five things to consider when moving your research workflows to AWS - Dr Tara Madhyastha, Ph.D writes about how research is done differently in the cloud compared to on-premises lab, and what you should be looking at when you are beginning to move computational research to the cloud. It starts with your workflows, which are well-developed sets of computer analyses that turn raw data into results that researchers can publish. Analysis methods can overlap, so workflows vary by lab and project to suit the research question. This post provide some solid guidance on what to think as you begin that migration. Key to much research is the use of HPC computing, so the post covers HPC Parallel Cluster but also talks about some of the open source workflow tools such as NextFlow.
Modernising .NET applications
Modernizing and containerizing a legacy MVC .NET application with Entity Framework to .NET Core with Entity Framework Core: Part 1 - this post from Pratip Bagchi and Saleha Haider shows the process for modernizing a legacy enterprise MVC ASP.NET web application using .NET Core and convert Entity Framework to Entity Framework Core. They will post a follow up post which I will share in a future newsletter.
Migrate Azure data to Amazon S3
One way to migrate data from Azure Blob Storage to Amazon S3 - this post from Ismail Shaik and Kiran Moka show you how you can quickly use a NodeJS package called azure-blog-to-s3 to migrate data from Azure to Amazon S3.
You can use this solution to migrate data from Azure Cosmos DB, Azure Table Storage, Azure SQL, and more, to Amazon Aurora, Amazon DynamoDB, Amazon RDS for SQL Server, and more. So if this is something you are exploring, then read this and give it a go.
X11 forwarding on Amazon EC2
How to enable X11 forwarding from Red Hat Enterprise Linux (RHEL), Amazon Linux, SUSE Linux, Ubuntu server to support GUI-based installations from Amazon EC2 - this post from Sivasamy Subramaniam brought back memories of running X over ssh tunnels, and in this post he shares how to enable X11 forwarding from Red Hat Enterprise Linux (RHEL), Amazon Linux, SUSE Linux, Ubuntu servers running on Amazon EC2 if you need to have access to a GUI. You might need it one day, despite most things moving to command line, very occasionally a GUI comes up so now you know how to deal with it.
Apache Spark and Deep Java Library
How Amazon retail systems run machine learning predictions with Apache Spark using Deep Java Library - this post from Vaibhav Goel and Raja Hafiz Affandi share their experiences and talk about the key challenges we faced while building these propensity models (a model that helps improve customer experience through personalisation) and how we solved them at the Amazon scale with Apache Spark using the Deep Java Library (DJL). DJL is an open source library to build and deploy deep learning in Java, which I have covered extensively in previous newsletters. Make sure you do not miss out the conclusion of this post, and how this approach was able to significantly improve the time it took to run.
Fine-tuning a PyTorch BERT
Fine-tuning a PyTorch BERT model and deploying it with Amazon Elastic Inference on Amazon SageMaker - this collaboration between Qingwei Li, David Ping, and Lauren Yu demonstrates how to use Amazon SageMaker to fine-tune a PyTorch BERT model and deploy it with Elastic Inference. I have mentioned BERT, or Bidirectional Encoder Representations from Transformers, in a previous newsletter, is a technique for natural language processing (NLP) and one of the key technical innovations is the application of bidirectional training of Transformer, a popular attention model, to language modelling. The code from this post is available in the GitHub repo
RAPID Amazon EMR
Improving RAPIDS XGBoost performance and reducing costs with Amazon EMR running Amazon EC2 G4 instances - this post Kong Zhao at NVIDIA Corporation, shows you how you can make use of accelerated GPU instances to improve the performance of Amazon EMR. Amazon EMR is the cloud big data platform for processing vast amounts of data using open-source tools such as Apache Spark, Apache Hive, Apache HBase, Apache Flink, Apache Hudi, and Presto. This post talks about RAPIDS, a project that helps with the configuration and optimisation of GPU based instances to accelerate these workloads.
AWS JPL Open Source Rover Challenge
Navigating robots on Mars: Results of the AWS JPL Open Source Rover Challenge - Jeremy Wallace and Chris Burns share an update on the AWS JPL Open Source Rover Challenge, a four-month competition where participants from around the world used deep reinforcement learning to drive digital robot models on a virtual Mars landscape. Participants created autonomous navigation models for the robot and trained them in AWS RoboMaker simulation. The virtual robot used in this competition was based on the NASA-Jet Propulsion Laboratory (JPL) Open Source Rover, a build-it-yourself scaled down version of the six-wheeled rover that NASA uses on Mars.
Read the post to find out more and hear about the winning entry.
INEOS TEAM UK Accelerates Boat Design for America’s Cup Using AWS - A look at how Team UK were able to use the HPC capabilities of AWS to rapidly accelerate the number of simulations they could do. Sir Ben Ainslie hailed this as a “game-changer” in their preparations for the America’s Cup. HPC uses a number of open source projects, such as AWS Parallel Cluster, as well as AWS services including Amazon FSx for Lustre, an open source high performance filesystem.
My favourite quote from this customer, was from Nick Holroyd, Ineos Team UK’s chief designerm who said: “They say that ‘time cannot be bought’, but by working with AWS, we are able to do just that."
A lot of folk probably know about Netflix open source projects, and you may in fact use some of these. But did you know that Netflix also makes available content resources? Check out these resources here, a large selection of content with different formats that you can use to get started in your own media based projects.
Metaflow: Netflix Machine Learning Platform with Savin Goyal - in this podcast on the Software Daily, check out Savin Goya talk about how open source projects like Metaflow are helping Netflix overcome some of the typical challenges, and show how they integrate with AWS services and other open source projects such as Apache Airflow. Metaflow is an open source machine learning platform built on top of AWS that allows engineers at Netflix to build directed acyclic graphs (DAG) for training models, and these are then deployed to AWS as Step Functions, a serverless orchestration platform.
Be sure to check out the other podcasts available on Software Daily - one of my favourite podcasting sites.
Build a Cross-Region Hybrid Cloud Storage Gateway for AI at WeRide - In this post published on Alluxio's blog from WeRide's Derek Tan, you will see how the engineers at WeRide leverage Alluxio as a hybrid cloud data gateway for application to access public cloud storage like Amazon S3, and allows them to accelerate localised access to that data. This case study is a great post to read as you begin to think how to use the data you have in your data lakes (like Amazon S3) and make this available at the right performance and cost.
Best practices from Delhivery on migrating from Apache Kafka to Amazon MSK - guest post on the AWS Big Data blog from Akash Deep Verma, Senior Technical Architect at Delhivery, Dipta S. Bhattacharya (from AWS) and Nikhil Khokhar (from AWS). The post shows the steps Delhivery took to migrate from self-managed Apache Kafka running on Amazon Elastic Compute Cloud (Amazon EC2) to Amazon Managed Streaming for Apache Kafka (Amazon MSK), and talks about some of the reasons why they made this change. Make sure you check out the conclusion to see why this made sense for this customer.
Public Sector: DG SANTE, DG DIGIT and DG CONNECT
European Convalescent Plasma Collection Platform: Data-driven initiative to fight COVID-19 - this post shows how the European Convalescent Plasma Collection Platform (EU CCP) is using open source technologies and AWS to experiment with a testing environment and adopt big data technologies and data analytics skills to process data, promote open source technologies, and advance research on convalescent plasma therapy.
Delivering Video at Scale in Mobile and Web Applications with Orangetheory Fitness - a deep dive from Ashwin Raghuraman from AWS and Pedro C. González, Enterprise Solutions Architect at Orangetheory Fitness. I mentioned this case study last week, and this week we have a closer look at this solution and how it uses some of the AWS open source technologies to help achieve agility and nimbleness so they can continue to serve their customers, through the use of a video basesd solution.
Zerobase creates private, secure, and automated contact tracing using Amazon Neptune this is a guest post from the Zerobase Foundation. In their own words, “The Zerobase Foundation is a nonprofit organization whose mission is to build free, open-source public health technology for the good of communities around the world. Zerobase’s privacy-first contact tracing platform empowers individuals, communities, and local officials to stop the spread of COVID-19.”
The post looks at how they have approached developing their open source contact tracing application to help the fight against COVID-19. The post looks at the architecture and how this solution works.
Find out more by looking at the Zerobase source code repository here.
Amazon EKS 1.7
Amazon Elastic Kubernetes Service (EKS) now supports Kubernetes version 1.17. Kubernetes is rapidly evolving, with frequent feature releases and bug fixes. Highlights of the Kubernetes 1.17 release include Cloud Provider Labels, ResourceQuotaScopeSelectors, TaintNodesByCondition, Finalizer protection, and CSI Topology graduating to generally available. Additionally, the Windows containers RunAsUsername feature is now in beta, allowing you to run Windows applications in a container as a different username than the default. Learn more about Kubernetes version 1.17 in the Kubernetes project release notes.
Amazon Athena * Apache Hudi
Amazon Athena now supports querying the read-optimized view of an Apache Hudi dataset in your Amazon S3-based data lake. Apache Hudi is an open-source data management framework used to simplify incremental data processing and data pipeline development. Hudi enables Amazon S3-based data lakes to comply with data privacy laws, consume real time streams and change data capture logs, reinstate late arriving data, and track change history and rollback. Apache Hudi is open-source and supports storing data on Amazon S3 in open source formats such as Apache Parquet and Apache Avro. Data engineers use Apache Hudi support in Amazon EMR to develop data pipelines and to simplify incremental data management and data privacy use cases that require record-level insert, updates, and delete operations. With this release, customers can now run Athena queries to read the read-optimized view of a Hudi dataset.
Amazon Corretto is releasing its July quarterly critical updates. This release also includes Corretto 8 & 11 support for Alpine Linux, Corretto 8 with JFR (JDK Flight Recorder) which can be used with JMC (JDK Mission Control) built for (to support) Corretto, Corretto 11 32bit x86 for Linux and ARM64 optimizations for both Corretto 8 & 11.
Fluent Bit supports Amazon Elasticsearch Service as a destination
Customers using container services including Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Services (EKS), or self-managed Kubernetes can now send their container logs to Amazon Elasticsearch Service using the Fluent Bit log router. Fluent Bit allows customers to route container logs to various AWS and partner monitoring solutions including CloudWatch, Amazon Kinesis, Datadog, Splunk, and now Amazon Elasticsearch Service.
Amazon MQ now supports mq.t3.micro, the next generation of micro instance, priced at 8% to 13% less than the previous generation mq.t2.micro.
Amazon EC2 VM Import / Export adds support for Red Hat Linux (RHEL) 8 and CentOS 8
EC2 VM Import / Export (VMIE) now allows you to import virtual machine images with Red Hat Linux (RHEL) 8/8.1/8.2 and CentOS 8/8.1/8.2 for creating Amazon Machine Images (AMI). You can use the AMI to create Amazon EC2 instances.
VMIE enables you to easily import virtual machine images from your existing environment to AWS and export them back to your on-premises environment. This offering allows you to leverage your existing investments in the virtual machines that you have built to meet your IT security, configuration management, and compliance requirements by converting your VM into an Amazon Machine Image, which you can use to run Amazon EC2 instances.
Open Source Growth Benchmarks and the 20 Fastest-Growing OSS Startups - in this analysis from Konstantin Vinogradov, see how to take a more analytical look at the activities in open source projects happening within GitHub and how you can begin to try and understand some of the signals, whether those signals are good or weak indicators and what it means to understanding the hot open source projects. This is probably my favourite post from this week.
Transformation: Building and re-using open source in government
This is a great video that provides insights into how public sector and governments are thinking about open source and how they are approaching it with regards to help address a number of concerns they care about.
Source Available Scorecard post from Heather Meeker that does a deep dive in source available available licences - the catalyst for them and what the current state of play is.
Do you have some content you want to share with a broader audience? We are always looking for guest content for the AWS Open blog. Please get in touch (via comments below) and I would love to speak with you about what you are doing in open source. We are always looking for interesting new content.
The best submissions will get some AWS Credit codes as a thank you.