{"id":37364,"date":"2017-09-18T00:33:49","date_gmt":"2017-09-18T00:33:49","guid":{"rendered":"https:\/\/www.whizlabs.com\/?p=37364"},"modified":"2024-05-21T16:55:27","modified_gmt":"2024-05-21T11:25:27","slug":"opswork-deployment-in-aws","status":"publish","type":"post","link":"https:\/\/www.whizlabs.com\/blog\/opswork-deployment-in-aws\/","title":{"rendered":"Opswork Deployment in AWS"},"content":{"rendered":"<p style=\"text-align: justify;\">Opswork is a service that allows one to define and deploy a stack of components. Opswork is designed to work with the Configuration Management tool, Chef. Some of the key features of the Opswork service are<\/p>\n<ol>\n<li style=\"text-align: justify;\">Ability to automate the deployment of software packages on operating systems.<\/li>\n<li style=\"text-align: justify;\">Ability to control deployments and carry out <a href=\"https:\/\/www.whizlabs.com\/blog\/blue-green-deployment\/\" target=\"_blank\" rel=\"noopener noreferrer\">Blue-Green Deployments<\/a> if required.<\/li>\n<li style=\"text-align: justify;\">Integration with both Chef 11 and 12.<\/li>\n<li style=\"text-align: justify;\">Ability to have a database layer and an Elastic Load balancer attached to the stack<\/li>\n<\/ol>\n<p style=\"text-align: justify;\">This topic addresses the Continuous Delivery and Process Automation topic as highlighted in the <a href=\"https:\/\/d0.awsstatic.com\/training-and-certification\/docs-devops-pro\/AWS_certified_devops_engineer_professional_blueprint.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Blueprint<\/a> for the exam guide.<\/p>\n<p><a href=\"https:\/\/www.whizlabs.com\/aws-solutions-architect-associate\/online-course\/\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"size-full wp-image-69376 aligncenter\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/sites\/2\/2018\/08\/AWS_Certified_Solutions_Architect_Associate_Online_Course.gif\" alt=\"AWS Certified Solutions Architect Associate Online Course\" width=\"728\" height=\"90\" \/><\/a><\/p>\n<h2 style=\"text-align: justify;\"><b>How does the OpsWork Stack look like?<\/b><\/h2>\n<p style=\"text-align: justify;\">The below diagram from AWS shows the basic structure of the Opswork stack<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37382 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_1.png\" alt=\"Opswork Stack\" width=\"914\" height=\"291\" \/><\/p>\n<p style=\"text-align: justify;\">1) First is the definition of the stack itself. You could have stacks for different purposes. For example, you could have stacks for your staging environment, have a separate one for your production environment etc.<\/p>\n<p style=\"text-align: justify;\">2) Once you define the stack, the next step is to add the layers. You can have multiple layers. For example, you have one layer which represents the Operating System layer and another layer which represents the Web server layer.<\/p>\n<p style=\"text-align: justify;\">3) Next, you will define and deploy the apps onto your Opswork stack<\/p>\n<p style=\"text-align: justify;\">4) And finally, you will manage your Opswork stack which includes adding new layers or modifying the components in the existing layers.<\/p>\n<h2 style=\"text-align: justify;\"><b>Implementing OpsWork Stacks<\/b><\/h2>\n<p style=\"text-align: justify;\">Now let\u2019s have a closer look at how we can work with Opswork stacks. In the below example, we will create an Opswork stack using Chef11. We will use the built-in recipe\u2019s available with the AWS Opswork service. We will choose to have nginx installed as a web server on the underlying instances created with Opswork. And finally, we will deploy a simple HTML (Demo.html) page to the underlying instances. Here we are assuming that there is a public GitHub repository in place which has the uploaded code.<\/p>\n<p style=\"text-align: justify;\"><strong>Step 1)<\/strong> Log into your AWS Console. Go to the Management Tools-&gt;OpsWorks section<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37383 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_2.png\" alt=\"opsworks stacks\" width=\"231\" height=\"223\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 2)<\/strong> The first step is to create a stack, hence in the next screen, click on \u201cAdd your first stack\u201d<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37384 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_3.png\" alt=\"opswork \" width=\"496\" height=\"207\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 3)<\/strong> In the next screen, choose a Chef 11 stack.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37385 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_4.png\" alt=\"Sample stack\" width=\"1032\" height=\"226\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 4)<\/strong> Choose the operating system, remember that you can just have one type of OS for a stack. You cannot mix and match operating systems. For now, let\u2019s leave the custom Chef cookbooks as \u2018No\u2019. We can also edit this setting once the stack is created.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37386 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_5.png\" alt=\"Demostack Opswork\" width=\"861\" height=\"353\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 5)<\/strong> Leave the rest of the settings as they are and continue to create your stack.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37387 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_6.png\" alt=\"Opswork agent version\" width=\"972\" height=\"527\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 6)<\/strong> Once the stack is created, next click on the Layers section.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37388 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_7.png\" alt=\"Opswork demostack\" width=\"629\" height=\"298\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 7)<\/strong> In the Layers section, click on Add Layer.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37389 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_8.png\" alt=\"Opswork\" width=\"1249\" height=\"249\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 8)<\/strong> In the next screen, you can choose the Layer type. In this example, we are choosing the static web server which will install the nginx web server. You also need to attach an Elastic Load Balancer to your stack. Note that the instances which are currently mapped to the ELB will be removed. In the below snapshot, a load balancer has already been created from before.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37390 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_9.png\" alt=\"nginx web server\" width=\"1008\" height=\"408\" \/><\/p>\n<p style=\"text-align: justify;\">Once the layer is created, you can view the settings of the Layer<\/p>\n<p style=\"text-align: justify;\">a) The Recipes section will show you the built-in recipes for your stack. If you want to use your own recipes then you need to use your own cookbooks and change the layer settings accordingly.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37391 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_10.png\" alt=\"Opswork deployment\" width=\"1045\" height=\"397\" \/><\/p>\n<p style=\"text-align: justify;\">b) You can also choose the install custom packages based on the OS in the OS packages section.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37392 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_11.png\" alt=\"OS Packages\" width=\"1003\" height=\"292\" \/><\/p>\n<p style=\"text-align: justify;\">c) The network section is shown below. This is where you can decide on the ELB to use and whether to have Public and Elastic IP addresses.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37394 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_12.png\" alt=\"Opswork\" width=\"1005\" height=\"468\" \/><\/p>\n<p style=\"text-align: justify;\">d) The EBS Volumes are shown as below<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37394 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_13.png\" alt=\"EBS Volumes\" width=\"1005\" height=\"468\" \/><\/p>\n<p style=\"text-align: justify;\">e) In the General section, you have the Auto healing feature. Every instance has an AWS OpsWorks Stacks agent that communicates regularly with the service. AWS OpsWorks Stacks uses that communication to monitor instance health. If an agent does not communicate with the service for more than approximately five minutes, AWS OpsWorks Stacks considers the instance to have failed.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37395 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_14.png\" alt=\"Layer static web server\" width=\"1003\" height=\"430\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 9)<\/strong> Once the Layer is added, click the \u2018Add instance\u2019 to add an instance to the layer.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37366 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_15.png\" alt=\"Opswork Layers\" width=\"1029\" height=\"370\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 10)<\/strong> When adding an instance, choose the Instance type and then click on \u201cAdd Instance\u201d<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37367 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_16.png\" alt=\"Existing Opsworks\" width=\"971\" height=\"303\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 11)<\/strong> Once the Instance is added, click on the start button to start the instance.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37368 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_17.png\" alt=\"Opswork\" width=\"978\" height=\"228\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 12)<\/strong> Once the instance is launched, you will get a Public IP<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37369 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_18.png\" alt=\"Static web server\" width=\"1006\" height=\"212\" \/><\/p>\n<p style=\"text-align: justify;\">Then when you browse to the Public IP address in another tab you will get the home page of the nginx web server.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37370 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_19.png\" alt=\"ngnix web server\" width=\"1061\" height=\"399\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 13)<\/strong> Next look at deploying your application. Click on \u2018Add app\u2019 in the Apps section of the stack.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37371 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_20.png\" alt=\"AWS Opsworks Stacks\" width=\"1203\" height=\"306\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 14)<\/strong> In the App section, choose the following settings. Choose \u2018Static\u2019 in this case.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37373 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_21.png\" alt=\"AWS certifications\" width=\"805\" height=\"291\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 15)<\/strong> Enter the URL for the source code. Ensure to provide the code from the GitHub public repository of your choice.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37374 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_22.png\" alt=\"Cloud computing\" width=\"581\" height=\"380\" \/><\/p>\n<p style=\"text-align: justify;\">You can add additional settings if required<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37375 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_23.png\" alt=\"AWS Opswork\" width=\"894\" height=\"294\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 16)<\/strong> Now that you have the app, click on \u2018Deploy\u2019<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37376 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_24.png\" alt=\"Opswork deployment\" width=\"1032\" height=\"239\" \/><\/p>\n<p style=\"text-align: justify;\">Choose the Deploy option. When deploying you have the ability to deploy the code to a set of instances only or to all instances.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37377 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_25.png\" alt=\"Opswork Deploy app\" width=\"893\" height=\"477\" \/><\/p>\n<p style=\"text-align: justify;\">The other commands do the following &#8211;<\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">a) Undeploy &#8211; Triggers an Undeploy\u00a0<a href=\"http:\/\/docs.aws.amazon.com\/opsworks\/latest\/userguide\/workingcookbook-events.html\" target=\"_blank\" rel=\"noopener\">lifecycle event<\/a>, which runs the un-deploy recipes to remove all versions of the app from the specified instances.<\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">b) Rollback &#8211; Restores the previously deployed app version.<\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">c) Start Web server &#8211; Runs recipes that start the application server on the specified instances. This command is not available in Chef 12 stacks.<\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">d) Stop Web Server &#8211; Runs recipes that stop the application server on the specified instances. This command is not available in Chef 12 stacks.<\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">e) Restart Web Server &#8211; Runs recipes that restart the application server on the specified instances. This command is not available in Chef 12 stacks.<\/p>\n<p><a href=\"https:\/\/www.whizlabs.com\/aws-devops-certification-training\/\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-47420\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/Preparing-for-Microsoft-Azure-Certification_-Get-Certified-Today-3.jpg\" alt=\"\" width=\"728\" height=\"90\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Start Web Server,\u00a0Stop Web Server,\u00a0Restart Web Server, and\u00a0Rollback\u00a0are essentially customized versions of the\u00a0<a href=\"http:\/\/docs.aws.amazon.com\/opsworks\/latest\/userguide\/workingstacks-commands.html\" target=\"_blank\" rel=\"noopener\">Execute Recipes stack command<\/a>. They run a set of recipes that perform the task on the specified instances.<\/p>\n<ul style=\"text-align: justify;\">\n<li>These commands do not trigger a lifecycle event, so you cannot hook them to run custom code.<\/li>\n<li>These commands work only for the built-in\u00a0<a href=\"http:\/\/docs.aws.amazon.com\/opsworks\/latest\/userguide\/workinglayers-servers.html\" target=\"_blank\" rel=\"noopener\">application server layers<\/a>.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong>Step 17)<\/strong> You can then choose the instances where it should run and then finally click on \u2018Deploy\u2019<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37378 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_26.png\" alt=\"AWS OpsWorks\" width=\"1009\" height=\"281\" \/><\/p>\n<p style=\"text-align: justify;\">If the App deployment is successful, you will get the response. You can also see the log if required.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37379 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_27.png\" alt=\"Opsworks\" width=\"1029\" height=\"347\" \/><\/p>\n<p style=\"text-align: justify;\">If you now go to the site, you can see the Demo.html file.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37380 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_28.png\" alt=\"Opswork\" width=\"636\" height=\"161\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>Step 18)<\/strong> You can also deploy changes to the app. If you make a change in GitHub, to the Demo.html file, and do a deploy again in Opswork, you will see the modified application.<\/p>\n<p style=\"padding-left: 60px; text-align: justify;\"><img decoding=\"async\" class=\"alignnone wp-image-37381 size-full\" src=\"https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2024\/05\/AWSDevOPS_dwos_29.png\" alt=\"GitHub\" width=\"436\" height=\"167\" \/><\/p>\n<h4 style=\"text-align: justify;\"><b>Final Points to Remember\u00a0<\/b><\/h4>\n<p style=\"text-align: justify;\">1) Opsworks consists of stacks. You can have stacks for different purposes, for example, you can define separate stacks for development, staging and production environments in your organization.<\/p>\n<p style=\"text-align: justify;\">2) Each stack consists of layers. For example, you can have one layer for your Web server and another layer for your database server.<\/p>\n<p style=\"text-align: justify;\">3) Once the layers are defined, you define and start the instances in each layer.<\/p>\n<p style=\"text-align: justify;\">4) You then finally deploy the apps to the layers. You can deploy an app multiple times. Remember the following key points<\/p>\n<ul>\n<li style=\"text-align: justify;\">AWS OpsWorks Stacks automatically deploys the current app version to new instances when they are started.<\/li>\n<li style=\"text-align: justify;\">AWS OpsWorks Stacks automatically deploys the latest app version for offline instances, including\u00a0load-based and time-based instances, when they are restarted.<\/li>\n<li style=\"text-align: justify;\">You must manually deploy the updated app to online instances.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Whizlabs\u00a0<a href=\"https:\/\/www.whizlabs.com\/aws-devops-certification-training\/\"><span class=\"s1\">AWS Certified DevOps Professional<\/span><\/a>\u00a0Practice Tests help students to get mentally prepared for the actual certification exam. Practicing several times through AWS\u00a0mock tests before the certification exam, makes you better prepared for the real one.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Opswork is a service that allows one to define and deploy a stack of components. Opswork is designed to work with the Configuration Management tool, Chef. Some of the key features of the Opswork service are Ability to automate the deployment of software packages on operating systems. Ability to control deployments and carry out Blue-Green Deployments if required. Integration with both Chef 11 and 12. Ability to have a database layer and an Elastic Load balancer attached to the stack This topic addresses the Continuous Delivery and Process Automation topic as highlighted in the AWS Blueprint for the exam guide. [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":47895,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4],"tags":[184,201,291,604,780,1163,1164],"class_list":["post-37364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws-certifications","tag-aws","tag-aws-certifications","tag-aws-opsworks-stacks","tag-cloud-computing","tag-github","tag-opswork-deployment","tag-opswork-service"],"uagb_featured_image_src":{"full":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",560,315,false],"thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111-150x150.jpg",150,150,true],"medium":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111-300x169.jpg",300,169,true],"medium_large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",560,315,false],"large":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",560,315,false],"1536x1536":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",560,315,false],"2048x2048":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",560,315,false],"profile_24":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",24,14,false],"profile_48":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",48,27,false],"profile_96":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",96,54,false],"profile_150":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",150,84,false],"profile_300":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",300,169,false],"tptn_thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111-250x250.jpg",250,250,true],"web-stories-poster-portrait":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",560,315,false],"web-stories-publisher-logo":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",96,54,false],"web-stories-thumbnail":["https:\/\/www.whizlabs.com\/blog\/wp-content\/uploads\/2017\/09\/111.jpg",150,84,false]},"uagb_author_info":{"display_name":"Pavan Gumaste","author_link":"https:\/\/www.whizlabs.com\/blog\/author\/pavan\/"},"uagb_comment_info":0,"uagb_excerpt":"Opswork is a service that allows one to define and deploy a stack of components. Opswork is designed to work with the Configuration Management tool, Chef. Some of the key features of the Opswork service are Ability to automate the deployment of software packages on operating systems. Ability to control deployments and carry out Blue-Green&hellip;","_links":{"self":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/37364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/comments?post=37364"}],"version-history":[{"count":5,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/37364\/revisions"}],"predecessor-version":[{"id":96318,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/posts\/37364\/revisions\/96318"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media\/47895"}],"wp:attachment":[{"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/media?parent=37364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/categories?post=37364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.whizlabs.com\/blog\/wp-json\/wp\/v2\/tags?post=37364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}