Ravindra BagaleCourses & study guides English

Amazon ECS आणि Fargate म्हणजे काय? Servers न व्यवस्थापता Docker चालवा

Swiggy प्रत्येक order box मध्ये ठेवतो. Docker तुमची app तशीच pack करतो. ECS म्हणजे अनेक boxes चालवणारा kitchen manager. Fargate = machines AWS च्या — तुम्ही फक्त boxes आणा.

या chapter मध्ये तुम्ही काय शिकाल

  • एका जाड EC2 वरून अनेक containers कडे का
  • cluster, task definition, task आणि service काय
  • Fargate vs EC2 launch type
  • ECS vs Lambda vs EKS — कधी कोणतं
  • Pricing आणि छोटा lab मार्ग

1. आधी रोजचं उदाहरण

हे का लागतं?

Flipkart sale ला traffic वाढतो. एक मोठा EC2 (Node+Redis+cron) scale आणि replace कठीण. Containers = एकच image अनेक workers ला; sale संपली की बंद.

हे काय आहे?

Docker code+libs image मध्ये. चालणारी image = container. Amazon ECS containers start/stop/restart करते. Fargate = त्या containers साठी EC2 तुम्ही manage करत नाही.

ECS Fargate मार्गClientALB किंवा public IPECS serviceN healthy tasksप्रत्येक taskFargate वर containerAppRDS / DynamoDB / S3
Fargate वर host OS patch करायला SSH नको.

2. मुख्य शब्द

Wordअर्थKitchen
ClusterServices साठी घरएक restaurant brand
Task definitionRecipe: image, CPU, memory, ports, envRecipe कार्ड
Taskत्या recipe ची एक चालती प्रतएक order cook
ServiceN tasks चालू ठेवा; unhealthy बदलानेहमी 4 chefs
Launch typeFargate (EC2 नाही) किंवा EC2 (तुम्ही)भाड्याची kitchen vs स्वतःची

3. Fargate vs EC2 launch type

हे का लागतं?

चुकीचा launch type = पैसे किंवा ops वाया.

हे काय आहे?

NeedPreferका
Lab, spiky API, कमी opsFargateAMI/ASG नको; task vCPU/memory
24×7, GPU, special kernelEC2 launch typeमोठ्या steady load ला स्वस्त; जास्त control
Laptop आणि cloud एकच imageदोन्ही — image एकचPortability Docker कडून

Ravindra Bagale's Tip

Labs Fargate वर सुरू करा. Cost sheet सांगितल्यावरच EC2 launch type.

4. ECS vs Lambda vs EKS

  • Lambda: seconds, event-driven, 15 min max.
  • ECS: minutes-to-days containers, sidecars, परिचित Docker.
  • EKS: पूर्ण Kubernetes API — आधीच k8s किंवा multi-cloud skill हवी असेल.

5. Pricing (mental model)

Fargate = task चालू असताना vCPU+memory. Desired 0 ≈ जवळजवळ मोफत. ALB/NAT/ECR/data transfer वेगळे. Lab नंतर desired 0 किंवा delete.

6. Interview

प्र. Task definition काय?

Image, CPU, memory, ports, IAM, env ची JSON recipe.

प्र. Service vs task?

Task = एक run; service = N healthy.

प्र. Fargate का?

EC2 patch नको; चालत्या task चे पैसे.

प्र. ECS vs EKS?

ECS सोपं AWS-native; EKS = Kubernetes.

प्र. Images कुठे?

बहुतेक same region ECR.

घरी करून बघा

  1. कागदावर cluster→service→tasks→containers काढा.
  2. पुढचा chapter वाचा आणि Fargate वर nginx deploy करा.

थोडक्यात सांगायचं तर

  1. ECS = AWS वर Docker containers.
  2. Fargate = त्या tasks साठी EC2 manage नको.
  3. Task definition = recipe; service = N चालू.
  4. Lab cleanup — tasks चालू असताना bill.

सराव Tasks

या scenario बद्दल

Milan Furniture हा मिलान मधला फर्निचर व्यवसाय आहे. Giulia Rossi त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे EUR मध्ये मोजले जातात आणि AWS resources eu-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 10

सोपं ECS cluster बनवा

का: Cluster म्हणजे services व tasks चं logical घर.

