<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: marunkumar1983</title>
    <description>The latest articles on Forem by marunkumar1983 (@marunkumar1983).</description>
    <link>https://forem.com/marunkumar1983</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1048331%2Fa7770f0c-ab10-465a-94a4-d32e22effabf.png</url>
      <title>Forem: marunkumar1983</title>
      <link>https://forem.com/marunkumar1983</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/marunkumar1983"/>
    <language>en</language>
    <item>
      <title>Architecting for Modern Finance: Deconstructing the Financial Services Ecosystem - Part 2</title>
      <dc:creator>marunkumar1983</dc:creator>
      <pubDate>Sat, 02 May 2026 06:19:20 +0000</pubDate>
      <link>https://forem.com/marunkumar1983/architecting-for-modern-finance-deconstructing-the-financial-services-ecosystem-part-2-4gek</link>
      <guid>https://forem.com/marunkumar1983/architecting-for-modern-finance-deconstructing-the-financial-services-ecosystem-part-2-4gek</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6oovpn9dss2ej79vncz1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6oovpn9dss2ej79vncz1.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer Experience (DX): The New Competitive Advantage
&lt;/h2&gt;

&lt;p&gt;Developer Experience (DX) is the overall experience developers have while building, testing, and deploying software.&lt;/p&gt;

&lt;p&gt;High-performing companies like Netflix and Amazon invest heavily in DX because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster developers = faster business delivery&lt;/li&gt;
&lt;li&gt;Better tools = fewer production issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Good DX includes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast local setup&lt;/li&gt;
&lt;li&gt;Integrated tooling&lt;/li&gt;
&lt;li&gt;Clear feedback loops&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Shift Left Engineering: Catch Issues Early
&lt;/h2&gt;

&lt;p&gt;Shift Left means moving testing, security, and quality checks earlier in the development lifecycle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instead of fixing issues in production:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detect bugs during coding&lt;/li&gt;
&lt;li&gt;Fix vulnerabilities before commit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced cost&lt;/li&gt;
&lt;li&gt;Faster releases&lt;/li&gt;
&lt;li&gt;Better quality&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Modern Developer Environments (Beyond Local Machines)
&lt;/h2&gt;

&lt;p&gt;Cloud-based development environments allow developers to code without local setup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instead of traditional IDEs, teams now use:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Codespaces&lt;/li&gt;
&lt;li&gt;Gitpod&lt;/li&gt;
&lt;li&gt;AWS Cloud9&lt;/li&gt;
&lt;li&gt;JetBrains Space&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;These provide:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pre-configured environments&lt;/li&gt;
&lt;li&gt;Faster onboarding&lt;/li&gt;
&lt;li&gt;Consistent setups&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CI/CD Pipelines: The Backbone of Modern Delivery
&lt;/h2&gt;

&lt;p&gt;CI/CD pipeline is an automated workflow that builds, tests, and deploys applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Popular tools:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jenkins&lt;/li&gt;
&lt;li&gt;GitHub Actions&lt;/li&gt;
&lt;li&gt;GitLab CI/CD&lt;/li&gt;
&lt;li&gt;AWS CodeBuild&lt;/li&gt;
&lt;li&gt;Azure DevOps Pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pipelines integrate:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build tools&lt;/li&gt;
&lt;li&gt;Test frameworks&lt;/li&gt;
&lt;li&gt;Security scans&lt;/li&gt;
&lt;li&gt;Deployment automation&lt;/li&gt;
&lt;li&gt;Performance testing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Code Quality Engineering
&lt;/h2&gt;

&lt;p&gt;Code quality tools analyze code for maintainability, bugs, and standards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SonarQube&lt;/li&gt;
&lt;li&gt;Codacy&lt;/li&gt;
&lt;li&gt;CodeClimate&lt;/li&gt;
&lt;li&gt;DeepSource&lt;/li&gt;
&lt;li&gt;PMD&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Application Security (Shift Left Security)
&lt;/h2&gt;

&lt;p&gt;Application security tools identify vulnerabilities in code before deployment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Snyk&lt;/li&gt;
&lt;li&gt;Checkmarx&lt;/li&gt;
&lt;li&gt;Fortify&lt;/li&gt;
&lt;li&gt;WhiteSource&lt;/li&gt;
&lt;li&gt;Contrast Security&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Deployment Models: Choosing the Right Platform
&lt;/h2&gt;

