/cloudlabs

Example code and templates for building cloud applications at UCL

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Why Cloudlab?

*** Please make sure you read the general Introduction ***

UCL provides access to AWS (Amazon Web Services) and Azure (Microsoft) via the
Public Cloud services.

With this repository we want to provide help, concrete examples and advise on to create applications in AWS (and possibly later, Azure).

Requirements

You will need

Infrastructure as Code

Although every cloud provider comes with a set of tools to build your applications, there are advantages to adopt an 'infrastructure as code' approach:

  • Reuse: it is easy to share the infrastructure you used on one project for a similar one in future - with only minor alterations
  • Ease of management: more complex apps have a large number of components. Managing them all from a console can be time consuming - and costly. infrastructure as code simplifies the management and maintenance process
  • Support: ISD and ARC provide help and examples e.g. this repository. These are provided using infrastructure as code which you can adopt to your needs.

At UCL Terraform is the preferred tool for infrastructure as code. And this is what you will find in this repository.

Examples, Design Patterns

In this repository we want to give "realistic" examples on the kind of cloud based applications you might want to build.

The examples should give you a good starting point for your own application.

What this repository is NOT

  • The examples and use cases given here should work as is. However, you will still need some work to adapt it to your project.
  • Automatic deployment and testing of components not directly related to AWS (e.g. uploading your web app to an S3 bucket, setting environment variables etc) is NOT shown here. CI/CD (Continuous Integration/Con. Deployment) are subjects in their own right and beyond the scope of this repository.

Troubleshooting

Terraform on Mac

When you run the terraform and you are getting an error that says something like ' "terraform" will damage your Mac" ' - install Terraform from the official web-site again. The reason for this error that a security certificate expired and the only way around is to download the terraform executable again (or update it with brew).