Skip to the content
Pragmatic Coders
  • Services
        • All Services
        • Software Development
          • Web & Cloud App Development
          • Mobile Application Development
          • No-Code Development
          • Blockchain Development
          • DevOps Services
        • Custom Fintech Software
          • Trading Software Development
          • Insurance Software Development
          • Custom Banking Software
          • Custom Financial Software
          • Mobile Banking App Development
        • Custom Healthcare Software
          • Patient Portal Development
          • Telehealth App Development
          • Custom Physical Therapy Apps
          • Custom Telemedicine Software
          • Custom Patient Engagement Apps
        • AI Software Development
          • AI Agents Development
          • AI Integration Services
          • AI Data Solutions
        • Product Design
          • UX Research
          • UX Design
          • UI Design
        • IT outsourcing
          • Nearshore Outsourcing
          • Offshore Outsourcing
          • Build Operate Transfer
  • Industries
        • All Industries
        • Fintech
        • Digital Health
        • E-commerce
        • Entertainment
        • Custom Software Development Services
        • Business Consulting
  • Case Studies
        • All Case Studies
        • FintechExplore our curated fintech case studies, showcasing the cutting-edge software solutions we’ve developed to revolutionize the financial technology landscape.
          • Atom Bank - One Of UK's Top Challenger Banks
          • KodyPay - Payment Platform
          • BLOC-X - OTC Commodity Trading
        • Blockchain
          • Common Wealth: Web3 investing platform
          • UltiArena: Play-to-Earn NFT Hub
          • EXCC - Developing New Blockchain
        • Digital HealthBrowse through our digital health case studies, illustrating how our technology innovations are transforming healthcare, enhancing patient outcomes, and streamlining medical processes with bespoke software solutions.
          • WithHealth - Medical Platform
          • AccentPharm - Medical Translations
          • Health Folder - Medical Documentation Management
        • E-commerce/RetailDiscover our e-commerce case studies, highlighting our development of scalable, user-centric platforms that boost sales, enhance the shopping experience, and streamline operations in the digital marketplace.
          • Kitopi - Smart Kitchen
          • Webinterpret - Cross-platform E-commerce
          • Photochain: Decentralized photo marketplace
        • EntertainmentExplore our case studies in entertainment projects, where creativity converges with technology to create immersive and engaging digital experiences that captivate audiences globally.
          • Unlocked - Events Management
          • Duel - Social Media App
          • OnLive: Decentralized streaming platform
        • AIDive into our AI case studies to discover how artificial intelligence is applied to solve complex challenges, improve decision-making, and increase efficiency across various industries with our advanced solutions.
          • Accounting Automation
          • US Patient Care Platform | AI & Data Science
  • About us
        • About us
        • Meet Our Team
        • How We Work
        • Become a Partner
        • News
        • Join Us!
  • Blog
        • All curated categories
        • FintechInterested in the development of a new custom fintech product? Check our articles about new fintech trends and fintech product development. If you are looking for experienced fintech software development partners do not forget to check our fintech software development services. You may also find interesting our blockchain development services.
        • Digital HealthDigital health encompasses the use of technology and data to improve healthcare delivery and patient outcomes. If you want to build a digital health app, check out our healthcare software development services.
        • Blockchain
        • AI
        • Product Development
        • Product Management
        • Product DesignA successful product needs to be well planned and tested by its users as early as possible. Here we share our knowledge and experience from more than 60 startups we helped build in the last years.
        • Agile & Scrum
        • Startup
        • Outsourcing & Collaboration
  • Resources
        • All Resources
        • Tools
          • Market Insights AI
        • Guides
          • Fintech guide
          • Digital health guide
          • Insurtech guide
          • AI trends
        • Other
          • Newsletter
          • Glossary
          • Product Health Checklist
          • Best AI for coding in 2025: AI tools for developers
          • 60 startup business model patterns for 2025
        • Ebooks
          • How to start a startup
          • How to go live with your product in less than 3 months
        • Video
          • Podcast
          • Webinars
  • Contact us
Congrats, you are up to date! Now you can impress your friends with your cutting-edge knowledge.
Mark all as read
Contact Us
Home Pragmatic Blog Cloud & Infrastructure How to design infrastructure architecture in AWS Cloud?
Cloud & Infrastructure
Updated: Jun 24,2024 Published: Jun 04,2020
7 min read

How to design infrastructure architecture in AWS Cloud?

How to design infrastructure architecture in AWS Cloud?

From this blog post, you’ll learn about our infrastructure design principles and best practices for architecture based on AWS Cloud.
It’ll show you the basic principles we follow as well as some reference architectures we base on while starting new projects. When you start working with us, we’ll probably bootstrap your project starting from one of the suggested architectures and then build upon that. This approach will give you the best value in time, as we’ll be able to show you the first versions of the product after the first sprint!

AWS accounts structure