&lt;p&gt;Deployment model defines where and how applications run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. On-Premise&lt;/strong&gt;&lt;br&gt;
Full control&lt;br&gt;
High cost, slow scaling&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Cloud VM (EC2)&lt;/strong&gt;&lt;br&gt;
Flexible&lt;br&gt;
Moderate control&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Containers (ECS, Kubernetes)&lt;/strong&gt;&lt;br&gt;
Scalable&lt;br&gt;
Requires orchestration&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Serverless (Lambda)&lt;/strong&gt;&lt;br&gt;
No infrastructure&lt;br&gt;
Limited control&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Additional Options&lt;/strong&gt;&lt;br&gt;
Platform as a Service (Heroku, Cloud Foundry)&lt;br&gt;
Hybrid Cloud&lt;br&gt;
Multi-Cloud&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Architecture Decisions
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;There is no single best solution—only context-driven decisions.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Top companies like Google and Microsoft:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use microservices + containers&lt;/li&gt;
&lt;li&gt;Invest in platform engineering&lt;/li&gt;
&lt;li&gt;Standardize pipelines&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  AI in DevOps: Practical Use Cases
&lt;/h2&gt;

&lt;p&gt;AI in DevOps uses machine learning to improve development, testing, and operations&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top 5 use cases:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intelligent code suggestions&lt;/li&gt;
&lt;li&gt;Automated test generation&lt;/li&gt;
&lt;li&gt;Vulnerability detection&lt;/li&gt;
&lt;li&gt;Incident prediction&lt;/li&gt;
&lt;li&gt;Pipeline optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why AI Tools Like Copilot Are Becoming Essential
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;AI is not an option. It will be part of day-to-day life in the Architect's world.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Using GitHub Copilot:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speeds up development&lt;/li&gt;
&lt;li&gt;Improves consistency&lt;/li&gt;
&lt;li&gt;Helps junior developers&lt;/li&gt;
&lt;li&gt;Reduces repetitive coding&lt;/li&gt;
&lt;li&gt;Enhances productivity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Closing: The Future of Financial Architecture
&lt;/h2&gt;

&lt;p&gt;Modern financial architecture is evolving rapidly. It is no longer just about building stable systems—it is about building &lt;strong&gt;adaptive, intelligent, and fast systems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The organizations that succeed will not be the ones with the most systems, but the ones with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better developer experience&lt;/li&gt;
&lt;li&gt;Strong automation&lt;/li&gt;
&lt;li&gt;Smart use of AI&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The future belongs to architects who can balance business needs, technology choices, and developer productivity.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>architecture</category>
      <category>devops</category>
      <category>productivity</category>
      <category>testing</category>
    </item>
    <item>
      <title>Architecting for Modern Finance: Deconstructing the Financial Services Ecosystem</title>
      <dc:creator>marunkumar1983</dc:creator>
      <pubDate>Sat, 02 May 2026 05:58:06 +0000</pubDate>
      <link>https://forem.com/marunkumar1983/architecting-for-modern-finance-deconstructing-the-financial-services-ecosystem-part-1-6nh</link>
      <guid>https://forem.com/marunkumar1983/architecting-for-modern-finance-deconstructing-the-financial-services-ecosystem-part-1-6nh</guid>
      <description>&lt;h2&gt;
  
  
  Starting with the Customer: Working Backward to Technology
&lt;/h2&gt;

&lt;p&gt;True innovation begins when we identify a real human need rather than just looking for a way to use new technology. Instead of starting with a complex tool and searching for a buyer, we must first define the incredible benefits we want to give to our customers. By working backward from a perfect customer experience, we ensure that every architectural decision we make serves a clear purpose. This vision acts as our guiding principle, leading us to build solutions that offer peace of mind and genuine value. Ultimately, technology is only powerful when we design it to solve real-world problems and improve lives. When we make the customer's journey our first priority, the technology we choose will naturally be more effective and successful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc3asrnh6zw7jr5xcsxy6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc3asrnh6zw7jr5xcsxy6.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Financial Services Is a High-Stakes Domain?
&lt;/h2&gt;

&lt;p&gt;Financial services is an industry that manages money, risk, and long-term financial planning for individuals and institutions.&lt;/p&gt;

&lt;p&gt;This industry deals with massive assets, strict regulations, and long-term commitments. A small defect in a system can lead to financial loss, compliance issues, or customer distrust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Financial platforms must ensure:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High availability (24/7 systems)&lt;/li&gt;
&lt;li&gt;Strong security (PII and financial data protection)&lt;/li&gt;
&lt;li&gt;Regulatory compliance (audit trails, reporting)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes architecture in finance more complex than typical enterprise systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Financial Products:
&lt;/h2&gt;

