@ineuronintelligence/neon-ptl
v1.0.11
Published
ALB-EC2-AutoScaling Zero Downtime Deployment
Downloads
259
Keywords
Readme
Neon Deployment Protocol - G2BG Zero Downtime Deployment
(c) 2022 iNeuron Intelligence Pvt.
This file is part of the Neon Deployment Protocol - G2BG Zero Downtime Auto Deployment via GitHub Actions.
The Neon Deployment Protocol is action used to deploy iNeuron Production Backend APi's @ Zero Downtime.
Only iNeuron Repository are allowed to use this package. Not A FREE SOFTWARE.
The Neon Deployment Protocol.
Installation
NPM Install the package
npm i @ineuronintelligence/neon-ptl
Available Services
[ ] getPreProdInstance
- Takes a param string (appName)
make sure tag:Instance-Depl-Type
& tag:Usable
& tag:AppName
exists in the instance (Pre Production Instance).
[ ] createAMIImage
- Takes params like (InstanceId, name, version), Here InstanceId
- Pre-Prod InstanceId, name
- appName, version
- appVersion. - It is prefer to use npm package version and name of the particular project which is using this feature.
[ ] createLC
- Takes params like (name, version, ImageId, InstanceType, KeyName, SecurityGroup, VolumeSize), This created a new Launch Configuration for auto-scaling.
[ ] checkImageIsReady
- Takes param like (AMIImageId), This checks if the image is created and has become available.
[ ] getASLConfig
- Takes params like (name, version). This is provides information about newly created auto scaling launch configuration.
[ ] describeASGroups
- Takes param like (AutoScalingGroupName), This provides information about the autoscaling group which we want to correctly configure.
[ ] updateASGroup
- Takes params like (AutoScalingGroupName, LaunchConfigurationName), Using the AutoScalingGroupName we update the launch configuration with the newly created launch configuration which contains new AMIImage.
[ ] updateListenerRules
- Takes params like (albName, blueTGName, greenTGName, blueTGWeight, greenTGWeight). These events are triggered when the new AMIImage is ready and the new launch configuration is updated in the auto scaling group. This function updates the listener rules of the ALB to point to the new target group.
[ ] startInstanceRefreshNow
- Takes param like (AutoScalingGroupName). Now that we have updated the listener rules with the new target group, we refresh the AutoScalingGroup to use the new Launch Configuration, This will take a while. Termination, Decommission the old instance and firing new instance.
[ ] describeInstanceRefresh
- Takes params like (InstanceRefreshId, AutoScalingGroupName). This checks if the instance refresh status is completed.
Important Notes
Make sure you have tagged the instance with recommended tags.
Once the instanceRefresh is completed move the traffic from Blue TargetGroup of the Application Load Balancer to Green TargetGroup of the Application Load Balancer which is assigned to the AutoScalingGroup.
Use the updateListenerRules Service to update the weights of the targetgroup accordingly.
License and Declaration
Only for Internal Use. Not A FREE SOFTWARE.
(c) 2022 iNeuron Intelligence Pvt.
This concludes the Zero Downtime Deployment of the Application.