/cloud-computing-into

This is the code needed for the Cloud Computing intro.

Full Stack and Cloud Computing

Full Stack and Cloud Computing is a course that teaches students how to build full stack web applications using the latest technologies.

It is designed for users to become familiar with the latest technologies and how to build web applications using them.

It has a list of repos that students should find, read, use and deploy.

Full Stack Engineering

A full stack application is a web application that runs on a server and is connected to a database. It is a combination of front-end and back-end.

The front end is the user interface, the back end is the server.

Front Ends are the web pages that the user interacts with. These are typically HTML, CSS, and JavaScript.

The back end is the server that runs the application. It is the code that handles the user's request and sends back the response. These are typically languages such as PHP, Python, Ruby, and Java. JavaScript is also a programming language that users can use to build the backend of the application.

There is also another term for the back end, the database. It is the data that the application uses to store and retrieve information. These are typically languages such as SQL, NoSQL, and MongoDB.

The Full Stack

As we go through the rest of this course, we will be talking about a lot of different technologies. It is important to understand the full stack to be able to build a web application.

Each of the tools we talk about will play a role in building these applications.

Front End Deep Dive

Front End Technologies are the user interface. These are the web pages that the user interacts with. While they are commonly built with HTML, CSS and Javascript, there are modern frameworks that build the UI entirely in JavaScript.

Please define the following terms as they relate to the front end:

  • HTML
  • CSS
  • JavaScript
  • jQuery
  • Angular
  • React
  • Vue
  • Bootstrap
  • CDN (Content Delivery Network)
  • Webpack
  • Static Site
  • Build Artifact

Back End

The back end is the server that runs the application. It is the code that handles the user's request and sends back the response.

This request is usually made by the user and the response is the data that the application sends back to the user OR anothor application.

Please define the following terms as they relate to the back end:

  • Microservices
  • API
  • Database
  • NoSQL
  • MongoDB
  • SQL
  • REST
  • SOAP
  • GraphQL
  • OpenAPI
  • Containers
  • Docker
  • Linux
  • Kubernetes
  • Vagrant
  • ORM
  • CentOS

Database

Databases are the data that the application uses to store and retrieve information.

They run on a server and are connected to the application. A server is a computer that runs a program. You're on a server right now whose job is to run the applications you want to run. Databases are no different.

Please Define the following terms as they relate to the database:

  • SQL
  • NoSQL
  • MongoDB
  • MySQL
  • PostgreSQL
  • Redis
  • Cassandra
  • Firebase
  • Auroroa
  • StrongDM
  • Graph Database
  • GraphQL
  • Joins
  • SQL Injection

Building the Full Stack

Modern web applications are built using a combination of the technologies listed above in something commonly called a full stack.

Once the stack is built, the application is ready to be deployed.

THe deployed application is modified by developers an engineers to make it work and grow. Changes to the application are made and deployed to the server.

This is tracked by something called version control. The version control system tracks changes as they are made and deployed.

As these changes are made, engineers need to implement tools and checks to make sure the application is working as expected.

Please define the following terms as they relate to version control and deployment:

  • Git
  • GitHub
  • Bitbucket
  • Sha
  • Selentium
  • Integration Testing
  • Unit Testing
  • Test Driven Development
  • Semantic Versioning
  • Continuous Integration
  • Continuous Deployment
  • Continuous Delivery
  • Deployment pipeline

DevOps

DevOps is the process of automating the deployment of applications. It is a combination of the tools and processes that are used to build and deploy applications.

The following applications relate directly to the ideas behind DevOps:

  • Docker
  • Kubernetes
  • Jenkins
  • Ansible
  • Terraform
  • Puppet
  • Circle CI
  • Octopus Deploy
  • Docker Swarm
  • Docker Compose