&lt;p&gt;Financial products are structured offerings designed to manage risk, savings, and investment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key offerings include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Life Insurance&lt;/li&gt;
&lt;li&gt;Retirement Solutions (401k, annuities)&lt;/li&gt;
&lt;li&gt;Investment Platforms&lt;/li&gt;
&lt;li&gt;Indexed Universal Life (IUL)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are not standalone products. Each one involves multiple systems working together—policy administration, billing, underwriting, claims, and reporting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Insurance Simplified for Architects
&lt;/h2&gt;

&lt;p&gt;Insurance is a contract where risk is transferred from an individual to an organization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At a high level:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Term Insurance →&lt;/strong&gt; Fixed duration protection, no savings component&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Whole Life →&lt;/strong&gt; Lifetime coverage with guaranteed returns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IUL (Indexed Universal Life) →&lt;/strong&gt; Combines insurance with market-linked growth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From an architecture perspective, each product introduces complexity in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pricing engines&lt;/li&gt;
&lt;li&gt;Risk models&lt;/li&gt;
&lt;li&gt;Policy lifecycle management&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Enterprise Applications Powering Finance
&lt;/h2&gt;

&lt;p&gt;Enterprise applications are large-scale systems supporting business operations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Financial systems rely on multiple applications:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Policy Administration Systems&lt;/li&gt;
&lt;li&gt;Claims Processing Systems&lt;/li&gt;
&lt;li&gt;Customer Portals&lt;/li&gt;
&lt;li&gt;Payment &amp;amp; Billing Systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These systems must integrate seamlessly to provide a unified experience. This is where APIs, event-driven systems, and middleware play a critical role.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technology Landscape: Languages, Frameworks, and Platforms
&lt;/h2&gt;

&lt;p&gt;Technology stack refers to the combination of programming languages, frameworks, and runtime platforms used to build applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Common technologies include:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Languages &amp;amp; Frameworks&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Java (Spring Boot)&lt;/li&gt;
&lt;li&gt;.NET Core&lt;/li&gt;
&lt;li&gt;Python (FastAPI, Django)&lt;/li&gt;
&lt;li&gt;JavaScript (Node.js, React)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Application Platforms&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IBM WebSphere&lt;/li&gt;
&lt;li&gt;Apache Tomcat&lt;/li&gt;
&lt;li&gt;Red Hat JBoss&lt;/li&gt;
&lt;li&gt;Pega Platform&lt;/li&gt;
&lt;li&gt;Salesforce&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Modern Architecture Patterns&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microservices&lt;/li&gt;
&lt;li&gt;Event-driven architecture (Kafka)&lt;/li&gt;
&lt;li&gt;API-first design&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Technology is replaceable. Architecture decisions are not.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Integration &amp;amp; Data: The Real Backbone
&lt;/h2&gt;

&lt;p&gt;Integration ensures communication between systems, while data architecture ensures consistency and reliability of information.&lt;/p&gt;

