Skip to main content

Posts

Showing posts from 2023

Denial-of-Service Attacks in AWS

Customers can call the coffee shop to place their orders. After answering each call, a cashier takes the order and gives it to the barista. However, suppose a prankster calls in multiple times to place orders but needs to pick their drinks. This causes the cashier to be unavailable to take other customers' calls. The coffee shop can attempt to stop the false requests by blocking the phone number that the prankster is using. In this scenario, the prankster's actions resemble a denial-of-service attack. Denial-of-service attacks: A Denial-of-Service (DoS) attack is a malicious attempt to disrupt the normal functioning of a targeted server, service, or network by overwhelming the target or its surrounding infrastructure with a flood of Internet traffic. DoS attacks achieve effectiveness by utilizing multiple compromised computer systems as sources of attack traffic. Exploited machines can include computers and other networked resources such as IoT devices. There are several t...

Types of Servers

  Origin Server: An "Origin Server" is a key concept in network computing, particularly in the context of the internet and web services. Here's a detailed explanation of its role and functions: ·          Definitive Data Source ·          Handling Client Requests ·          Content Creation and Storage ·          Role in Content Delivery Networks (CDNs) ·          Dynamic Content Deliver ·          Web Hosting and Server Environment Proxy Server: A proxy server acts as an intermediary between a client (such as a computer or mobile device) and the internet. Its primary functions include: ·          Request Forwarding ·          Anonymity and Security ·   ...

Messaging and Queuing in AWS

Amazon Web Services (AWS) offers a suite of messaging and queuing services that cater to different use cases, from simple message queuing to real-time streaming data. Here's a brief overview of these services and their use cases: Amazon SQS (Simple Queue Service) : Type : Message queuing service. Use Cases : Decoupling application components, distributing tasks among worker nodes, buffering requests, and handling spikes in load. Features : Standard Queues : Nearly unlimited throughput, best-effort ordering, and at least once delivery. FIFO (First-In-First-Out) Queues : Exactly-once processing, guaranteed order, and limited throughput. Integration : Easily integrated with AWS Lambda, EC2, ECS, and other AWS services. Example 1: Fulfilling an order Suppose the coffee shop has an ordering process in which a cashier takes orders, and a barista makes the orders. Think of the cashier and the barista as two separate components of an application. First, the cashier takes an order and write...

Directing Traffic with Elastic Load Balancing

  Directing traffic with Elastic Load Balancing (ELB) in AWS is fundamental for distributing incoming network requests across multiple Amazon EC2 instances or other AWS resources. ELB helps ensure high availability, fault tolerance, and efficient application resource utilization. Here's a step-by-step overview of how traffic is directed with ELB: Create an Elastic Load Balancer : In the AWS Management Console, navigate to the EC2 dashboard. Choose "Load Balancers" and click "Create Load Balancer." Select the type of load balancer you need: Application Load Balancer (ALB) : For routing HTTP/HTTPS traffic at the application layer. Network Load Balancer (NLB) : For handling TCP, UDP, and TLS traffic at the transport layer. Classic Load Balancer (deprecated) : An older version of ELB with fewer features; it's recommended to use ALB or NLB if possible. Configure the load balancer settings, such as listeners (ports), security groups, and VPC settings. Define Targe...

Scaling Amazon EC2

Scaling Amazon Elastic Compute Cloud (EC2) instances is a crucial aspect of AWS infrastructure management, allowing you to adjust the number of instances to meet the demands of your applications. There are two primary methods for scaling EC2 instances: vertical scaling and horizontal scaling. Vertical Scaling : Vertical scaling involves increasing or decreasing the capacity of a single EC2 instance. This is typically done by modifying the instance type or size. Here's how you can achieve vertical scaling: Stop the Instance : First, stop the EC2 instance you want to scale vertically. Change the Instance Type : In the AWS Management Console, you can change the instance type to a larger or smaller one. For example, you can upgrade from a t2.micro to a t2.large instance type to increase capacity. Start the Instance : After modifying the instance type, start the instance to apply the changes. Vertical scaling is proper for workloads that can be accommodated within a single instance and ...

Amazon EC2 pricing

  Amazon Elastic Compute Cloud (EC2) is a cloud computing service provided by Amazon Web Services (AWS) that allows you to rent virtual servers, known as instances. EC2 pricing can be somewhat complex due to various cost factors. Here are some key points to understand: Instance Types : EC2 offers a variety of instance types optimized for different use cases, such as general-purpose, compute-optimized, memory-optimized, and more. The pricing varies based on the instance type you choose. Pricing Models : On-Demand Instances : You pay for computing capacity by the hour or second without any upfront fees or long-term commitments. Sample use cases for On-Demand Instances include developing testing and running applications with unpredictable usage patterns. On-demand instances are not recommended for workloads that last a year or longer because these workloads can experience greater cost savings using Reserved Instances. Reserved Instances (RIs) : RIs offer significant discounts compared...

Amazon EC2 instance types

Exploring Amazon EC2 Instance Types: Choosing the Right Virtual Machine for Your Workload Amazon Elastic Compute Cloud (Amazon EC2 ) provides many instance types, each optimized for different use cases and workloads. Here's an overview of the various EC2 instance types from my last knowledge update in September 2021. Please note that Amazon EC2 continually adds new instance types and some instance families may have been updated or replaced since then. General Purpose Instances (T2, M3, M4, M5, M6, M7): These instances suit various workloads, including web applications, development and testing, and small to medium-sized databases. Compute-Optimized Instances (C3, C4, C5, C6, C7): Designed for compute-intensive workloads, these instances are ideal for tasks like data analysis, batch processing, and scientific computing. Memory-Optimized Instances (R3, R4, R5, R6, X1, X2, X2gd, z1d): These instances provide high memory capacity and are well-suited for memory-intensive applications ...

Cloud computing

  Cloud computing is a technology model that enables access to a shared pool of computing resources and services over the Internet. Instead of owning and maintaining physical servers and data centers, organizations can use cloud computing services provided by cloud service providers. These services include computing power, storage, databases, networking, software, and more. Cloud computing services can be categorized into several main models: Infrastructure as a Service (IaaS): IaaS provides virtualized computing resources over the Internet. Users can rent virtual machines, storage, and networking components, allowing them to run and manage their operating systems and applications. Platform as a Service (PaaS): PaaS offers a platform that includes the underlying infrastructure, development tools, and services to build, deploy, and manage applications. Users focus on coding and application development while the platform handles the underlying infrastructure. Software as a Service ...

Key Performance Metrics For Every Engineer

Time to First Byte (TTFB) Time to First Byte (TTFB) is a metric used to measure the responsiveness of a web server. It represents the amount of time it takes for a user's browser to receive the first byte of data from the server after making an HTTP request. TTFB is an important performance indicator because it can impact the overall loading time of a web page. TTFB includes several components: Request Time: This is the time it takes for the user's request to reach the server. It depends on factors like network latency and the user's internet connection speed. Server Processing Time: Once the server receives the request, it must process it. This includes tasks like database queries, executing server-side code, and generating dynamic content. Response Time: After processing the request, the server sends back the first byte of data to the user's browser. Example: A website’s TTFB is 200 milliseconds, indicating a fast initial response from the server. Throug...