काय करायचं: milanfurniture-cluster नावाचा ECS cluster बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं ECR repository बनवा

का: ECR तुमच्या Docker images AWS मध्ये private ठेवतो.

काय करायचं: milanfurniture/web नावाचं ECR repository बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं चालू tasks दाखवा

का: Cluster मध्ये कोणते tasks चालू आहेत ते पाहा.

काय करायचं: milanfurniture-cluster मधले tasks दाखवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Task definition register करा

का: Task definition container ची image, CPU, memory व ports सांगते.

काय करायचं: taskdef.json मधली task definition register करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम एका repository मधून images pull

का: CI/servers ने फक्त चालवायच्या images pull कराव्या.

काय करायचं: arn:aws:ecr:eu-south-1:126154182628:repository/milanfurniture/web वर ecr:BatchGetImage व ecr:GetDownloadUrlForLayer, आणि * वर ecr:GetAuthorizationToken allow करा.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

मध्यम Service scale करा

का: Container च्या जास्त copies साठी desired count बदला.

काय करायचं: milanfurniture-cluster मधली web service 4 tasks करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम ECS task role साठी trust policy

का: Trust policy role कोण घेऊ शकतो ते सांगते.

काय करायचं: ecs-tasks.amazonaws.com ला role assume करू देणारी trust policy लिहा.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

मध्यम Service redeploy करा

का: force-new-deployment tasks restart करून नवी image घेतो.

काय करायचं: milanfurniture-cluster मधल्या web service चा नवा deployment force करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम ECR login password घ्या

का: ECR ला push करण्याआधी Docker ला अल्पकालीन password लागतो.

काय करायचं: eu-south-1 साठी ECR login password मिळवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड Fargate service बनवा

का: Service हवे तितके tasks चालू ठेवते व बिघडलेले बदलते.

काय करायचं: milanfurniture-cluster मध्ये web service बनवा: task definition milanfurniture-web:1, 2 tasks, launch type FARGATE, network config net.json मधून.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: Amazon ECS म्हणजे काय?. Flipkart sale ला अनेक समान app boxes हवेत — एक जाड EC2 नको. Amazon ECS Docker containers start/stop करते. Fargate = EC2 hosts तुम्ही manage करत नाही. Task definition → cluster मध्ये service → desired count. Desired 2 = दोन healthy nginx tasks.
उजळणी card: Amazon ECS म्हणजे काय? · PNG download करा · Card page उघडा
उजळणी card: Cluster, task, service. चुकीचे शब्द = containers चालवले नाहीत असा भास. Cluster = घर. Task def = recipe. Task = प्रत. Service = N healthy. Cluster → task def → Fargate service. एक task मेलं → service नवीन चालवते.
उजळणी card: Cluster, task, service · PNG download करा · Card page उघडा
उजळणी card: ECS vs Lambda vs EKS. फक्त Docker API ला Kubernetes = ops वाया. Lambda = short events. ECS = containers. EKS = पूर्ण k8s API. Labs = ECS Fargate. kubectl हवं तरच EKS. Hours-warm API → ECS, Lambda नाही.
उजळणी card: ECS vs Lambda vs EKS · PNG download करा · Card page उघडा
तुलना: Fargate launch type vs EC2 launch type. Fargate launch type: AWS capacity; तुम्ही vCPU/memory. EC2 launch type: तुम्ही EC2/ASG/AMI.
तुलना: Fargate launch type vs EC2 launch type · PNG download करा · Card page उघडा
तुलना: Amazon ECS vs AWS Lambda. Amazon ECS: Long-running containers / sidecars. AWS Lambda: Short events, 15 min max.
तुलना: Amazon ECS vs AWS Lambda · PNG download करा · Card page उघडा
मुलाखत card: ECS मध्ये Fargate काय?. Launch type — EC2 तुम्ही manage करत नाही. Task def मध्ये CPU/memory; चालू असताना pay. Launch type Fargate; ASG नको.
मुलाखत card: ECS मध्ये Fargate काय? · PNG download करा · Card page उघडा
मुलाखत card: ECS मध्ये task vs service?. Task = एक प्रत. Service = N healthy + replace. API = service; one-off batch = task. desiredCount=2; replace on failure.
मुलाखत card: ECS मध्ये task vs service? · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.