Amazon Web Services (AWS)

Generic Topics

Balancing 5 pillars on AWS to build an architecture

 Main aspects to consider - to balance the 5 pillars to architect solutions on AWS are listed below:

  1. utilize resources by usage
  2. automate systems enable flexibility
  3. test at scale, for accuracy, even for the data backup - not only during development but also post deployments, continually
  4. think of architecture as evolving, similar to technology, rather than static
  5. derive architecture decisions by data, implement data-driven approach
Detailed blog - AWS Architecture Pillars

Other than the 5-pillars for the well-architected framework, AWS offers a set of tools & options for architects to make use of: 

server-less design patterns, using AWS lambda, dynamo DB, Kinesis streams, API gateway and a combination of these to build a server-less application

  • use event driven models and micro-services
  • good for eventual consistency, an eventually consistent model can give a high performance throughput with server-less

High performance computing

Options to modernize traditional approaches to handle highly complex math-logic; very big calculations requiring high compute capacity, an area of super computing;

  • distributed approach rather than a single big server
  • spawn new servers on demand for compute
  • use high throughput computing models such as server-less batch or queue or sequential or similar and optimize the same for high performance computation
originally specific super computers performed specific jobs, made for a single job, which is not the case now; hardware constraints are no longer stopping the experiment cycle
 
Detailed blog -  AWS HPC Workloads

High throughput versus High performance computing

  • HTC is | loosely coupled | highly iterative, learn by cycle | throughput is very important when computation need not be exactly sequential
  • HPC is | tightly coupled | very very sequential & math dependent | calculations are very important since each step is a derivative

Make hard choices

  • compute services: AWS EC2, AWS ECS (elastic container service), AWS Fargate, AWS Lambda
  • databases: also run on EC2, OR AWS RDS, OR Amazon Aurora OR Amazon Dynamo DB OR use semi-old school indexed data in Amazon Athena
  • choices are based off the business context, constraints, the problem at hand, type of data we're dealing with, timeline and similar measure

No comments:

Post a Comment