Getting Started with AWS: Open Source Workshop
Tags: aws, deployment, workshop, opensource
Published: 2018-07-10 15:11:00

---
title: Getting Started with AWS: Open Source Workshop
published: true
description: Amazon Web Services (AWS) offers great cloud computing services to make the deployment of your apps easier. In this workshop for AWS beginners, you'll learn how to deploy a demo application using several basic services available in the AWS stack!
tags: AWS, deployment, workshop, opensource
---

## Introduction

One of our strengths at [Tryolabs](https://tryolabs.com/) is that we have people coming from diverse technological backgrounds. In order to make sure that everyone who joins the company, no matter their previous experience, can be up to speed with developing apps with the stack we usually use, we have an extensive onboarding process that involves the development of a real application (frontend, backend and some data science), with a coach, code reviews, and iterative improvements.

## Why using cloud services?

An interesting skill that sometimes is neglected (especially with junior devs) is how to put apps into production in a robust and scalable way. It is desirable that our apps are highly available (meaning they are very rarely *down*), and have mechanisms so they can tolerate load of concurrent users without crashing or slowing down.

For doing this, we use cloud providers, such as [Amazon Web Services (AWS) ](https://aws.amazon.com/), [Google Cloud Platform](https://cloud.google.com/) or [Microsoft Azure](https://azure.microsoft.com/). Eeach provider offers its own services to make the deployment of our apps easier. Some, for example, offer different types of databases as a service, so we don't need to handle database administration or scaling. Scalable file storage solutions are very common, too.

It is interesting to note that the services offered by these cloud providers can affect the design (e.g. the database you use) of your app. Very scalable apps that some years ago were very difficult to develop are now almost trivial to do.

## How to get started with AWS?

So, given the importance of cloud providers and AWS in particular, we've created – and are now open sourcing – a guide we call [AWS Workshop](https://github.com/tryolabs/aws-workshop).

In this workshop, a developer learns how to deploy a demo application using several services available in the AWS stack. As the demo app to be deployed, we chose an open source test application called Conduit, which is handy to learn new frameworks because the same app has implementations in multiple frameworks for backend and frontend. In particular, we use the version built with[ React](https://reactjs.org/) and [Django](https://www.djangoproject.com/) + [Django-Rest-Framework](http://www.django-rest-framework.org/) backend, which most resembles the technologies we use for several of our projects.

In the workshop, developers learn:

1. Setting up users in your AWS account.
2. Deploying a website on[ S3](https://aws.amazon.com/s3/), a backend in[ EC2](https://aws.amazon.com/ec2/) and a database in [RDS](https://aws.amazon.com/rds/).
3. Setting up [Load Balancing](https://aws.amazon.com/elasticloadbalancing/) and [Auto Scaling Groups](https://aws.amazon.com/autoscaling/).
4. Setting up a [VPC](https://aws.amazon.com/vpc/) and a [bastion instance](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html).
5. Deploying the application using [Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/).

> Are you new to AWS and want to use its essential services to deploy your app? Get started with the open source workshop right [here](https://github.com/tryolabs/aws-workshop)!

In the future, we'll add other services such as a deployment using[ AWS Lambda](https://aws.amazon.com/lambda/) (pull requests are welcome!)


This article was originally published [here](https://tryolabs.com/blog/2018/06/21/getting-started-with-aws-open-source-workshop/).