This repository aims to provide the necessary knowledge for developing AI engineering skills and contains relevant documents related to the field.
Docker is a containerization platform that allows developers to package, ship, and run applications in containers. Docker Allows you to run your application in a container that is isolated from the host operating system. There are 3 fundamental elements in dockers: Docker file, Image and Container. Doc Link
Amazon SageMaker, EC2, and Lambda serve different purposes in the AWS ecosystem. SageMaker is a specialized service for building, training, and deploying machine learning models, providing an end-to-end ML workflow without the need to manage infrastructure. EC2 offers general-purpose virtual machines, giving users full control over the operating system, configurations, and applications, making it versatile for a wide range of tasks, including web hosting, databases, or custom ML setups. In contrast, Lambda is a serverless compute service designed for event-driven, short-lived functions, where code is executed in response to triggers, without the need to manage or provision servers. Doc Link
Deploying an application on Amazon EC2 involves launching a virtual machine in the AWS cloud, giving users full control over the compute environment. The process includes selecting an instance type, configuring instance details (network, storage, security), and choosing an AMI (operating system). After launching the instance, you access it via SSH or RDP to install and configure your application. Security groups control network access, and optional services like Elastic Load Balancers can enhance scalability. You can also associate an Elastic IP or use Route 53 for domain setup, while CloudWatch provides monitoring and auto-scaling for efficient resource management. Doc Link
Find AWS Access Key ID and Secret Access Key: https://www.msp360.com/resources/blog/how-to-find-your-aws-access-key-id-and-secret-access-key/#:~:text=1%20Go%20to%20Amazon%20Web,and%20Secret%20Access%20Key)%20option.
Load Testing with JMeter is a process used to evaluate the performance and scalability of web applications by simulating heavy user traffic. Apache JMeter, an open-source tool, allows testers to create and configure test plans that mimic real-world usage scenarios, including concurrent users, requests, and data. It measures response times, throughput, error rates, and other performance metrics, providing valuable insights into how the application behaves under stress. JMeter supports a wide range of protocols (HTTP, FTP, SOAP, JDBC) and can generate detailed reports to help identify bottlenecks, optimize resources, and ensure the application can handle the expected load efficiently before going live. Doc Link