For each project, we prefer to start with a new account structure – it gives us the ability to work faster and also better control costs for the projects during the whole project lifecycle.
AWS account structure
We use AWS Organizations to create accounts structure and AWS SSO to enable secure and efficient access to the accounts.
Usually, we start with Master Account, which holds central services like AWS Organizations and AWS SSO as well as security-related features – aggregated logs, GuardDuty notifications, and AWS Config rules.
Then we create a separate account for each environment like Dev, UAT, and Prod. It increases security by means of isolation. Sometimes, when we need to develop something unusual, we create a Playground account for testing that gets “nuked” after the tests, and it’s the only account we allow not to follow infrastructure-as-a-code approach – even for Dev account we follow full IaaC approach.
All environment accounts are very similar in their configuration – the structure and services used are the same, but for non-production environments, we don’t enable HA and choose smaller instances to save the costs.

Kubernetes-based architecture

For all applications that use state or require to run constantly, we use our Kubernetes cluster architecture. The architecture is presented in the image below.
Kubernetes based architecture
End-user interacts with our infrastructure, starting from Route53 to get IP addresses for our services. Next, the user contacts CloudFront to get an optimized, cached frontend website. We use a single-page approach for our frontend apps, so they don’t need any server rendering and can be delivered in an efficient way to the user.
Our frontend applications contact backend API using API Gateway, which not only caches some responses but also provides throttling and authentication and authorization of the requests. We usually use
Cognito for user identity management.
For secure ingress traffic, we use VPC Link from API Gateway to NLB; then, the traffic gets into the Kubernetes cluster. The cluster itself is configured to be highly available and can auto-scale depending on the load. Depending on the case, applications in the cluster contact multiple backend services such as Redis, Kafka, or RDS.

Serverless architecture

Every time the project doesn’t require stateful services, we suggest going with serverless architecture to provide better OPEX than stateful services. Serverless architecture is very similar to our Kubernetes-based architecture from the user-facing side; the changes are in the backend where we use API Lambdas and sometimes ECS Fargate. In that approach, we also use event-based communication patterns based on SNS as well as serverless data storage such as DynamoDB or S3. It results in cost-efficient, highly scalable infrastructure.

Serverless architecture

Definition of Done, guidelines, and methodology

Pragmatic Coders embraces a full Continuous Delivery approach where all of the business scenarios are covered by automated tests. In practice, the application code is:

  • Reviewed by another developer
  • Covered in unit tests, integration tests and system tests when appropriate
  • Deployed to dev environment where it’s tested automatically
  • Tested manually by team members if necessary
  • Pushed to UAT / STAGE / PROD environments in an automated manner via CI / CD

Furthermore, the documentation is up-to-date. Finally, it means that the live deployment was successful, and all of the metrics are green (live production monitoring).

DevOps & Security guidelines

At Pragmatic Coders, we embrace a full shared approach to security promoted by AWS combined with Defence in Depth methodology.
Defence in depth concept

In practice, we:

  • Use encryption at rest for all resources that support that.
  • Enforce encryption on traffic on all untrusted channels to protect data in transit.
  • Use network segmentation to provide isolation between application layers.
  • Test the security of our systems with external pentesting companies.
  • Ship logs from our apps and systems to a central place to improve auditing and protect them from a deletion in case of a security breach.
  • Use long, complex passwords with automatic rotation and wherever possible depend on passwordless (identity-based) authentication such as IAM authentication.
  • Follow basic security principles as Defense in Depth, least privilege principle.
  • Use secure VPN tunnels for accessing cloud infrastructure.
  • Store all secrets in secure locations such as Hashicorp Vault or AWS Secrets Manager.
  • Use central identity management systems such as Active Directory or AWS SSO for user authentication, authorization and lifecycle management.
  • Use infrastructure-as-a-code approach, so every change in the infrastructure is auditable and reversible.
  • Follow GitOps approach, so the infrastructure reflects the code all the time.
  • Automate repeatable tasks when it makes sense, to save the time, money and has reliable and repeatable processes.
  • Prefer to use high-level tools like Ansible, so the processes we automate are also easy to read by humans.
  • Monitor our infrastructure and have alerting in place to be able to quickly react and recover the services as well as prevent failure with predictive alerting.

Design with security in mind

The isolation that AWS Organization provides is the foundation of the security we implement. Each account is isolated, so even if someone gets access, e.g., to the dev environment, that person can’t escalate the attack to the production environment.
AWS organizations
As a rule, we don’t create any IAM users on the accounts for applications; this way, we limit the risk of credentials leakage. We implement AWS Single Sign-On service for every customer, so it’s easy to centrally manage permissions for the access to each AWS account and other applications we deploy to the infrastructure. Having centralized identity management for all developers and administrators gives excellent control over the lifecycle of people working on the infrastructure as well as precise permissions control.

CI/CD pipelines

