1 / 15

Infrastructure as Code - Why the Buzz ?

Infrastructure as Code - Why the Buzz ?. monikam@princeton.edu. Monika Mevenkamp. Infrastructure as Code. New Approach to Providing and Scaling Infrastructure for Applications. monikam@princeton.edu. Monika Mevenkamp. A Web Application Example. monikam@princeton.edu. Monika Mevenkamp.

fickes
Download Presentation

Infrastructure as Code - Why the Buzz ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Infrastructure as Code - Why the Buzz ? monikam@princeton.edu Monika Mevenkamp

  2. Infrastructure as Code New Approach to Providing and Scaling Infrastructure for Applications monikam@princeton.edu Monika Mevenkamp

  3. A Web Application Example monikam@princeton.edu Monika Mevenkamp

  4. Iterative Development monikam@princeton.edu Monika Mevenkamp

  5. Send in Ticket Deploy Application Get Server ~ 2 weeks later Install application dependencies monikam@princeton.edu Test Application Monika Mevenkamp

  6. Deploy ‘Infrastructure as Code’ Approach monikam@princeton.edu 1 create a template file 2 upload file to cloud -> cloud services provision resources 3 run tests Monika Mevenkamp

  7. "Parameters" : {"GitRepo": {}, "GitCommit": {}, "InstanceType" : {}},"Resources" : { "WebServerInstance": { "Type": "AWS::EC2::Instance","AWS::CloudFormation::Init": {"Install": {"packages": { "yum": { "git": [], "httpd": [], "php": []} },"files" : { "/tmp/custom_deploy_code" : [“git init . ","git remote add origin ", { "Ref" : "GitRepo" },"git pull origin ", { "Ref" : "GitCommit" }] },"services": {"httpd": {"enabled": "true", "ensureRunning": "true" },"cfn-hup": {"enabled": "true", "ensureRunning": "true" }, } },"Configure": {"custom_deploy_code": {"command": "/tmp/custom_deploy_code","cwd": "/var/www/html"} } Deploy ‘Infrastructure as Code’ Approach monikam@princeton.edu Monika Mevenkamp

  8. "Parameters" : {"GitRepo": {}, "GitCommit": {}, "InstanceType" : {}},"Resources" : { "WebServerInstance": { "Type": "AWS::EC2::Instance","AWS::CloudFormation::Init": {"Install": {"packages": { "yum": { "git": [], "httpd": [], "php": []} },"files" : { "/tmp/custom_deploy_code" : [“git init . ","git remote add origin ", { "Ref" : "GitRepo" },"git pull origin ", { "Ref" : "GitCommit" }] },"services": {"httpd": {"enabled": "true", "ensureRunning": "true" },"cfn-hup": {"enabled": "true", "ensureRunning": "true" }, } },"Configure": {"custom_deploy_code": {"command": "/tmp/custom_deploy_code","cwd": "/var/www/html"} } Deploy ‘Infrastructure as Code’ Approach monikam@princeton.edu Monika Mevenkamp

  9. "Parameters" : {"GitRepo": {}, "GitCommit": {}, "InstanceType" : {}},"Resources" : { "WebServerInstance": { "Type": "AWS::EC2::Instance","AWS::CloudFormation::Init": {"Install": {"packages": { "yum": { "git": [], "httpd": [], "php": []} },"files" : { "/tmp/custom_deploy_code" : [“git init . ","git remote add origin ", { "Ref" : "GitRepo" },"git pull origin ", { "Ref" : "GitCommit" }] },"services": {"httpd": {"enabled": "true", "ensureRunning": "true" },"cfn-hup": {"enabled": "true", "ensureRunning": "true" }, } },"Configure": {"custom_deploy_code": {"command": "/tmp/custom_deploy_code","cwd": "/var/www/html"} } Deploy ‘Infrastructure as Code’ Approach monikam@princeton.edu Monika Mevenkamp

  10. "Parameters" : {"GitRepo": {}, "GitCommit": {}, "InstanceType" : {}},"Resources" : { "WebServerInstance": { "Type": "AWS::EC2::Instance","AWS::CloudFormation::Init": {"Install": {"packages": { "yum": { "git": [], "httpd": [], "php": []} },"files" : { "/tmp/custom_deploy_code" : [“git init . ","git remote add origin ", { "Ref" : "GitRepo" },"git pull origin ", { "Ref" : "GitCommit" }] },"services": {"httpd": {"enabled": "true", "ensureRunning": "true" },"cfn-hup": {"enabled": "true", "ensureRunning": "true" }, } },"Configure": {"custom_deploy_code": {"command": "/tmp/custom_deploy_code","cwd": "/var/www/html"} } Deploy ‘Infrastructure as Code’ Approach monikam@princeton.edu Monika Mevenkamp

  11. "Parameters" : {"GitRepo": {}, "GitCommit": {}, "InstanceType" : {}},"Resources" : { "WebServerInstance": { "Type": "AWS::EC2::Instance","AWS::CloudFormation::Init": {"Install": {"packages": { "yum": { "git": [], "httpd": [], "php": []} },"files" : { "/tmp/custom_deploy_code" : [“git init . ","git remote add origin ", { "Ref" : "GitRepo" },"git pull origin ", { "Ref" : "GitCommit" }] },"services": {"httpd": {"enabled": "true", "ensureRunning": "true" },"cfn-hup": {"enabled": "true", "ensureRunning": "true" }, } },"Configure": {"custom_deploy_code": {"command": "/tmp/custom_deploy_code","cwd": "/var/www/html"} } Deploy ‘Infrastructure as Code’ Approach monikam@princeton.edu Monika Mevenkamp

  12. Deploy ‘Infrastructure as Code’ Approach monikam@princeton.edu Run script to request server Monika Mevenkamp

  13. Deploy from Bitbucket monikam@princeton.edu Monika Mevenkamp

  14. Automated Fast Testable Versioned monikam@princeton.edu Monika Mevenkamp

  15. Infrastructure = Configuration + Code And that is the Buzz software development best practices monikam@princeton.edu faster more flexible more reliable Monika Mevenkamp

More Related