What is Amazon Web Services (AWS)
Amazon Web Services (AWS) is a comprehensive and widely used cloud computing platform offered by Amazon. It provides a vast array of cloud services, including computing power, storage, databases, machine learning, analytics, and more. It provides a wide range of cloud services that help businesses and individuals build and deploy various types of applications and services in a flexible, scalable, and cost-effective manner.
AWS (Amazon Web Services) is a Cloud Provider
• They provide you with servers and services that you can use on-demand and scale easily
• AWS has revolutionized IT over time
• AWS powers some of the biggest websites in the world like Amazon.com and Netflix
List out all the global services in AWS?
Here's a list of some of the core global services available on AWS
Amazon Elastic Compute Cloud (EC2)
Amazon Simple Storage Service (S3)
Amazon Relational Database Service (RDS)
Amazon DynamoDB
Amazon CloudFront
Amazon Route 53
Amazon Virtual Private Cloud (VPC)
AWS Identity and Access Management (IAM)
Amazon Simple Queue Service (SQS)
Amazon Simple Notification Service (SNS)
AWS Lambda
Amazon Elastic Container Service (ECS)
Amazon Elastic Kubernetes Service (EKS)
Amazon Simple Email Service (SES)
Amazon CloudWatch
AWS CloudTrail
Amazon Aurora
AWS Key Management Service (KMS)
AWS Organizations
AWS Direct Connect
AWS services which are used to host websites.
Amazon S3: Hosts static websites with high availability and scalability, serving various assets like HTML, CSS, JS, and images directly to users.
Amazon CloudFront: Accelerates website delivery globally by caching content at edge locations, providing DDoS protection, and supporting SSL/TLS termination.
AWS Amplify: Simplifies full stack serverless web app deployment with continuous deployment, authentication, analytics, and offline functionality.
AWS Elastic Beanstalk: Offers easy deployment and management of web apps with automatic scaling, load balancing, and health monitoring.
Amazon EC2: Provides resizable compute capacity for hosting websites with flexibility and control over configurations and networking settings.
Amazon LightSail: Simplified VPS solution for web hosting, offering pre-configured instances, scalability, and intuitive management tools.
Amazon Route 53: Scalable DNS service for domain registration, traffic routing, and advanced routing policies with high availability and low latency.
AWS Certificate Manager: Simplifies SSL/TLS certificate management for website security with automatic renewal and integration with other AWS services.
AWS WAF: Protects web applications from exploits and attacks with customizable rules, geo-blocking, rate limiting, and integration with AWS services.
What are AWS serverless services
AWS Lambda
Amazon API Gateway
Amazon DynamoDB
Amazon S3
Amazon SNS (Simple Notification Service)
Amazon SQS (Simple Queue Service)
AWS Step Functions
Amazon Event Bridge
AWS Fargate
Amazon Kinesis Data Streams
What are edge locations?
The Edge Location is the place where the contents will be cached. When a user tries to access some content, the content will be searched in the edge location. if it is not available then the content will be made available from the origin location and a copy will be stored in Edge locations. There are currently 216 Points of Presence globally (edge locations) They are located in most of the major cities around the world and are used by CloudFront (CDN) and route53(DNS) to distribute content nearer to the end user.
What is meant by Region, Availability Zone, and Edge Location?
Region: A region is a geographic area that is served by a specific set of AWS infrastructure. Each region has multiple Availability Zones, which are isolated from each other by distance and independent power and cooling. This helps to ensure that your applications are highly available even if there is a problem with one Availability Zone.
AWS also offers several Local Zones, which are smaller, more focused deployments of infrastructure that are designed to be closer to end users.
Availability Zones: An Availability Zone is an isolated data center within an AWS region that is designed to provide high availability and fault tolerance for applications and services.
Edge Locations: The Edge Location is the place where the contents will be cached.
Edge locations are CDN endpoints for the cloud front to deliver content to end users with low latency.
What is SSH (Secure Shell)
SSH is one of the most important functions. It allows you to control a remote machine, all using the command line. It keeps your data safe through encryption and authentication
What are Virtual Machines?
A virtual Machine also called a "VM" is a virtual computer with its own virtual CPU, virtual memory, etc. VMs run on their host computer and share their hardware resources.
How is that possible?
Using a "Hypervisor". Hypervisor is a technology that allows hosting multiple virtual computers on a single physical computer. One of the most popular hypervisors are
Virtual BOX
VMware vSphere
Use Cases & Benefits of Using VMs
Trying out a new OS, without endangering your main OS
As a developer: Testing your application on different OSs
Efficient usage of hardware resource ------>Cost Savings
Backup of OS
As the OS is not tightly coupled to the hardware, backups of the entire OS are possible
Classic Ports to know
• 22 = SSH (Secure Shell) - log into a Linux instance
• 21 = FTP (File Transfer Protocol) – upload files into a file share
• 22 = SFTP (Secure File Transfer Protocol) – upload files using SSH
• 80 = HTTP – access unsecured websites
• 443 = HTTPS – access secured websites
• 3389 = RDP (Remote Desktop Protocol) – log into a Windows instance
How to access the AWS Platform?
• AWS Console
• AWS CLI (Command line interface)
• AWS SDK (Software Development Kit)
What is the AWS CLI?
• A tool that enables you to interact with AWS services using commands in your command-line shell. It allows users to manage resources, configure services, and automate tasks
• Direct access to the public APIs of AWS services
• You can develop scripts to manage your resources
What is Amazon EC2 Instance Connect?
Amazon EC2 Instance Connect provides a simple and secure way to connect to your instances using Secure Shell (SSH). It eliminates the need to use key pairs and allows you to connect using your AWS Management Console credentials.
What is the AWS SDK?
• SDK stands for software development kit. An SDK is a set of tools to build software for a particular platform. These tools also allow an app developer to build an app which can integrate with another program.
• Language-specific APIs (set of libraries)
• Enables you to access and manage AWS services programmatically
• Embedded within your application
• Supports
• SDKs (JavaScript, Python, PHP, .NET, Ruby, Java, Go, Node.js, C++)
• Mobile SDKs (Android, iOS, …
• IoT Device SDKs (Embedded C, Arduino, …)
• Example: AWS CLI is built on AWS SDK for Python
What is latency?
Latency is nothing but the time that is taken for the request to reach the application and for the application and the server to send the response back to you.
Services in AWS for a DevOps Engineer
Compute: EC2, ECS, Lambda, Fargate, EKS.
Storage: S3, RDS, DynamoDB, ElastiCache.
Networking: VPC, Route53, CloudFront.
Security: IAM, KMS, Secrets Manager.
DevOps: CodeBuild, Code Pipeline, CodeCommit, CodeDeploy.
Logging & Monitoring: CloudWatch, OpenSearch, CloudTrail.
What is the difference between IPv4 and IPv6?
The main difference between IPv4 and IPv6 is the address size of IP addresses.
•The IPv4 is a 32-bit address It Supports Manual and DHCP address configuration
•IPv4 has a header of 20-60 bytes.
•Example of IPv4: 66.94.29.13
•IPv6 has a 128-bit address length It supports Auto and renumbering address configuration
•IPv6 has a header of 40 bytes fixed
•Example of IPv6: 2001:0000:3238: DFE1:0063:0000:0000: FEFB
IPv6 is faster than IPv4 in network devices.
How do I change IPv4 to IPv6?
To convert Internet Protocol 4 (IPv4) to Internet Protocol 6 (IPv6), perform the following steps. Open the tool: IPv4 to IPv6 converter. Enter any valid IPv4 address and click on the "Convert to IPv6" button. The tool will process your request and provide you with the converted IPv6 address.
To generate an SSH key pair with a comment, you can use the following command
ssh-keygen -t rsa -C "your_comment_here" Replace "your_comment_here"
with the comment you want to associate with your SSH key
What is Serverless? Many people say, "We want to move to Serverless" Let's see why.
Serverless doesn't really mean Serverless.
There is a server, it's just not yours 😅
Pros of Serverless:
- No or very little server management
- Only charged for server space or compute used
- Architecture is generally scalable on its own to a degree
- Quick deployments and updates
But here are the Cons for Serverless:
- Security concerns because of the shared server (As I mentioned, the server is there, it's just not yours...alone)
- Not great for long-running tasks
- Testing and Debugging are challenging because we can't easily replication the environment
- Performance issues because of cold start
- Vendor lock-in (in some services)
There are always 2 sides of a coin. We need to make sure we look at them both before choosing Serverless.
What is an auto-scaling and what are the components?
Auto scaling allows you to automatically scale up and scale down the number of instances depending on the CPU utilization or memory utilization. There are 2 components in Auto scaling, they are Auto-scaling groups and Launch Configuration
Challenges we face while using AWS
Service Complexity: AWS offers a vast array of services, and navigating them can be overwhelming, requiring a good understanding of each service's capabilities and use cases.
Cost Management: Managing AWS costs effectively requires careful monitoring and optimization to avoid unexpected bills and overspending.
Security and Compliance: Ensuring the security and compliance of AWS environments involves managing access controls, encryption, and compliance requirements effectively.
Networking Challenges: Setting up and managing network configurations, VPCs, and connectivity options can be complex, particularly in multi-region or hybrid cloud environments.
Performance Optimization: Optimizing the performance of AWS resources requires understanding and tuning configurations to meet the demands of high-traffic or resource-intensive applications.
Resilience and Disaster Recovery: Designing resilient architectures and implementing backup and disaster recovery mechanisms are crucial but challenging tasks.
CI/CD Implementation: Setting up CI/CD pipelines for automated software delivery requires integrating different AWS services and managing deployment workflows effectively.
Monitoring and Troubleshooting: Monitoring AWS resources, analyzing logs, and diagnosing issues in real-time are essential tasks that require configuring monitoring tools and analyzing data effectively.
Scalability in AWS?
Scalability in AWS refers to the ability to easily and efficiently increase or decrease the resources and capacity of your cloud infrastructure to accommodate changes in workload and demand. Two types of Scalabilities
Horizontal Scaling: Increasing the number of instances. Ex: AWS Auto Scaling Groups.
Vertical Scaling: Increasing the system resources like CPU, RAM, Storage, etc. Ex: AWS instance size t2. micro to t2. large.
Explain can you vertically scale an Amazon instance? How?
Vertical scaling involves increasing or decreasing the resources of an instance, such as CPU or RAM. This can be done manually by stopping the instance, changing its instance type to one with more or fewer resources, and then restarting it