Continuous Delivery
Shamika Ariyawansa
What is it ?
*Image source: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
Complete Picture
*Image source: http://www.strategybeach.com/wp-content/uploads/2014/01/Capture3.png
Pre-requisites : Environment Formation
1. Formation of the environment infrastructure. - (No of instances, DBs, ELBs,
other services - AWS Opsworks/Cloudformation is used)
2. Runtimes and necessary agents will be installed. - (JRE, CodeDeploy Agent,
Opsworks Agent)
Artifacts of a Deployment
1. Environment based configurations - CM server is needed ( eg:- puppet, chef
(opsworks) )
2. DB Scripts
3. External dependant configurations. (eg:- API creations in API Cloud, Adding
Fields in safenet)
4. Application Artifacts. (Jars, Wars)
Anything else ?
What we have to do ?
1. Write the code well :).
2. Review the code.
3. Commit to a deployment branch (eg:- Dev)
4. Update the configuration scripts (if any) in Chef (opsworks).
Continuous Deployment Process per Env
Build Unit Test
Update
Config Repo
Trigger
Deployment
Config
Deployment
Application
Deployment
Locate the
Deployment
Group Instances
Notify the
Instances
Cleans previous
Deployment
Run Pre
Deployment
Scripts (eg:- db)
Send
Notifications
Start
Application
Run
Integration
Test ???
Deployment Concerns
1. Rolling Deployments. (One at a time)
2. Deployment Failures ? - Rollback to previous version.
3. Auto-scalled a new instances.
Handles them all
Demo
How the formation is done using OpsWorks….
Simple deployment consider my computer as the Jenkins……
How the progress is tracked via Code-Deploy/Emails…..
Dev->QA->STG
1. Do the developer testing in Dev Env.
2. If everything is looks good. Merge the code to QA branch.
3. Above cycle continues and deployments will be available in QA.
4. QA tests.
5. Merge the things to STG Branch.
6. Deployment will be available in STG
7. To Prod ? Continuous Deployment ? Your thoughts ?
What is next ?
Integrate with our GIt Lab
Needs a orchestrator to view the progress - Integrate with JIRA
Integrate with TPAAS env ? Or New environment ?
Thanks !!!!
Questions ?

Continuous Delivery with AWS Services

  • 1.
  • 2.
    What is it? *Image source: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • 3.
    Complete Picture *Image source:http://www.strategybeach.com/wp-content/uploads/2014/01/Capture3.png
  • 4.
    Pre-requisites : EnvironmentFormation 1. Formation of the environment infrastructure. - (No of instances, DBs, ELBs, other services - AWS Opsworks/Cloudformation is used) 2. Runtimes and necessary agents will be installed. - (JRE, CodeDeploy Agent, Opsworks Agent)
  • 5.
    Artifacts of aDeployment 1. Environment based configurations - CM server is needed ( eg:- puppet, chef (opsworks) ) 2. DB Scripts 3. External dependant configurations. (eg:- API creations in API Cloud, Adding Fields in safenet) 4. Application Artifacts. (Jars, Wars) Anything else ?
  • 6.
    What we haveto do ? 1. Write the code well :). 2. Review the code. 3. Commit to a deployment branch (eg:- Dev) 4. Update the configuration scripts (if any) in Chef (opsworks).
  • 7.
    Continuous Deployment Processper Env Build Unit Test Update Config Repo Trigger Deployment Config Deployment Application Deployment Locate the Deployment Group Instances Notify the Instances Cleans previous Deployment Run Pre Deployment Scripts (eg:- db) Send Notifications Start Application Run Integration Test ???
  • 8.
    Deployment Concerns 1. RollingDeployments. (One at a time) 2. Deployment Failures ? - Rollback to previous version. 3. Auto-scalled a new instances. Handles them all
  • 9.
    Demo How the formationis done using OpsWorks…. Simple deployment consider my computer as the Jenkins…… How the progress is tracked via Code-Deploy/Emails…..
  • 10.
    Dev->QA->STG 1. Do thedeveloper testing in Dev Env. 2. If everything is looks good. Merge the code to QA branch. 3. Above cycle continues and deployments will be available in QA. 4. QA tests. 5. Merge the things to STG Branch. 6. Deployment will be available in STG 7. To Prod ? Continuous Deployment ? Your thoughts ?
  • 11.
    What is next? Integrate with our GIt Lab Needs a orchestrator to view the progress - Integrate with JIRA Integrate with TPAAS env ? Or New environment ?
  • 12.