Skip to content

Why AWS

Overview

AWS (Amazon Web Services) is the leading cloud service provider, offering a comprehensive and mature suite of cloud services that cater to various business needs. Our decision to use AWS for our serverless architecture was driven by several key factors that align with our technical and business requirements.

Key Benefits of AWS

  1. Comprehensive Service Offering:

    • AWS provides a vast array of services that cover all aspects of modern cloud computing, including computing power, storage, databases, machine learning, and analytics. This comprehensive suite allows us to build, deploy, and scale our applications efficiently.
  2. Mature Serverless Ecosystem:

    • AWS has a robust and mature serverless ecosystem, including AWS Lambda for compute, Amazon EventBridge for event-driven integrations, and AWS AppSync for GraphQL APIs. These services enable us to implement a fully serverless architecture that is scalable, cost-effective, and easy to manage.
  3. Scalability and Performance:

    • AWS is designed to handle workloads of any size and complexity. It offers automatic scaling and high availability across multiple regions, ensuring our applications can meet demand spikes and maintain performance.
  4. Security and Compliance:

    • AWS provides a secure and compliant cloud infrastructure with numerous certifications and compliance programs. This ensures that our applications meet industry standards and regulatory requirements, giving us and our customers confidence in our security posture.
  5. Cost Management:

    • AWS's pay-as-you-go pricing model allows us to optimize costs by only paying for the resources we use. Additionally, tools like AWS Cost Explorer and AWS Budgets help us monitor and manage our spending effectively.
  6. Global Reach:

    • With a global network of data centers, AWS allows us to deploy applications closer to our users, reducing latency and improving the user experience. This global reach supports our expansion into new markets and regions.

Why AWS Fits Our Architecture

  1. Serverless Capabilities:

    • Our architecture leverages AWS Lambda for executing code in response to events, Amazon EventBridge for integrating services, and AWS AppSync for managing GraphQL APIs. This serverless approach reduces operational overhead and allows us to focus on developing business logic.
  2. Support for CQRS and Event Sourcing:

    • AWS services align well with our CQRS and event sourcing patterns. AWS Lambda functions handle commands and queries efficiently, while EventBridge enables event-driven communication. This integration supports our architectural principles and enhances system scalability and performance.
  3. Integration with AWS Ecosystem:

    • AWS offers seamless integration with other AWS services, such as S3 for storage, DynamoDB for NoSQL databases, and IAM for access management. This integration streamlines our development process and ensures a cohesive and efficient infrastructure.
  4. Developer Tools and Ecosystem:

    • AWS provides a rich set of developer tools, including AWS CodePipeline, AWS CodeBuild, and AWS CloudFormation, which support our CI/CD workflows and infrastructure as code practices. These tools enhance our development efficiency and deployment automation.

Why We Don't Support Other Cloud Vendors

We have chosen AWS as our exclusive cloud provider due to its unmatched combination of services, scalability, and integration capabilities, which perfectly align with our technical and business needs. While other cloud vendors offer competitive services, none match the maturity and breadth of AWS's offerings in the serverless ecosystem. Transitioning to or supporting multiple cloud providers would introduce unnecessary complexity, increase operational overhead, and dilute our focus on optimizing our AWS-based architecture. Consequently, we do not foresee supporting other cloud vendors in the short term.

Conclusion

Choosing AWS as our cloud provider offers numerous benefits, including a comprehensive service offering, a mature serverless ecosystem, scalability, security, and global reach. These advantages align with our architectural principles and business objectives, enabling us to build robust, scalable, and secure applications while focusing on delivering value to our customers. AWS's extensive suite of services and tools supports our goal of simplifying system design for domain experts and achieving operational excellence.