The application is a PHP (Laravel/vuejs) based SaaS Application using MySQL as a database. We intend to run it using a multi-instance model, meaning, an independent/dedicated host or docker container for each client/tenant for the same SaaS application. This, in turn, will have a dedicated and independent MySQL database for each instance (either from a single cloud source like RDS or a container running MySQL). If external storage needs to be used (say, Amazon s3) each instance needs to have a dedicated bucket.
All the instances will be connected (if needed) via a central application (we call it Client Control Panel, aka CCP) which will take care of new client registration, client payment, and other client and instance management services). The CCP will have it's own dedicated container and database and external storage too. The CCP application's user interface needs to have the ability to connect to the deployment tool or environment via API to monitor client instances and create/upgrade/retire client instances.
Moreover, each instance may need to use services like use Redis, RabbitMQ, ElastiCache, SockerIO, Pusher and other services based on the requirement of the applications. The application's code is maintained in Github, Bitbucket or Gitlab private repositories. The Deployment Automation Process should be able to take care of all of these:
1. Creating new instances
2. Upgrading/retiring existing instances
3. New application development
Requirements
+ Extensive experience in CI/CD (delivery and deployment) using: Gitlab, Rancher, Kubernetes, Docker
+ Container/Compose, Amazon AWS hosts, Mandatory expertise in AWS and AWSECS CLI
+ Experience in deploying Laravel (PHP) applications in Nginx/Apache
+ Experience in setting up and using Jenkins and SonarQube
+ Experience in AWS Route 53 (using CLI / API and Management Console for automation)
+ Expertise in container monitoring tools to generate periodic/monthly usages statics of resource like RAM, CPU, storage space etc. per container
+ Experience in using/managing/troubleshooting and implementing services like: AWS RDS/S3/SES/SNS/SQS/CloudFront/API Gateway/Elastic Load Balancing, Redis, ElastiCache, SocketIO, Pusher\\
Preferred Expertise
+ Development Skills in PHP, nodejs, webpack and JavaScript (ES6)
+ Expertise in troubleshooting the whole process and writing customized build and deployment scripts
About the recuiterMember since Mar 14, 2020 Arun Rathi
from Saarland, Germany