Getting Started with Microservices and Serverless
Do you wonder how computers can be “serverless”? Does “microservices” seem like just another buzzword? These two technologies are actually changing software design and operations. They work together to help solve complex problems by breaking them down into smaller pieces through loose coupling and modularization. Where some traditional software design techniques required assembling a monolithic piece of software on a platform, a microservices architecture and a serverless programming paradigm focus more on how to keep the pieces independent, orthogonal in function, and interconnected efficiently. In this hands-on tutorial we’ll look at useful design principles to use when implementing them, the underlying technologies needed to make them work effectively, and how they differ from monolithic techniques. You’ll gain an understanding of how to create simple applications, basic troubleshooting skills, limitations in the underlying implementation, and an idea of what to monitor in a production implementation.
Note: This tutorial has pre-work instructions:
First some Terminology:
- Git Fork - Create an unrelated copy of a project that the original maintainer does not see.
- Git Clone - Create a copy of the project from a remote sources that can interact with ongoing development.
We are going fork in gitlab, so you have your own copy of the exercises that won't interfere with anyone else then we are going to clone so that we can work locally on your copy.
- Ensure you have SSH set up. I will give you an ssh key just for this class. If you run mac or linux the software is installed, if you run windows you have three options:
- Use the ubuntu subsystem - (If you choose this option I assume you know what you are doing)
- Install putty - https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- Install ssh in powershell - https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse. Follow the install openssh with powershell instructions
- Register for a free account at gitlab.com
- Login and create a "New Group" for the class in your personal gitlab account. Make it "Public" visibility.
- Fork the following repositories into that group with "Public" visibility
More information may be posted in https://gitlab.com/coveros/microservice_serverless as necessary for the course.
(Optional) Extra credit:
- Generate an ssh key for the class
- Set up ssh access in gitlab
- Clone the forked copies of your repo locally using SSH