{"id":2792,"date":"2018-09-12T00:53:51","date_gmt":"2018-09-12T06:53:51","guid":{"rendered":"https:\/\/www.supportpro.com\/blog\/?p=2792"},"modified":"2026-03-19T06:28:37","modified_gmt":"2026-03-19T12:28:37","slug":"aws-codedeploy","status":"publish","type":"post","link":"https:\/\/www.supportpro.com\/blog\/aws-codedeploy\/","title":{"rendered":"AWS CodeDeploy: Benefits, Deployment Types, and How It Works"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2792\" class=\"elementor elementor-2792\">\n\t\t\t\t\t\t<section class=\"penci-section penci-disSticky penci-structure-10 elementor-section elementor-top-section elementor-element elementor-element-7574a174 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7574a174\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"penci-ercol-100 penci-ercol-order-1 penci-sticky-ct    elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-172daded\" data-id=\"172daded\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2aa5a6dd elementor-widget elementor-widget-text-editor\" data-id=\"2aa5a6dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><\/p>\n<p><span style=\"font-weight: 400;\">AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances and on-premises instances. It helps us to deploy application content such as code, serverless AWS Lambda functions, web and configuration files, packages, scripts, multimedia files, and more.<\/span> <span style=\"font-weight: 400;\">After deploying the application content on a server it is stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">It works with various systems for configuration management, source control, continuous integration, continuous delivery, and continuous deployment.<\/span><\/p>\n<p><\/p>\n<p><div class=\"wp-block-image lightbox\"><\/p>\n<figure class=\"aligncenter\"><a class=\"lightbox\" href=\"https:\/\/www.supportpro.com\/cloud_request.php\"><img fetchpriority=\"high\" decoding=\"async\" width=\"468\" height=\"278\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/aws-codedeploy-flow.png\" alt=\"Code Deploy Flow\" class=\"wp-image-2793\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/aws-codedeploy-flow.png 468w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/aws-codedeploy-flow-300x178.png 300w\" sizes=\"(max-width: 468px) 100vw, 468px\" \/><\/a><\/figure>\n<p><\/div><\/p>\n<p><\/p>\n<p class=\"has-text-align-left\"><a class=\"lightbox\" href=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/aws-codedeploy-flow.png\">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<\/a><span style=\"font-weight: 400;\">With AWS CodeDeploy, the following processes become easier.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<ol class=\"wp-block-list\"><p><\/p>\n<li><span style=\"font-weight: 400;\"> Rapidly release new features.<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\"> Avoid downtime during application deployment.<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\">Update <a href=\"https:\/\/www.supportpro.com\/aws_management.php\">AWS<\/a> Lambda function versions.<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\"> Handle the complexity of updating your applications, without many of the risks associated with error-prone manual deployments.<\/span><\/li>\n<p><\/p><\/ol>\n<p><\/p>\n<p><\/p>\n<h4 class=\"wp-block-heading\"><strong>BENEFITS OF AWS CODEDEPLOY<\/strong><\/h4>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">AWS CodeDeploy offers different types of benefits which are mentioned below.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><strong>1.Server and serverless applications<\/strong><\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">It deploys applications on servers. <strong>Additionally<\/strong>, it can deploy serverless application versions using AWS Lambda functions.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><strong>2. Minimize downtime<\/strong><\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">It maximizes your application availability. It performs a rolling update across Amazon EC2 instances during an in-place deployment. You can specify the number of instances to be taken offline at a time for updates.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><strong>3. Automated deployments<\/strong><\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">It automates application deployment across the development, test, and production environments.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><strong>4. Centralized control<\/strong><\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">You can launch and track the status of your deployments through the AWS CodeDeploy console or the AWS CLI.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><strong>5. Easy to adopt<\/strong><\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">Easily reuse your setup code. AWS CodeDeploy can also integrate with the software release process or continuous delivery toolchain.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><strong>6. Stop and rollback<\/strong><\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">If there&nbsp;are any errors, you can automatically or manually stop and roll back deployments.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<h4 class=\"wp-block-heading\"><span style=\"text-decoration: underline;\"><strong>AWS CODEDEPLOY COMPUTE PLATFORMS<\/strong><\/span><\/h4>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">It&#8217;s possible to deploy applications to two compute platforms in AWS CodeDeploy:<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><b>1) EC2\/On-Premises<\/b><span style=\"font-weight: 400;\">: It describes Amazon EC2 cloud instances and on-premises servers.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p><b>2) AWS Lambda<\/b><span style=\"font-weight: 400;\">: &nbsp;Used to deploy applications of updated versions of Lambda functions.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<figure class=\"wp-block-table\">\n<div class=\"pcrstb-wrap\"><table class=\"has-fixed-layout\">\n<tbody>\n<tr>\n<td>\n<h4 style=\"text-align: center;\"><strong>AWS CodeDeploy Component<\/strong><\/h4>\n<\/td>\n<td class=\"has-text-align-center\" data-align=\"center\">\n<h4><strong>EC2\/On-Premises<\/strong><\/h4>\n<\/td>\n<td>\n<h4 style=\"text-align: center;\"><strong>AWS Lambda<\/strong><\/h4>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h5 style=\"text-align: center;\">Deployment group<\/h5>\n<\/td>\n<td class=\"has-text-align-center\" data-align=\"center\">\n<h5>Deploys a set of instances to which a new revision is deployed.<\/h5>\n<\/td>\n<td>\n<h5 style=\"text-align: center;\">Deploys a Lambda function version on a high-availability compute infrastructure.<\/h5>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h5 style=\"text-align: center;\">Deployment configuration<\/h5>\n<\/td>\n<td class=\"has-text-align-center\" data-align=\"center\">\n<h5>Settings that determine the deployment speed and the minimum number of instances that must be healthy at any point during deployment.<\/h5>\n<\/td>\n<td>\n<h5 style=\"text-align: center;\">Settings that determine how traffic is shifted to the updated Lambda function versions.<\/h5>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h5 style=\"text-align: center;\">Deployment<\/h5>\n<\/td>\n<td class=\"has-text-align-center\" data-align=\"center\">\n<h5>Deploys a new revision that consists of an application and AppSpec file. The AppSpec specifies how to deploy the application to the instances in a deployment group.<\/h5>\n<\/td>\n<td>\n<h5 style=\"text-align: center;\">Deploys a new revision that consists of an AppSpec file. The AppSpec specifies which Lambda function version to deploy.<\/h5>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h5 style=\"text-align: center;\">Application<\/h5>\n<\/td>\n<td class=\"has-text-align-center\" data-align=\"center\">\n<h5>A collection of deployment groups and revisions. An EC2\/On-Premises application uses the EC2\/On-Premises compute platform.<\/h5>\n<\/td>\n<td>\n<h5 style=\"text-align: center;\">A collection of revisions. A Lambda application uses the AWS Lambda compute platform.<\/h5>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h5 style=\"text-align: center;\">Revision<\/h5>\n<\/td>\n<td class=\"has-text-align-center\" data-align=\"center\">\n<h5>A combination of an AppSpec file and application files, such as executables, configuration files, and so on.<\/h5>\n<\/td>\n<td>\n<h5 style=\"text-align: center;\">An AppSpec file that specifies which Lambda functions to deploy and update.<\/h5>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/figure>\n<p><\/p>\n<p><\/p>\n<h4 class=\"wp-block-heading\"><strong>AWS CODEDEPLOY DEPLOYMENT TYPES<\/strong><\/h4>\n<p><\/p>\n<p><\/p>\n<p>AWS CodeDeploy provides two deployment type options:<\/p>\n<p><\/p>\n<p><\/p>\n<ul class=\"wp-block-list\"><p><\/p>\n<li>In-place deployment<\/li>\n<p><\/p>\n<p><\/p>\n<li>Blue\/green deployment<\/li>\n<p><\/p><\/ul>\n<p><\/p>\n<p><\/p>\n<h4 class=\"wp-block-heading\"><strong>In-place deployment<\/strong><\/h4>\n<p><\/p>\n<p><\/p>\n<p>Using the AWS CodeDeploy agent, you can perform deployment on an instance you are logged on to without the need for an application, deployment group, or even an AWS account.<\/p>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">The following diagram shows the flow of a typical AWS CodeDeploy in-place deployment.<\/span><\/p>\n<p><\/p>\n<p><div class=\"wp-block-image\"><\/p>\n<figure class=\"aligncenter\"><a class=\"lightbox\" href=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/sds_architecture.png\" data-rel=\"penci-gallery-image-content\" ><img decoding=\"async\" width=\"784\" height=\"420\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/sds_architecture.png\" alt=\"AWS CODEDEPLOY-Work Flow\" class=\"wp-image-2794\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/sds_architecture.png 784w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/sds_architecture-300x161.png 300w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2018\/09\/sds_architecture-768x411.png 768w\" sizes=\"(max-width: 784px) 100vw, 784px\" \/><\/a><\/figure>\n<p><\/div><\/p>\n<p><\/p>\n<h4 class=\"wp-block-heading\"><strong>Working<\/strong><\/h4>\n<p><\/p>\n<p><\/p>\n<ol class=\"wp-block-list\"><p><\/p>\n<li><span style=\"font-weight: 400;\"> Create deployable content<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\">Add an&nbsp;<\/span><i><span style=\"font-weight: 400;\">application specification file (AppSpec file) which is <\/span><\/i><span style=\"font-weight: 400;\">unique to AWS CodeDeploy.<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\">Bundle the deployable content and the AppSpec file into an archive file.<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\">Upload it to an Amazon S3 bucket or a GitHub repository.&nbsp;<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\">Provide AWS CodeDeploy with information about the deployment so as to deploy its contents.<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\">Next, the AWS CodeDeploy agent on each instance polls AWS CodeDeploy.<\/span><\/li>\n<p><\/p>\n<p><\/p>\n<li><span style=\"font-weight: 400;\"> AWS CodeDeploy agent on each instance pulls the target revision from the specified Amazon S3 bucket or GitHub repository.<\/span><\/li>\n<p><\/p><\/ol>\n<p><\/p>\n<p><\/p>\n<h4 class=\"wp-block-heading\"><strong>Blue\/green deployment<\/strong><\/h4>\n<p><\/p>\n<p><\/p>\n<p><span style=\"font-weight: 400;\">A blue\/green deployment reroute the traffic from one set of instances to a different set. An application can be installed and tested on the new instances. It even helps to switch back to the most recent version of an application faster and also traffic can be routed back to the original instances if they have not been terminated. It helps us to control how traffic is shifted from the original AWS Lambda function versions to the new AWS Lambda function versions.<\/span><\/p>\n<p><\/p>\n<p><\/p>\n<p>If you require any help with setting up your cloud servers or managing the, <a href=\"https:\/\/www.supportpro.com\/requestquote.php\">contact SupportPRO Cloud Management experts<\/a><\/p>\n<p><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"penci-section penci-disSticky penci-structure-20 elementor-section elementor-top-section elementor-element elementor-element-04c3fef elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"04c3fef\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"penci-ercol-50 penci-ercol-order-1 penci-sticky-ct    elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4ec283f\" data-id=\"4ec283f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-880a025 elementor-widget elementor-widget-text-editor\" data-id=\"880a025\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: rgb(49, 49, 49); font-family: Nunito, sans-serif; font-size: 32px;\">Partner with&nbsp;<\/span><span style=\"font-weight: 700; font-size: 32px; color: rgb(49, 49, 49); font-family: Nunito, sans-serif;\">SupportPRO<\/span><span style=\"color: rgb(49, 49, 49); font-family: Nunito, sans-serif; font-size: 32px;\">&nbsp;for 24\/7 proactive cloud support that keeps your business secure, scalable, and ahead of the curve.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4aa1819 elementor-widget elementor-widget-shortcode\" data-id=\"4aa1819\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!--HubSpot Call-to-Action Code --><span class=\"hs-cta-wrapper\" id=\"hs-cta-wrapper-3350a795-db50-482f-9911-301930d1b1be\"><span class=\"hs-cta-node hs-cta-3350a795-db50-482f-9911-301930d1b1be\" id=\"hs-cta-3350a795-db50-482f-9911-301930d1b1be\"><!--[if lte IE 8]><div id=\"hs-cta-ie-element\"><\/div><![endif]--><a href=\"https:\/\/cta-redirect.hubspot.com\/cta\/redirect\/2725694\/3350a795-db50-482f-9911-301930d1b1be\" ><img decoding=\"async\" class=\"hs-cta-img\" id=\"hs-cta-img-3350a795-db50-482f-9911-301930d1b1be\" style=\"border-width:0px;\" src=\"https:\/\/no-cache.hubspot.com\/cta\/default\/2725694\/3350a795-db50-482f-9911-301930d1b1be.png\"  alt=\"Contact Us today!\"\/><\/a><\/span><script charset=\"utf-8\" src=\"https:\/\/js.hscta.net\/cta\/current.js\"><\/script><script type=\"text\/javascript\"> hbspt.cta.load(2725694, '3350a795-db50-482f-9911-301930d1b1be', {\"useNewLoader\":\"true\",\"region\":\"na1\"}); <\/script><\/span><!-- end HubSpot Call-to-Action Code --><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"penci-ercol-50 penci-ercol-order-2 penci-sticky-ct    elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5b2023a\" data-id=\"5b2023a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7bc10a3 elementor-widget elementor-widget-image\" data-id=\"7bc10a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"904\" height=\"931\" src=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png\" class=\"attachment-large size-large wp-image-12943\" alt=\"guy server checkup\" srcset=\"https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup.png 904w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-291x300.png 291w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-768x791.png 768w, https:\/\/www.supportpro.com\/blog\/wp-content\/uploads\/2022\/09\/Free-server-checkup-585x602.png 585w\" sizes=\"(max-width: 904px) 100vw, 904px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances and on-premises instances. It helps us to deploy application content such as code, serverless AWS Lambda&hellip;<\/p>\n","protected":false},"author":4,"featured_media":2814,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[69,67,3],"tags":[],"class_list":["post-2792","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","category-devops","category-technical-articles"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/2792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/comments?post=2792"}],"version-history":[{"count":46,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/2792\/revisions"}],"predecessor-version":[{"id":16238,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/posts\/2792\/revisions\/16238"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media\/2814"}],"wp:attachment":[{"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/media?parent=2792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/categories?post=2792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.supportpro.com\/blog\/wp-json\/wp\/v2\/tags?post=2792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}