asinsinwal / DevOps-Milestone-3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DevOps: Milestone 3 - Deploy

Screencast:

Components - How our milestone meets each requirement.

Instructions:
Environment variables needed for this milestone AWS_SECRET_KEY and AWS_ACCESS_KEY.
For Checkbox environment setup: Copy the private key and name it as checkbox_aws_key.pem
For iTrust environment setup: Copy the private key and name it as itrust_aws_key.pem

  • Deployment: Deploy iTrust and checkbox.io to a production environment. Create a git hook on your jenkins server that will trigger a deployment when doing a git push to "production". The deployment needs to occur on actual remote machine (e.g. AWS, droplet, VCL), and not a local VM. The deployment should create and configure the production environment using ansible.

  • Infrastructure Upgrade Make improvements to the infrastructure of checkbox.io.

    • Create a nomad cluster (3 nodes) for running a service job for server.js. Keep a single instance of the service. Demonstrate service is still available after turning off the node with the current instance running service.
    • Create a redis feature flagserver that can be used to turn off/on features on checkbox.io. Pick one feature to demo in screencast. The redis properties server should be mirrored locally to each instance.
  • Canary Release. Implement the ability to perform a canary release for checkbox.io: Using a proxy/load balancer server, route a percentage of traffic to a newly staged version of software and remaining traffic to a stable version of software. Stop routing traffic to canary if alert is raised.

  • Rolling Update. Implement a rolling update deployment strategy for iTrust, where 5 instances of iTrust have been deployed, and each instance of iTrust must be reployed while 4 instances remain operational.

  • NOTE: We have explained everything in detail, in the screencasts.

About


Languages

Language:JavaScript 84.5%Language:Shell 15.5%