When Developer Teams Go Remote
From the beginning MyOutDesk has been developing applications in remote environments with a team of developers from the US, Philippines, Pakistan, and India. Now more than ever it’s important to embrace smooth & modernized delivery pipelines to ensure development and deployment of critical applications.
IT Virtual Assistants can help you build the applications you NEED and QUICKLY for your competitive company. MyOutDesk can save you up to 70% on employment costs with experienced, full-time virtual assistants. To book an interview with those in our talent pool, click here.
Here’s how our remote team is keeping out development pipeline flowing.
Git is a Version Control System. Version control systems “are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members.” (source)
Github is a platform operated by Microsoft that allows developers to store their Git repositories and share them with the world as open source projects or share it with other developers privately as a team.
With Github launching Github Teams for free there is no reason to put off adopting Github as your tool of choice for developer collaboration. It directly integrates with CircleCI, meaning that any commit to any branch is automatically built and tested. This reduces regressions and ensures developers can focus and have peace of mind that their deployment won’t break a critical piece of your application.
Before any code is deployed we also create a pull request and ask for peer reviews. A pull request will bundle the changes and allow other developers to comment, mark specific lines that need to be adjusted, and discuss potential breaking changes. Once a pull request is accepted, a final pull request is built tagging the version before anything goes to production.
In the past we leveraged Jenkins as our tool of choice for Continuous Integration. Jenkins is a great tool for any company needing complete control over the build process, testing, and even deployment of their software. Unfortunately, you’ll need to run it on your own infrastructure most of the time and maintain verbose and complicated build scripts depending on application complexity. In the past year, MyOutDesk has moved our build process over to CircleCI to allow us to focus on development and testing instead of building & deploying.
CircleCI is a continuous integration & delivery platform that automatically spins up custom or pre-built docker containers to build your application and run it’s tests. CircleCI also has Orbs which simplify the process of configuring your container. This abstraction makes it much easier to extend its functionality (versus writing your own docker scripts).
For our build process we need NodeJS in addition to AWS-CLI. It’s much easier for us to include the Orbs for Node & AWS-CLI in the build definition file (YAML) rather than write our own scripts to install it when the container launches or to build our own custom image. Additionally, we can be sure the testing environment is completely fresh every time tests are executed. CircleCI has their own certified orbs or you can build your own depending on the complexity of your application. Lastly, we pull down the AWS-CLI to allow us to ship artifacts to Elastic Beanstalk.
Error Reporting & Monitoring
Every application MyOutDesk maintains ships with both Cloudwatch Log Monitoring and Sentry Error Reporting. This is an absolute must when working remotely with a team of developers. There is not a single exception or critical application failure that occurs in our production environments that we are not aware of before it is reported by our internal staff or end users.
Your IT Business Strategy
Working 100% remote with your development team presents a lot of challenges. However, with the right implementation of Github, CI\CD Services, effective review of pull requests, and proper monitoring working with a fully remote development team is a breeze.
IT Virtual Assistants can help you build the applications you NEED and QUICKLY for your competitive company. We’ll say it again, MyOutDesk can save you up to 70% on employment costs with experienced, full-time virtual assistants! To find the talent you need & to book an interview, click here.
MyOutDesk can save you up to 70% on employment cost. Claim a free strategy consultation & Thrive Guide, below.
Original Story: Link