For things like CI/CD pipelines, we implement either IAM users on the master account and use assume role feature or – in case runners run on the infrastructure – we use instance profiles to provide an identity for the CI/CD.
It’s worth to mention that our CI/CD pipelines are divided into to separate kinds. The first one is meant to be used by developers; it’s constrained and only allows them to take actions necessary to deploy a new version of the application and apply database migrations. The second kind of pipelines is meant to be used by infrastructure provisioning tools. As these pipelines have higher security permissions, we separate them into another group in GitLab CI, so developers can’t make any change in the infrastructure without prior review and acceptance.

Encryption

Regarding encryption at rest, if the customer requires, we implement central management of the KMS key on the master account. This way, we limit the usage of the key outside of the scope of the account that uses it. By doing that, we protect data at rest even if someone gets undesirable administrator access to the account.

Summary. Infrastructure design principles for AWS architecture

Pragmatic Coders is a place where we focus on creating business value and building outstanding software products in a pragmatic and lean way. Leverage our experience in developing cloud-based banking solutions that are optimized for cost and performance efficiency and prepared for scaling.

Article author

Lukasz Tomaszkiewicz

Lukasz Tomaszkiewicz

Łukasz Tomaszkiewicz is a highly skilled and passionate cloud expert who loves to automate repeatable things and secure them. His broad experience in the areas of software development, database design, containerization and cloud infrastructure management gives him a holistic view of a modern technology stack.

Newsletter
Recent Topics
chess blockchain scam code
News, Product Development
Client sent us a repo with a backdoor. Security in software development
AI, Product Development, Industry Insights
Secure AI-Assisted Coding: A Definitive Guide
8 best healthcare software development companies
Digital Health, Product Development
Top healthcare software development companies (Top 8 in 2025)
Top AI Agent Development Companies in 2025 Cover
AI, Product Development
Top AI Agent Development Companies in 2025
Healthcare as a Service (HaaS): What it means and why it matters in 2025
Digital Health
Healthcare as a Service (HaaS): What it means and why it matters in 2025

Related articles

Check out our blog and collect knowledge on how to develop products with success.

Client sent us a repo with a backdoor. Security in software development chess blockchain scam code
News, Product Development
May 08,2025
3 min read

Client sent us a repo with a backdoor. Security in software development

Read More
Secure AI-Assisted Coding: A Definitive Guide
AI, Product Development, Industry Insights
May 08,2025
9 min read

Secure AI-Assisted Coding: A Definitive Guide

Read More
Top healthcare software development companies (Top 8 in 2025) 8 best healthcare software development companies
Digital Health, Product Development
Apr 30,2025
9 min read

Top healthcare software development companies (Top 8 in 2025)

Read More

Our Core Software Development Services

Custom Software Development Services

Custom Software Development Services

Custom Software Development Services for Startups & Tech. Bespoke software built by experts in contemporary software product development.
Learn More
Custom Fintech Software Development Services Company

Custom Fintech Software Development Services Company

Custom Fintech Software Development Services from industry experts. Scalable fintech apps, trading platforms, challenger banks, blockchain, and more.
Learn More
Healthcare Software Development Company

Healthcare Software Development Company

Healthcare software development services from industry experts. We have 10 years of experience in this highly regulated and demanding space.
Learn More
Custom AI Software Development Services & Solutions Company

Custom AI Software Development Services & Solutions Company

We can build your AI app from scratch or implement AI solutions to your existing product. Get a free consultation today!
Learn More

Newsletter

You are just one click away from receiving our 1-min business newsletter. Get insights on product management, product design, Agile, fintech, digital health, and AI.

LOOK INSIDE

Pragmatic times Newsletter
  • Business Consulting
  • Product Discovery Workshops
  • Product Management Consulting
  • Fundraising Consulting
  • Software Product Design
  • UX Design
  • UX Research
  • UI Design
  • Custom Software Development-services
  • Web & Cloud Application Development
  • Mobile Application Development
  • No-code Development
  • AI Software Development
  • Custom Blockchain Development
  • DevOps Services
  • Technology Consulting
  • Industries
  • Fintech
  • Digital Health
  • E-commerce
  • Entertainment
  • Custom Software Development Services
  • About Us
  • Meet Our Team
  • How We Work
  • Become a Partner
  • Newsroom
  • Featured Case Studies
  • Atom Bank
  • Kitopi
  • WithHealth
  • UltiArena
  • Resources
  • Digital Health Guide
  • Fintech Guide
  • Insurtech Guide
  • Newsletter
  • E-books
  • Podcast & Webinars
  • Blog
  • Product Development
  • Fintech
  • Digital Health
  • AI
  • Product Management
  • Agile & Scrum
  • Outsourcing & Collaboration
  • Blockchain
  • Startup
Pragmatic Coders Logo

ul. Opolska 100

31-323 Kraków, Poland

VAT ID: PL 6772398603

Contact

[email protected]

+48 783 871 783

Follow Us
Facebook Linkedin Github Behance Dribbble
© 2025 Pragmatic Coders. All right reserved.
  • Privacy policy
  • Terms of use
  • Sitemap