Transcend is a leading company in the field of automated engineering designs, and to stay ahead in our industry, we rely on a powerful DevOps stack that allows us to be constantly updated on all sides of the business. In this article, we will delve deeper into our DevOps stack, which is based on cloud-based Azure DevOps and AWS, as well as microservices hosted in ECS.
To manage our ticketing, Git, and CI/CD pipelines, we use Azure DevOps, a cloud-based platform that streamlines our development process and increases productivity. We rely heavily on AWS as our primary cloud provider, and our microservices are mostly Linux-based Docker containers written in C# and React. While we primarily use EC2-based ECS for our microservices, we also have one running on Fargate to cater to specific needs.
We understand that third-party applications might not work well on a container-based solution due to licensing and other constraints, which is why we use EC2 instances that are programmed to start and stop as needed. We also use AWS RDS and hosted MongoDB for data storage. S3 is mainly used to store files generated for our clients. We prioritize Infrastructure as Code (IaC) and have most of our infrastructure written in Terraform code. We focus on automating tasks that we consider to be a pain point for our DevOps team, allowing them to focus on tasks that require human intervention.
Our development base consists of multiple people with the skills to work on DevOps-related issues, especially on the pipeline level. Our DevOps team does not have on-call responsibilities, which allows them to focus on the tasks at hand without worrying about being on-call at all times. This allows them to focus on ensuring our DevOps stack is running smoothly and make any necessary adjustments as required.
Overall, our DevOps stack is like the best games ever made: easy to learn, hard to master. Our base solutions are straightforward, and it is quite easy to start working with our codebase since it is up to current standards. However, some concepts require a deeper understanding, especially in our engineering-based domain. As we continue to innovate and push the boundaries of automated engineering designs, we will continue to leverage the power of our DevOps stack to help us achieve our goals.