AWS Q&a

·

5 min read

VPC Architecture

It is a logically isolated area within the space, where depending on the size of VPC we can launch our resources & these resource will not interfere with the resources in the public cloud

After you create a VPC, you can add subnets.

  • Subnet

    • It is an isolated small space within the VPC

    • A subnet is a range of IP addresses in your VPC.

    • A subnet must reside in a single Availability Zone

    • After you add subnets, you can deploy AWS resources in your VPC.

  • IP addressing

    • You can assign IP addresses, both IPv4 and IPv6, to your VPCs and subnets.

    • You can also bring your public IPv4 addresses and IPv6 GUA addresses to AWS and allocate them to resources in your VPC, such as EC2 instances, NAT gateways, and Network Load Balancers.

  • Internet Gateway

  • NAT Internet Gateway

  • Rout Table

    • Rout table determines the network traffic flow in out VPC

    • we have Pub & Pri RT

    • igw will be routed in Pub RT and in Pri RT it wont be routed

  • Security Group

  • NACL

  • ENDPOINT

  • Peering connections

  • Transit gateways

  • VPC Flow Logs

    • it keeps track of the IP traffic going in and out of the VPC
  • VPN connections

    • connecting your VPC to the on-premises network is done by AWS VPN

Instance Types

  • General Purpose

    • Instance family : T,M

    • General purpose instances provide a balance of compute, memory and networking resources, and can be used for a variety of diverse workloads.

    • These instances are ideal for applications that use these resources in equal proportions such as web servers and code repositories.

    • Use cases : Applications built on open-source software such as application servers, microservices, gaming servers, midsize data stores, and caching fleets.

  • Compute Optimized

    • Instance family : C

    • it has more Core than RAM

    • they are ideal for compute bound applications that benefit from high performance processors

    • Use Cases : High performance computing (HPC), batch processing, ad serving, video encoding, gaming, scientific modelling, distributed analytics, and CPU-based machine learning inference.

  • Memory Optimized

    • Instance family : R,X,Z

    • Memory optimized instances are designed to deliver fast performance for workloads that process large data sets in memory.

    • Use cases : Memory-intensive workloads such as open source databases, in-memory caches, and real-time big data analytics

  • Accelerated Computing

    • Instance family : P,G,T,I,D,F,V

    • it has more compute & GPU (Graphical Process Unit)

    • Accelerated computing instances use hardware accelerators, or co-processors, to perform functions, such as floating point number calculations, graphics processing, or data pattern matching, more efficiently than is possible in software running on CPUs

    • Use Cases : Generative AI applications, including question answering, code generation, video and image generation, speech recognition, and more. HPC applications at scale in pharmaceutical discovery, seismic analysis, weather forecasting, and financial modeling.

  • Storage Optimized

    • Instance family : I,D,H

    • it has more IOPS (Input Output Per Second)

    • Storage optimized instances are designed for workloads that require high, sequential read and write access to very large data sets on local storage. They are optimized to deliver tens of thousands of low-latency, random I/O operations per second (IOPS) to applications.

    • Use Cases : Amazon EC2 I4g instances are optimized for I/O intensive applications and are targeted to customers using transactional databases (Amazon DynamoDB, MySQL, and PostgreSQL), Amazon OpenSearch Service, and real-time analytics such as Apache Spark.

  • HPC Optimized

    • Instance family : H

    • High performance computing (HPC) instances are purpose built to offer the best price performance for running HPC workloads at scale on AWS. HPC instances are ideal for applications that benefit from high-performance processors such as large, complex simulations and deep learning workloads.


EBS (Elastic Block Storage) types

It provides block level storage volumes for use with EC2 instances

EBS volumes behave like raw, unformatted block devices

You can mount these volumes as devices on your instances.

You can dynamically change the configuration of a volume attached to an instance.

  • SSD (Solid State Drive)

    it is fast as it has no moving parts & it uses memory chips

    • General Purpose

      • GP2

      • GP3

    • Provisioned IOPS

      • io2

      • io2 block express

  • HDD (Hard Disk Drive)

    it is slow as it uses spring disk to store data. it is cost effective

    • Through put optimized (ST1)

    • Storage optimized (SC1)


In 2 tire & 3 tire, what is suitable to static & dynamic web pages

In a two-tier and three-tier architecture, both static and dynamic web pages can be accommodated. Here's how each type of page fits into these architectures:

  1. Two-Tier Architecture:

    • In a two-tier architecture, there are typically two layers: the client layer and the server layer.

    • Static Web Pages: Two-tier architectures can serve static web pages efficiently. The client (browser) requests a static page, and the server, which often includes a web server like Apache or Nginx, retrieves and serves the requested page directly to the client.

    • Dynamic Web Pages: While two-tier architectures can handle dynamic content, they may face scalability and performance challenges, especially as the complexity and demand for dynamic content increase. For more complex dynamic pages, a three-tier architecture is often preferred.

  2. Three-Tier Architecture:

    • In a three-tier architecture, there are three layers: the presentation layer (client), the application layer (middle tier), and the data layer (database).

    • Static Web Pages: Three-tier architectures can also efficiently serve static web pages. The client requests a static page, which is handled by the presentation layer (client) directly. The server-side components in the application layer may still be involved in processing requests or providing additional functionality.

    • Dynamic Web Pages: Three-tier architectures are well-suited for handling dynamic web pages. The client interacts with the presentation layer, which then communicates with the application layer for dynamic content generation. This separation of concerns and modularization of functionality make it easier to manage and scale dynamic web applications.

In conclusion, both two-tier and three-tier architectures can handle static and dynamic web pages, but the choice between them often depends on factors like scalability, performance requirements, and the complexity of the web application. For more complex dynamic applications with higher scalability needs, a three-tier architecture is generally more suitable.