{"id":3161,"date":"2026-04-08T23:07:00","date_gmt":"2026-04-08T15:07:00","guid":{"rendered":"https:\/\/ichwanchandra.com\/blog\/?p=3161"},"modified":"2026-10-16T15:23:03","modified_gmt":"2026-10-16T07:23:03","slug":"aws-solutions-architect-project-performance-efficiency-part-2","status":"publish","type":"post","link":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/","title":{"rendered":"AWS Solutions Architect Project (Performance Efficiency Pillar) &#8211; Serverless Application &#8211; Part 2"},"content":{"rendered":"\n<p>IAM role is the mechanism we are using for this project to enable the centralized security while giving flexible yet temporary credentials for our lambda functions. It&#8217;s the implementation of principle of least privilege where lambda functions will get necessary permissions only.<\/p>\n\n\n\n<p>We are going to create an IAM role called ProductInventoryRole to secure communication among lambda functions, DynamoDB table, and CloudWatch logs<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Setup Base IAM Role<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Navigate to IAM console<\/li>\n\n\n\n<li>From sidebar menu, click <strong>Roles<\/strong><\/li>\n\n\n\n<li>Click <strong>Create Role<\/strong>\n<ul class=\"wp-block-list\">\n<li>Trusted entity type: <strong>AWS service<\/strong><\/li>\n\n\n\n<li>Use case: <strong>Lambda<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Next<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1069\" height=\"1005\" src=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-3.png\" alt=\"\" class=\"wp-image-3209\" srcset=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-3.png 1069w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-3-300x282.png 300w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-3-1024x963.png 1024w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-3-768x722.png 768w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Attach Basic Lambda Permissions<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Add AWS Managed PolicyWhat this policy provides:<\/strong><br>Search and select: <code>AWSLambdaBasicExecutionRole<\/code><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1069\" height=\"668\" src=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-4.png\" alt=\"\" class=\"wp-image-3215\" srcset=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-4.png 1069w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-4-300x187.png 300w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-4-1024x640.png 1024w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-4-768x480.png 768w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Create the Role<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Role name: <strong>ProductInventoryRole<\/strong><\/li>\n\n\n\n<li>Leave the other options as default<\/li>\n\n\n\n<li>Click <strong>Create Role<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1069\" height=\"1458\" src=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-5.png\" alt=\"\" class=\"wp-image-3218\" srcset=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-5.png 1069w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-5-220x300.png 220w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-5-751x1024.png 751w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-5-768x1047.png 768w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Add DynamoDB Permissions with Custom Policy<\/h2>\n\n\n\n<p>The reason of using custom policy is because the AWS managed policies are sometimes too broad, therefore we create a custom policy to align with the principle of least privilege.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Navigate to <strong>ProductInventoryRole<\/strong> \u2192 <strong>Permissions policies<\/strong> <\/li>\n\n\n\n<li>Click <strong>Add permissions<\/strong> and  <strong>Create inline policy<\/strong><\/li>\n\n\n\n<li>Specify permissions\n<ul class=\"wp-block-list\">\n<li>Select: <strong>DynamoDB<\/strong><\/li>\n\n\n\n<li>Actions to be chosen:\n<ul class=\"wp-block-list\">\n<li>GetItem<\/li>\n\n\n\n<li>Scan<\/li>\n\n\n\n<li>PutItem<\/li>\n\n\n\n<li>UpdateItem<\/li>\n\n\n\n<li>DeleteItem<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1069\" height=\"1697\" src=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-6.png\" alt=\"\" class=\"wp-image-3223\" style=\"width:645px;height:auto\" srcset=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-6.png 1069w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-6-189x300.png 189w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-6-645x1024.png 645w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-6-768x1219.png 768w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-6-968x1536.png 968w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Specify Resource Access<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the resource section, choose <strong>add ARNs on specific table<\/strong><\/li>\n\n\n\n<li>Go back to the DynamoDB table and choose and copy the table&#8217;s ARN<\/li>\n\n\n\n<li>Go back to IAM console, and paste the table ARN, the other information will be auto-populated<\/li>\n\n\n\n<li>Click <strong>Add ARNs<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"278\" src=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-8.png\" alt=\"\" class=\"wp-image-3228\" srcset=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-8.png 711w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-8-300x117.png 300w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1069\" height=\"433\" src=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-7.png\" alt=\"\" class=\"wp-image-3227\" srcset=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-7.png 1069w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-7-300x122.png 300w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-7-1024x415.png 1024w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-7-768x311.png 768w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Finalize the Policy<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Policy name: <strong>DynamoDB Policy<\/strong><\/li>\n\n\n\n<li>Click <strong>Create Policy<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1068\" height=\"723\" src=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-9.png\" alt=\"\" class=\"wp-image-3231\" srcset=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-9.png 1068w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-9-300x203.png 300w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-9-1024x693.png 1024w, https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/04\/image-9-768x520.png 768w\" sizes=\"auto, (max-width: 1068px) 100vw, 1068px\" \/><\/figure>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>In this step we have setup the IAM role for our lambda function. This IAM role is a typical one role for all lambda functions with a more granular permissions via custom inline policy instead using AWS managed one which is too broad. This is following AWS security best practice (least privilege) to minimize damage in case credentials are compromised.<\/p>\n\n\n\n<p>In the next part, we will focus to build lambda functions along with its layer with the DynamoDB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>IAM role is the mechanism we are using for this project to enable the centralized security while giving flexible yet temporary credentials for our lambda functions. It&#8217;s the implementation of principle of least privilege where lambda functions will get necessary permissions only.<\/p>\n","protected":false},"author":1,"featured_media":3411,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,20,85,75,8],"tags":[],"class_list":["post-3161","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","category-backend","category-projects","category-system-design","category-technology"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>AWS Solutions Architect Project (Performance Efficiency Pillar) - Serverless Application - Part 2 - Ichwan Chandra<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS Solutions Architect Project (Performance Efficiency Pillar) - Serverless Application - Part 2 - Ichwan Chandra\" \/>\n<meta property=\"og:description\" content=\"IAM role is the mechanism we are using for this project to enable the centralized security while giving flexible yet temporary credentials for our lambda functions. It&#039;s the implementation of principle of least privilege where lambda functions will get necessary permissions only.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Ichwan Chandra\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-08T15:07:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-16T07:23:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/10\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ichwan Chandra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ichwan Chandra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/\"},\"author\":{\"name\":\"Ichwan Chandra\",\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/#\\\/schema\\\/person\\\/2fa69a7a1008a3369584752194b063d5\"},\"headline\":\"AWS Solutions Architect Project (Performance Efficiency Pillar) &#8211; Serverless Application &#8211; Part 2\",\"datePublished\":\"2026-04-08T15:07:00+00:00\",\"dateModified\":\"2026-10-16T07:23:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/\"},\"wordCount\":333,\"image\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg\",\"articleSection\":[\"AWS\",\"Backend\",\"Projects\",\"System Design\",\"Technology\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/\",\"url\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/\",\"name\":\"AWS Solutions Architect Project (Performance Efficiency Pillar) - Serverless Application - Part 2 - Ichwan Chandra\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg\",\"datePublished\":\"2026-04-08T15:07:00+00:00\",\"dateModified\":\"2026-10-16T07:23:03+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/#\\\/schema\\\/person\\\/2fa69a7a1008a3369584752194b063d5\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg\",\"contentUrl\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg\",\"width\":1376,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/aws-solutions-architect-project-performance-efficiency-part-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS Solutions Architect Project (Performance Efficiency Pillar) &#8211; Serverless Application &#8211; Part 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/\",\"name\":\"Ichwan Chandra\",\"description\":\"In a lifelong learning mode\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/#\\\/schema\\\/person\\\/2fa69a7a1008a3369584752194b063d5\",\"name\":\"Ichwan Chandra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8d8d64c76e361108ee058442df7c49c539eefd1d1e5a3e8dbcc9d70289e0bbf2?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8d8d64c76e361108ee058442df7c49c539eefd1d1e5a3e8dbcc9d70289e0bbf2?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8d8d64c76e361108ee058442df7c49c539eefd1d1e5a3e8dbcc9d70289e0bbf2?s=96&d=retro&r=g\",\"caption\":\"Ichwan Chandra\"},\"sameAs\":[\"https:\\\/\\\/ichwanchandra.com\\\/blog\"],\"url\":\"https:\\\/\\\/ichwanchandra.com\\\/blog\\\/author\\\/isuchan193\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AWS Solutions Architect Project (Performance Efficiency Pillar) - Serverless Application - Part 2 - Ichwan Chandra","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/","og_locale":"en_US","og_type":"article","og_title":"AWS Solutions Architect Project (Performance Efficiency Pillar) - Serverless Application - Part 2 - Ichwan Chandra","og_description":"IAM role is the mechanism we are using for this project to enable the centralized security while giving flexible yet temporary credentials for our lambda functions. It's the implementation of principle of least privilege where lambda functions will get necessary permissions only.","og_url":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/","og_site_name":"Ichwan Chandra","article_published_time":"2026-04-08T15:07:00+00:00","article_modified_time":"2026-10-16T07:23:03+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/10\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg","type":"image\/jpeg"}],"author":"Ichwan Chandra","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ichwan Chandra","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/#article","isPartOf":{"@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/"},"author":{"name":"Ichwan Chandra","@id":"https:\/\/ichwanchandra.com\/blog\/#\/schema\/person\/2fa69a7a1008a3369584752194b063d5"},"headline":"AWS Solutions Architect Project (Performance Efficiency Pillar) &#8211; Serverless Application &#8211; Part 2","datePublished":"2026-04-08T15:07:00+00:00","dateModified":"2026-10-16T07:23:03+00:00","mainEntityOfPage":{"@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/"},"wordCount":333,"image":{"@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/10\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg","articleSection":["AWS","Backend","Projects","System Design","Technology"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/","url":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/","name":"AWS Solutions Architect Project (Performance Efficiency Pillar) - Serverless Application - Part 2 - Ichwan Chandra","isPartOf":{"@id":"https:\/\/ichwanchandra.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/#primaryimage"},"image":{"@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/10\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg","datePublished":"2026-04-08T15:07:00+00:00","dateModified":"2026-10-16T07:23:03+00:00","author":{"@id":"https:\/\/ichwanchandra.com\/blog\/#\/schema\/person\/2fa69a7a1008a3369584752194b063d5"},"breadcrumb":{"@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/#primaryimage","url":"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/10\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg","contentUrl":"https:\/\/ichwanchandra.com\/blog\/wp-content\/uploads\/2026\/10\/aws-solutions-architect-project-performance-efficiency-part-2.jpeg","width":1376,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/ichwanchandra.com\/blog\/aws-solutions-architect-project-performance-efficiency-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ichwanchandra.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS Solutions Architect Project (Performance Efficiency Pillar) &#8211; Serverless Application &#8211; Part 2"}]},{"@type":"WebSite","@id":"https:\/\/ichwanchandra.com\/blog\/#website","url":"https:\/\/ichwanchandra.com\/blog\/","name":"Ichwan Chandra","description":"In a lifelong learning mode","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ichwanchandra.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/ichwanchandra.com\/blog\/#\/schema\/person\/2fa69a7a1008a3369584752194b063d5","name":"Ichwan Chandra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8d8d64c76e361108ee058442df7c49c539eefd1d1e5a3e8dbcc9d70289e0bbf2?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8d8d64c76e361108ee058442df7c49c539eefd1d1e5a3e8dbcc9d70289e0bbf2?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8d8d64c76e361108ee058442df7c49c539eefd1d1e5a3e8dbcc9d70289e0bbf2?s=96&d=retro&r=g","caption":"Ichwan Chandra"},"sameAs":["https:\/\/ichwanchandra.com\/blog"],"url":"https:\/\/ichwanchandra.com\/blog\/author\/isuchan193\/"}]}},"_links":{"self":[{"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/posts\/3161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/comments?post=3161"}],"version-history":[{"count":19,"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/posts\/3161\/revisions"}],"predecessor-version":[{"id":3239,"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/posts\/3161\/revisions\/3239"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/media\/3411"}],"wp:attachment":[{"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/media?parent=3161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/categories?post=3161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ichwanchandra.com\/blog\/wp-json\/wp\/v2\/tags?post=3161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}