TERRAFORM FOR IAC AND KUBERNETES
BITBUCKET PIPELINES FOR AUTOMATED CI/CD
CLOUD MIGRATION AND OPTIMIZATION
PROMETHEUS FOR MONITORING & ALERTS
The client provides controllers and data sensors for irrigation systems installed at agricultural complexes, municipal watering systems and greenhouses. One agricultural complex can have several thousand of such sensors and hundreds of controllers.
A 3rd party service receives data from the data sensors and controllers, communicates with them to control water/fertilizer flow, intensity, valves functioning, etc. On top of that, this is a legacy application which needs a delicate approach.
While 11 engineers develop the system on Symfa's side, the DevOps engineer is in charge of the project infrastructure and CI/CD, and also supports customer's IT talents.
The project has high scalability and load balancing needs, as it serves thousands of data sensors and hundreds of controllers. Moreover, it required strong cloud migration and optimization knowledge in order to migrate legacy code to AWS. The DevOps tasks that were posed before Symfa included:
For the client's latest project with us, our DevOps engineer built the infrastructure and automated CI/CD pipelines from scratch. He also helped the client choose the most suitable and relevant technologies given high scalability demands of the system.
Initially deployed in AWS, the project has IaC through Terraform and automated CI/CD pipelines through Bitbucket.
For older projects, the infrastructure and environments for development and testing were running on local servers when we joined the project, while the production environment had already migrated to the cloud. Our DevOps engineer migrated the remaining infrastructure, servers and applications to AWS.
The operating systems on the servers were outdated (Windows 2008 R2, Windows R2012). Our DevOps engineer safely updated all the systems on the servers, did the system configuration and switched the production to the updated server. All customer’s databases (managed services in AWS) were safely updated.
Before Symfa, the legacy project had issues with CI/CD configurations which meant manual deployments to specific environments for the team. For the production and R&D environments, we set up automated pipelines that perform build and deploy processes on a specific server.
Three Jenkins instances were running on the project. We decommissioned redundant Jenkins instances, centralized the build on one server, connected agents to Jenkins and now each environment builds in its own place – R&D, staging and production.
Cost optimization and resource re-allocation after the migration process. Containerization for the qualifying assets and optimum load balancing.
The post-migration optimization included a series of performance improvements. Such was containerization for microservices, power consumption revision for servers and the implementation of the Prometheus monitoring system (with reboot option for qualifying assets).
The introduction of our DevOps talent to the development team made the team play more seamless and processes -- transparent. At the same time, Max is a great asset for the client's team as well -- not only does he provide great CI/CD and infrastructure support, but he also contributes to knowledge sharing and shows commitment to the common goal.
Recently we launched a new service on the project (SSH Backdoor), and I took an active part in the architecture design. Similar paid tunneling services already exist, but given the amount of the controllers, the client opted for a custom-built solution, which would mean significant savings for the company.
Our team will get back to you promptly to discuss the next steps