&lt;p&gt;Financial systems rely heavily on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API Gateways (AWS Api Gateway, Apigee, Kong, etc.)&lt;/li&gt;
&lt;li&gt;Messaging systems (Kafka, RabbitMQ, etc.)&lt;/li&gt;
&lt;li&gt;Data platforms (Oracle, PostgreSQL, Snowflake, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Organizational Complexity: Multiple Business Units
&lt;/h2&gt;

&lt;p&gt;Large enterprises operate through multiple business units, each owning different systems and processes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In financial organizations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Life insurance team builds one system&lt;/li&gt;
&lt;li&gt;Retirement team builds another&lt;/li&gt;
&lt;li&gt;Investment platforms operate separately&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Architects solve this through:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domain-driven design&lt;/li&gt;
&lt;li&gt;Shared platforms&lt;/li&gt;
&lt;li&gt;Enterprise integration strategies&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Closing: From Systems to Speed (Bridge to Part 2)
&lt;/h2&gt;

&lt;p&gt;So far, we explored what financial systems are, what they offer, and how they are built. But here’s the real challenge:&lt;/p&gt;

&lt;p&gt;In a world where customer expectations evolve faster than ever, building systems is no longer enough.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The real question is:&lt;/strong&gt;&lt;br&gt;
How do we deliver faster without compromising quality?&lt;br&gt;
How do we ensure security from day one?&lt;br&gt;
How do we scale development across teams and technologies?&lt;/p&gt;

&lt;p&gt;In Part 2, we will shift focus from what we build to how we build it—exploring developer experience, modern pipelines, deployment strategies, and the growing role of AI in transforming financial architecture.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>product</category>
      <category>systemdesign</category>
      <category>ux</category>
    </item>
    <item>
      <title>Disaster Recovery on AWS - Part 1: Multi-Site Active/Active (EC2, ECS, Fargate)</title>
      <dc:creator>marunkumar1983</dc:creator>
      <pubDate>Tue, 01 Apr 2025 04:06:43 +0000</pubDate>
      <link>https://forem.com/marunkumar1983/disaster-recovery-on-aws-part-1-multi-site-activeactive-ec2-ecs-fargate-2on3</link>
      <guid>https://forem.com/marunkumar1983/disaster-recovery-on-aws-part-1-multi-site-activeactive-ec2-ecs-fargate-2on3</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;What is the highest financial loss a company could face due to the absence of a Disaster Recovery (DR) setup? For enterprises, this could amount to millions, depending on their Recovery Time Objective (RTO) and Recovery Point Objective (RPO).&lt;br&gt;
Disaster Recovery is not just an IT concern—it is a business necessity. Organizations must prioritize DR to ensure business continuity and mitigate risks associated with data loss, cyber-attacks, and natural disasters. A lack of a DR strategy can lead to severe financial and reputational damage.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Disaster Recovery?
&lt;/h2&gt;

&lt;p&gt;Disaster Recovery (DR) is a strategic framework and set of processes designed to restore IT systems, applications, and data in the event of disruptions. DR ensures business continuity by minimizing downtime and data loss, leveraging backup strategies, failover mechanisms, and automated recovery processes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is RTO (Recovery Time Objective)?
&lt;/h2&gt;

&lt;p&gt;RTO defines the maximum acceptable downtime for an application or system after a failure before it significantly impacts business operations. A lower RTO indicates a faster recovery time and typically requires more robust infrastructure and automation.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is RPO (Recovery Point Objective)?
&lt;/h2&gt;

&lt;p&gt;RPO refers to the maximum tolerable amount of data loss measured in time. It defines how frequently data backups should be performed to ensure minimal loss in case of a disaster. A lower RPO requires more frequent backups and robust data replication strategies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is Disaster Recovery Necessary Beyond Availability Zones?
&lt;/h2&gt;

&lt;p&gt;Each AWS region consists of multiple Availability Zones (AZs). While deploying applications across multiple AZs enhances high availability, it does not qualify as Disaster Recovery. A DR strategy extends beyond AZs to ensure resilience across multiple geographic regions. DR is a critical component of IT General Controls (ITGCs), supporting the reliability of financial applications and compliance with regulatory standards. ITGCs encompass data backup, recovery, system availability, and change management. Audit departments and external firms assess these controls to ensure an organization's DR preparedness.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disaster Recovery Strategies
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Types of DR Strategies
&lt;/h2&gt;

&lt;p&gt;A well-architected DR strategy can be classified into different models based on business requirements:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Backup &amp;amp; Restore: Cost-effective, but recovery time can be slow.&lt;/li&gt;
&lt;li&gt; Pilot Light: A minimal setup is always running, with additional resources scaled up during a disaster.&lt;/li&gt;
&lt;li&gt; Warm Standby: A scaled-down version of the environment runs continuously, allowing for quick recovery.&lt;/li&gt;
&lt;li&gt; Multi-Site Active/Active: Applications are deployed across multiple regions, distributing traffic dynamically to maintain availability and resilience.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Architecture: Multi-Site Active/Active (EC2, ECS, Fargate)
&lt;/h2&gt;

&lt;p&gt;Architecture Flow:&lt;br&gt;
• Route 53: Global traffic routing across AWS regions.&lt;br&gt;
• Application Load Balancer (ALB): Distributes traffic to multiple regions.&lt;br&gt;
• Region 1 &amp;amp; Region 2: Active deployment of EC2, ECS, and Fargate to handle workloads. Best practice should be using IaC (Cloudformation, Terraform) and DevOps tools like Jenkins.&lt;br&gt;&lt;br&gt;
• Traffic Distribution: The percentage of traffic routed to each region can be defined based on business needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtft818x2np9jgf4jyco.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdtft818x2np9jgf4jyco.jpg" alt="Image description" width="800" height="475"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;p&gt;• DR is not optional – It is a fundamental requirement to ensure business continuity.&lt;br&gt;
• Faster Recovery: A well-defined RTO and RPO minimize downtime and data loss.&lt;br&gt;
• Cost Efficiency: A robust DR strategy helps reduce long-term operational costs by ensuring preparedness.&lt;br&gt;
• Automated Rollback &amp;amp; Testing: Regularly test and validate backups to ensure effective failover during disasters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Call to Action (CTA)
&lt;/h2&gt;

&lt;p&gt;Assess your DR strategy today. Ensure your backups, failover systems, and rollback processes are tested, automated, and ready for the unexpected. Define and review your RTO and RPO to align with business objectives.&lt;br&gt;
Conclusion&lt;br&gt;
Disaster Recovery is more than an IT requirement—it is a business-critical function. Organizations must proactively implement DR measures to avoid financial losses, maintain compliance, and ensure uninterrupted operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Action Points:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt; Implement robust backup and recovery procedures.&lt;/li&gt;
&lt;li&gt; Develop and maintain Business Continuity Plans.&lt;/li&gt;
&lt;li&gt; Regularly test and optimize DR plans to meet evolving business needs.
A well-prepared DR strategy can mean the difference between business resilience and catastrophic failure. Start planning today to safeguard your enterprise’s future.&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>Retro’ing and Debugging 2024: Lessons, Challenges, and 🏆 Achievements - Driving 🐎 Innovation and 🚚 Delivery</title>
      <dc:creator>marunkumar1983</dc:creator>
      <pubDate>Sat, 01 Feb 2025 06:13:41 +0000</pubDate>
      <link>https://forem.com/marunkumar1983/retroing-and-debugging-2024-lessons-challenges-and-achievements-driving-innovation-and-7i4</link>
      <guid>https://forem.com/marunkumar1983/retroing-and-debugging-2024-lessons-challenges-and-achievements-driving-innovation-and-7i4</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/newyear"&gt;2025 New Year Writing challenge&lt;/a&gt;: Retro’ing and Debugging 2024.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As I reflect on 2024, it has been a year of immense 🌱 growth, challenges, and 🏆 achievements. This retrospective captures my 🏃‍♂️ journey, the 🚫 hurdles I faced, the lessons I learned, and the milestones I reached.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;# The Journey: Driving 🐎 Innovation and 🚚 Delivery&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;At the start of the year, I embarked on a critical mission—writing 📖 RFPs, designing solution and SOWs to onboard 350+ repositories into a DevOps pipeline with Continuous Delivery (CD) along with new DevOps Infrastructure. This project also involved 🔧 framework upgrades and vault implementation, making it a multi-faceted endeavor. Glad to share one year of great experience which is going to shape my career. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Challenges: Navigating a High-Stakes Environment&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Delivering three distinct projects, worth millions, posed several challenges. Success required cohesive teamwork and careful solutioning and coordination.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Project Management&lt;/strong&gt;&lt;br&gt;
      •   ⌚ Time Allocation: Balancing deliverables across three time-sensitive projects.&lt;br&gt;
      •   💪 CEO Oversight: Ensuring on-time updates with the CEO monitoring the progress.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Resource Constraints&lt;/strong&gt;&lt;br&gt;
      •   🔍 &lt;strong&gt;Finding Experts:&lt;/strong&gt; Identifying suitable SMEs for technical deliveries.&lt;br&gt;
      •   🤝 &lt;strong&gt;Right Expertise &amp;amp; Ownership:&lt;/strong&gt; Finding the right set of  expertise SMEs and giving complete responsibility along with freedom was the main reason for success.&lt;br&gt;
      •    &lt;strong&gt;Team Collaboration:&lt;/strong&gt; Securing application team support for timely execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Cross-Team Coordination&lt;/strong&gt;&lt;br&gt;
      •    Stakeholder Alignment: Getting buy-in from 🤝 support, stakeholders, and various business units.&lt;br&gt;
      •    Weekend Availability: Coordinating the availability of 5-10 different teams every  weekend for seven  months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. 🔧 Technical Complexity&lt;/strong&gt;&lt;br&gt;
      •   🔄 Pipeline Creation: Developing 24 new 🔧 DevOps pipeline patterns for seven different 💻 technologies along with designing solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. 🏆 Taking Complete Ownership&lt;/strong&gt;&lt;br&gt;
      •    Ensuring deliveries were covered end-to-end, including solutioning and timely execution.&lt;br&gt;
      •    Clearly explaining the process to management for better understanding and alignment.&lt;br&gt;
      •    Always ensures customer obsession. &lt;br&gt;
      •    Appreciating the resources with open heart and mind. &lt;br&gt;
      •    Bringing all into same page and bring up to speed for the on-time quality deliverables. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Lessons Learned: Building Foundations for the Future&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Every project provides opportunities for 🌱 growth, but this year’s experiences were particularly 🚀 transformative. These lessons will guide me for years to come:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.    Communication is Key:&lt;/strong&gt;&lt;br&gt;
      • Always obtain email confirmations instead of relying on verbal agreements.&lt;br&gt;
      •   Document mutual agreements to ensure clarity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.    Process Discipline:&lt;/strong&gt;&lt;br&gt;
      •   Maintain detailed 📝 minutes of meetings (MoM) for accountability.&lt;br&gt;
      •   Commit to being present during production live windows every weekend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.    ⌛ Preparedness:&lt;/strong&gt;&lt;br&gt;
      •   Ensure AVP (Application Verification Process) involvement during change windows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4.    📝 What Could Have Been Done?&lt;/strong&gt;&lt;br&gt;
      •   Careful planning and mutually agreed 🗓️ date confirmation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.   What Should We Do?&lt;/strong&gt;&lt;br&gt;
      •   Maintain a healthy 🏡 work-life balance.&lt;br&gt;
      •   I have attended AWS re:Invent in Las Vegas and that experience was energizing in both career as well as personal. &lt;br&gt;
      • Healthy lifestyle is always important. Yes. I have successfully completed my first &lt;strong&gt;5K RUN&lt;/strong&gt; in AWS re:Invent. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## 🏆 Achievements: Celebrating Success&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Despite the challenges, the results were 🎉 remarkable. Here are the key milestones:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.    ✨ Seamless Onboarding:&lt;/strong&gt;&lt;br&gt;
      •   Onboarded 33 applications from seven business units, integrating 345 repositories within nine months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.    Innovative Solutions:&lt;/strong&gt;&lt;br&gt;
      •   Created 24 CD DevOps pipeline patterns for seven diverse technologies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.    Recognition:&lt;/strong&gt;&lt;br&gt;
      •   Received appreciation from the CIO and senior management for 🏆 outstanding delivery and execution.&lt;/p&gt;

&lt;h2&gt;
  
  
  ** Looking Ahead**
&lt;/h2&gt;

&lt;p&gt;2024 has been a year of intense effort and significant rewards. The challenges I overcame and the lessons I learned have fortified my skills, making me better equipped to tackle future endeavors. As I move forward, I’ll carry these insights to continue driving impactful 🚀 change and innovation.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>devops</category>
      <category>aws</category>
    </item>
    <item>
      <title>Step-by-Step Guide: Highly Available Architecture with ALB and Amazon ECS on AWS Fargate</title>
      <dc:creator>marunkumar1983</dc:creator>
      <pubDate>Fri, 31 Mar 2023 15:59:22 +0000</pubDate>
      <link>https://forem.com/aws-builders/step-by-step-guide-highly-available-architecture-with-alb-and-amazon-ecs-on-aws-fargate-cgi</link>
      <guid>https://forem.com/aws-builders/step-by-step-guide-highly-available-architecture-with-alb-and-amazon-ecs-on-aws-fargate-cgi</guid>
      <description>&lt;p&gt;As cloud computing becomes increasingly important in modern IT infrastructure, containerization has emerged as a powerful tool for managing and deploying applications. And among the various containerization platforms available, AWS Fargate stands out as a particularly promising solution. AWS Fargate is a serverless, pay-as-you-go compute engine that lets you focus on building applications without managing servers. With its unique blend of scalability, cost-effectiveness, and simplicity, Fargate is poised to dominate the IT container world in the coming years. &lt;/p&gt;

&lt;p&gt;I have designed and implemented the following architecture, and successfully completed a proof of concept. To ensure that below architecture flow is accurate and efficient, I plan to utilize three distinct verification methods.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fui84ivm9d848sozgbvjc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fui84ivm9d848sozgbvjc.png" alt="ALB-Fargate-ECS Architecture"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Verification Method 1: &lt;/u&gt; Accessing Docker URL
&lt;/h3&gt;

&lt;p&gt;Let's create a EC2 instance. Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the cloud. EC2 provides users with a flexible and cost-effective way to run applications in the cloud, without the need to invest in and manage their own physical hardware.  &lt;/p&gt;

&lt;h5&gt;
  
  
  EC2 instance creation
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;T2.Micro (AMI: amzn2-ami-kernel-5.10-hvm-2.0.20230207.0-x86_64-gp2) &lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Create security group
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Allow ssh port 22, http port 80 and map with EC2 instance&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Docker Installation
&lt;/h5&gt;

&lt;p&gt;Docker is an open platform for developing, shipping, and running applications. Docker image is a read-only template with instructions for creating a Docker container.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

    sudo yum update -y
    sudo amazon-linux-extras install docker
    sudo service docker start
    sudo systemctl enable docker
    sudo usermod -a -G docker ec2-user
    sudo docker info


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
  
  
  Create a Docker Image and run
&lt;/h5&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

 vi Dockerfile
            FROM ubuntu:18.04

            # Install dependencies
            RUN apt-get update &amp;amp;&amp;amp; \
            apt-get -y install apache2

            # Install apache and write Fargate POC message
            RUN echo 'Fargate-ECS POC!' &amp;gt; /var/www/html/index.html

            # Configure apache
            RUN echo '. /etc/apache2/envvars' &amp;gt; /root/run_apache.sh &amp;amp;&amp;amp; \
            echo 'mkdir -p /var/run/apache2' &amp;gt;&amp;gt; /root/run_apache.sh &amp;amp;&amp;amp; \
            echo 'mkdir -p /var/lock/apache2' &amp;gt;&amp;gt; /root/run_apache.sh &amp;amp;&amp;amp; \ 
            echo '/usr/sbin/apache2 -D FOREGROUND' &amp;gt;&amp;gt; /root/run_apache.sh &amp;amp;&amp;amp; \ 
            chmod 755 /root/run_apache.sh

            EXPOSE 80

            CMD /root/run_apache.sh
 sudo docker build -t hello-fargate-ecs .
 sudo docker images --filter reference=hello-fargate-ecs
 docker run -t -i -p 80:80 hello-fargate-ecs


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpvr4e090cjjryio317d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpvr4e090cjjryio317d.png" alt="RunDocker"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Accessing direct docker url.
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nzd2yf1s3ux62ebmlyc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nzd2yf1s3ux62ebmlyc.png" alt="Docker URL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Verification Method 2:&lt;/u&gt; Accessing Task URL
&lt;/h3&gt;

&lt;h5&gt;
  
  
  How two different services (EC2 --&amp;gt; ECR) communicate each other in AWS cloud?
&lt;/h5&gt;

&lt;p&gt;By using IAM Role. &lt;/p&gt;

&lt;p&gt;Create IAM role (IAM --&amp;gt; Roles --&amp;gt; "AmazonEC2ContainerRegistryFullAccess") and map with EC2 instance. &lt;/p&gt;

&lt;h5&gt;
  
  
  Create ECR and push image
&lt;/h5&gt;

&lt;p&gt;Amazon Elastic Container Registry (Amazon ECR) is an AWS managed container image registry service that is secure, scalable, and reliable. It's similar to Docker Hub.&lt;/p&gt;

&lt;p&gt;Login into EC2 to execute below commands. Make sure IAM Role mapped before we execute below commands. &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

aws ecr create-repository --repository-name hello-fargate-ecs-repository --region us-west-2
docker tag hello-fargate-ecs &amp;lt;awsaccount&amp;gt;.dkr.ecr.us-west-2.amazonaws.com/hello-fargate-ecs-repository
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin &amp;lt;awsaccount&amp;gt;.dkr.ecr.us-west-2.amazonaws.com
docker push &amp;lt;awsaccount&amp;gt;.dkr.ecr.us-west-2.amazonaws.com/hello-fargate-ecs-repository


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6jr39s8wsrcb77y37q9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6jr39s8wsrcb77y37q9.jpeg" alt="ECR Creation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Fargate ECS Cluster Creation
&lt;/h5&gt;

&lt;p&gt;An Amazon ECS cluster is a logical grouping of tasks or services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ygya48lsluowqf6ddox.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ygya48lsluowqf6ddox.png" alt="CluseterCreation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Task Definitions Creation
&lt;/h5&gt;

&lt;p&gt;Task definition is a template. A task definition is required to run Docker containers in Amazon ECS. The Task definition allows you to specify which Docker image to use, which ports to expose, how much CPU and memory to allocate, how to collect logs, and define environment variables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bulfm49sv5zeyzlduo7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9bulfm49sv5zeyzlduo7.jpeg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0915zhi02z30d8qet5ac.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0915zhi02z30d8qet5ac.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovd2lzo9n6cr2g3chgv4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fovd2lzo9n6cr2g3chgv4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fic85qyj7cx7cgeyyl5hj.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fic85qyj7cx7cgeyyl5hj.jpeg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  Run Task by enabling public IP
&lt;/h5&gt;

&lt;p&gt;An ECS task can consist of one or more containers that work together to perform a specific function. Task definition is used to define the configuration of a task. The task definition includes information such as the Docker image to use, the resources required, the container port mappings, and any data volumes to be mounted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjfno6v8zf8kacwgs69y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frjfno6v8zf8kacwgs69y.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3usjza6b3h3k3aibicth.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3usjza6b3h3k3aibicth.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Make sure &lt;strong&gt;Public IP "Turned on"&lt;/strong&gt; which will be used to hit from browser. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffmcb4a3lej107jk2gibt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffmcb4a3lej107jk2gibt.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0re8nkl2zwa7s7il7fse.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0re8nkl2zwa7s7il7fse.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhj1ps00x4c8ofbd8mhcp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhj1ps00x4c8ofbd8mhcp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7nn8wu47m3o6l8wn6epk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7nn8wu47m3o6l8wn6epk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Task Running successfully and we could see public IP. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fws9puzlz659p8564aztr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fws9puzlz659p8564aztr.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hit the public IP from the browser to complete second verification method successfully. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fai6bsdlmk6cpextdh2oe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fai6bsdlmk6cpextdh2oe.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Delete the task once verified. We will use ALB, ECS Service in our next verification method. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;u&gt;Verification Method 3:&lt;/u&gt; Accessing ALB URL
&lt;/h3&gt;

&lt;p&gt;ALB (Application Load Balancer) distributes incoming traffic to multiple targets such as EC2 instances, containers, and Lambda functions, based on rules and conditions defined by the user. &lt;/p&gt;

&lt;p&gt;ALB Target Group is a logical grouping of targets (such as EC2 instances or containers) that receive traffic from an Application Load Balancer based on the rules and conditions set by the user, allowing for efficient distribution of traffic and improved application availability and scalability.&lt;/p&gt;

&lt;h5&gt;
  
  
  Target Group Creation
&lt;/h5&gt;

&lt;p&gt;Make sure to select &lt;strong&gt;"IP addresses"&lt;/strong&gt; when creating target group.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpohit3huctspwvue9cib.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpohit3huctspwvue9cib.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2vu9g9ax2xyun6ojdalx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2vu9g9ax2xyun6ojdalx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  ALB Creation
&lt;/h5&gt;

&lt;p&gt;Note: You may incur cost if you are not a new AWS user. New AWS customers receive 750 hours per month as per below URL. &lt;br&gt;
&lt;a href="https://aws.amazon.com/elasticloadbalancing/pricing/" rel="noopener noreferrer"&gt;https://aws.amazon.com/elasticloadbalancing/pricing/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create ALB by mapping created target group. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F403xwfguqt5mzpic9ngo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F403xwfguqt5mzpic9ngo.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feew21mowqawo2m7ceefa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feew21mowqawo2m7ceefa.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsm99gae2ky532sctzgj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsm99gae2ky532sctzgj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  ECS Service Creation
&lt;/h5&gt;

&lt;p&gt;ECS Service is used to guarantee that we always have some number of Tasks running at all times. Another very important point is that a Service can be configured to use a load balancer. Service will automatically register the container's EC2 instance with the load balancer. &lt;br&gt;
Tasks cannot be configured to use a load balancer, only Services can. If a Task's container exits due to an error, or the underlying EC2 instance fails and is replaced, the ECS Service will replace the failed Task.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4k214i8illgbl5asldn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4k214i8illgbl5asldn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Make sure to select Launch type as &lt;strong&gt;"FARGATE"&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5315vhepm12gcca7xhs2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5315vhepm12gcca7xhs2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Deployment configurations: Provide service name, task definition and desired task. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6jkg93te377bv6kwtedv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6jkg93te377bv6kwtedv.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We already have ALB and target group ready. Make sure to map existing ALB and target group. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flnmwscowpedy8x2v6qul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flnmwscowpedy8x2v6qul.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Service deployment is in progress.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F69b7wi96lno18p6x3bya.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F69b7wi96lno18p6x3bya.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Service deployment completed successfully. Desired tasks are running successfully. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ahxau08tdk3jytkc1j8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ahxau08tdk3jytkc1j8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Target group is healthy and registered automatically with task's public IP. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36l9vjspm8xlokiccti6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F36l9vjspm8xlokiccti6.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can hit ALB URL from browser now. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71qfqvb0fyvto48jvthl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F71qfqvb0fyvto48jvthl.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Custom domain can be configured with Route53. &lt;/p&gt;

&lt;p&gt;Note: Enterprise usually use "Private Subnet" for such configurations. End point configurations are required to establish communication. &lt;/p&gt;

&lt;p&gt;I always wanted to connect with like-minded people. Here is my Linkedin. Ping/comment if any suggestions or clarifications required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/arunkumarmannarmannan/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/arunkumarmannarmannan/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you! &lt;/p&gt;

</description>
      <category>aws</category>
      <category>fargate</category>
      <category>ecs</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
