Introduction to the Course
Welcome to the DevOps Library; we're glad you found yourself here! It's been a long time, but we have some exciting news to announce! We've been developing a new tool for the DevOps community that we've code-named Adde, short for automated declarative data engine. Adde, when installed on a Github repository containing JSON or YAML, will automatically generate fully documented REST and GraphQL APIs, as well as PowerShell modules for interacting with the data. It also automatically detects the schema, helping you enforce consistency with validation checks on every pull request.
It's perfect for making the data that's not a great fit for configuration management easily-accessible and version controlled. Think about the information your teams typically share by passing around a spreadsheet or JIRA tickets. We really think it can help teams save time by automating things they usually wouldn't be able to.
To fund Adde's development and infrastructure while still keeping it accessible, we've decided to make it available for any of our supporters that pledge $10 or more a month. Thank you so much for your ongoing support; we couldn't do it without you.
Now the fun part. When we were getting ready to set up Adde's production infrastructure, we suddenly had an idea. What better way to learn DevOps than to see how to deploy an entire SAAS service from scratch? And that's how this course came about. We're going to literally set up EVERYTHING, live, with you. The planning, architecture, CI/CD pipelines, deployments, automated testing, all of it! At the end of this course, we'll deploy safely multiple times per day, to a secure Kubernetes cluster, including monitoring, instrumentation, and more! Not only that, but Adde will also be production-ready! We've set up a discord server here at the link below, and while we won't have time to be active 100% of the time, we'll try to respond when we can. Who knows, maybe we'll even live-stream some of it!
Well, what do you think? Let's get started!
The first thing we need to do is figure out our technical and business requirements; that way, we can use them as a guide during decision making. On the technical side, both the front and backend applications for Adde are all written in Typescript. They're stateless, but because the back end takes a while to start and cache repositories, it's not an ideal fit for serverless. From a business standpoint, here are our top priorities:
Given that we want to deploy multiple times per day and that our applications are already containerized, we've decided that Kubernetes would be the best fit. While it is more complex to configure up front, it will significantly simplify our deployments.
That brings us to our next question, where should we host our Kubernetes cluster? We know we can rule out deploying on-prem or to a co-location, as the operational overhead is far too high.
That leaves the cloud. We could use Amazon's EKS, Azure's AKS, Google's GKE, Digital Ocean, or spin up our own cluster from scratch using KOPS, Kubespray, or something similar. Given our team has the most experience with AWS, we narrowed down our choice to AWS or Digital Ocean.
When looking at pricing, at the time of this video, Amazon charges $72 per month for the EKS control plane, vs. Digital Ocean starting at $10. While DO's pricing is substantially lower, we decided to go with EKS for a few reasons.
Well, we've decided where we're going to host it, but we still have so many other decisions to make! In our next episode, we're going to decide on our tooling for CI/CD, ticket management, version control, and more! Let us know in the comments if you have any questions or suggestions, as well as what you'd like to see next. Thank you so much for watching and supporting us! We'll see you again soon!