All roads lead to AWS #3 : Technology

2B | +1% better 2day | aws.004

--

Өмнөх нийтлэл дээр Үүлэн тооцоолол гэж юу болох, яаж ажилладаг талаар байсан бол өнөөдөр ямар ямар технологи, үйлчилгээнүүд байдаг талаар ТОВЧХООН өгүүлэхээр бэлдсэн байгаа.

AWS нь өөрөө 140+ үйлчилгээтэй болохоор хамгийн түгээмэл бөгөөд мэдэхэд илүүдэхгүй гэснийг нь өөрийн өнгө үзэмжээр түүвэрлэсэн болно.

  • Тооцоолол (Compute)
  • Файл хадгалах (Storage)
  • Өгөгдлийн сан (Database)
  • Бусад (Honorable mentions)

өмнөх нийтлэл 👇👇👇

Compute

Буюу тооцоолох. Хүмүүсийн хамгийн сайн мэдэх EC2-оос авахуулаад Lambda, ELB, Beanstalk, Auto Scaling бүгд энэ төрөлд багтдаг.

Elastic Compute Cloud - EC2

Бүх төрлийн аппликэйшн болон серверийг ажиллуулах боломжтой. Энгийн серверийн үүлэн хувилбар гэж хэлж болно. Асаалттай байхад л төлбөр гарах бөгөөд унтарсан үед 0 болдог. Хэрэглэгчдийн хамгийн түгээмэл хэрэглэдэг сервис бөгөөд EBS, EIP болон Auto Scaling-тэй хослуулан хэрэглэх нь илүү үр дүнтэй. Хүссэн үедээ хялбархнаар томсгох багасгах боломж нь AWS EC2-ийг сонгох гол шалтгаан нь болдог.
- Purchase options : On-demand, Reserved, Spot, Dedicated
- AMI : ямар OS загвар ашиглахаа сонгох боломжтой (Multiple Options & No license fee, Install & Updates)
- Instance type : CPU, RAM хэмжээг сонгох
- Storage : EBS persistent storage + Ephemaral буюу түр зуурын
- Connect : SSH (key/pair) + username & password
- Access : Security Group-ийг ашиглан Firewall шиг хаанаас, хаашаа яаж хандахыг зохицуулдаг

Best AWS EC2 Tutorial (Amazon Elastic Compute Cloud)

Lambda - Serverless

Ямар нэг сервер дээр ажиллахгүй болохоор серверийн тохиргоо, арчилгаа гэсэн ойлголт байхгүй. Дурын аппликэйшнийг ажиллуулах боломжтой бөгөөд код ажилласан милл-секундээр төлбөр нь бодогддог (CPU time, RAM size, # of execution). Event driven execution болон Scale хийхэд хялбар байдаг нь сүүлийн үед МООД-онд орох шалтгаан болоод байгаа.
- Concurrent executions : 1000 max
- Memory allocation : 128mb - 3008mb
- Timeout : 900 seconds/15 minutes
- Temp directory storage : 512mb

Run code without thinking about servers. Pay only for the compute time you consume

Elastic Beanstalk - PaaS

Зөвхөн кодоо бичихэд анхаарлаа хандуулах бөгөөд, ямар орчин серверийн тохиргоо гэх мэт зүйлсийн талаар санаа зоволгүйгээр DEPLOY хийх боломжийг олгодог. Дотроо EC2, S3, Auto Scaling, ELB, SNS-ийг агуулсан байдаг бөгөөд хүссэн програмчлалын хэлээ сонгоход л хангалттай. EBS-ийн өөрийн төлбөр гэж байхгүй бөгөөд хэрэглэж буй resource-ийнхаа л төлбөрийг төлдөг.
- Programming Languages : Java, Python, Go, Node.js, Ruby, Python
- Cost : 0$
- Deployment : called new `version`

How to Integrate AWS Elastic Beanstalk with Microsoft Team Foundation Server (TFS) or (VSTS)

Elastic Load Balancer - (Classic & Application & Network)

Ачааллын хэмжээ болон аль хүсэлтийг хаашаа явуулахаа шийддэг. Health check, Sticky Sessions, Cross-zone balancing гэх мэт боломжуудаас гадна хяналт тавих (CloudWatch metrics), лог (Access logs) харах боломжтой. Дотроо 3-н өөр төрөл байдаг нь
- Classic : TCP & SSL listeners + Sticky Session
- Application : Operates at 7th layer (OSI) + targets outside VPC
- Network : Static IP for LB + Independent health check

What Is an Application Load Balancer?

Auto Scaling

Ачаалалд тохируулан хэрэгцээгээрээ resource-аа нэмэх/хасах үйлдлийг хийдэг. Бага мөнгө төлөх, эрэлт нийлүүлэлтийг автоматаар зохицуулахад зориулсан хамгийн чухал хэсэг. Auto Scaling ашиглахын тулд дараах 3-н зүйлийг тохируулах шаардлагатай.
- Launch configuration (What : AMI, Instance type, SG, Roles)
- Auto scaling group (Where : VPC, LB, Min, Max, Desired capacity)
- Auto scaling policy (When : Schedule, On-demand, S-out & S-in policy)

100 Days of DevOps — Day 20 — Auto-Scaling Group using Terraform — link

Storage

Дата хадгалах төрөл бүрийн сонголтууд. EC2 ашиглаж байгаа бол хамтад нь EBS ихэвчлэн ашигладаг. Бүхий л төрлийн статик өгөгдөл хадгалахад S3, урт хугацааны их хэмжээний датанд Glacier нь тохиромжтой байдаг.

Elastic Block Store - EBS

HDD cold, HDD optimized, SSD болон SSD Provisioned IOPS гэсэн 4 төрөлтэй. Snapshots ашиглан нөөцлөлт (backup) хийгддэг бөгөөд EC2 <-> EBS хоёрын хооронд аюулгүй харьцах боломжийг encryption шийдэж өгсөн. Яг л хард диск залгаж байгаатай адил EC2, EBS нь нэг AZ дотор байх шаардлагатай байдаг.
- Encryption : 0$ no cost
- Scale up & change type : without stopping instance
- Start guide : Choose AZ, Type, Size & Attach to EC2
- no SPOF : replicated in AZ

AWS EBS (Latest) — 5 Major Features of Elastic Block Store

Simple Storage Service - S3

Хаанаас ч, хэзээ ч хандаж болох ХЯЗГААРГҮЙ тооны объект хадгалах боломжтой түгээмэл сервис. Bucket : {key: Object} гэсэн бүтцээр 5GB — xx TB өгөгдөл хадгалах боломжтой. Client side болон Server side encryption хийх боломжтой.
- Durability : 99.999999999% (11 ширхэг 9)
- Availability : 99.99% бэлэн
- Object size : 5 terabytes max (0B-5TB)
- Bucket Name : Globally unique (Давхцах боломжгүй)
- Access : CLI, SDK & AWS console ашиглах боломжтой
- Storage class : One zone, Standard, Infrequent access

Storage with Amazon S3 and Amazon Glacier

Glacier

Өгөгдлийг урт хугацаанд, найдвартай архивлах зориулалттай. Хурднаасаа хамаарч 3 төрлөөр өгөгдлөө авах боломж байдаг. AES-256 аар шууд encrypt хийн хадгалах бөгөөд IAM-ийн тусламжтай хэн, яаж хандах эрхийг нь тохируулдаг. Урт хугацаанд бага өртгөөр хадгалахад хамгийн тохирсон хувилбар.
- Data retrieval : Bulk (5–12 hrs), Standard (3–5 hrs), Expedited (1–5 mins)
- Encryption : AES-256 default
- Usage : RESTful, Java & .NET SDK
- Cost : Per request GB & mins/hrs
- Individual archive size : 40 terabytes max (1B-40TB)
- Access : Own console + programmatic access (write code)

Database

Өгөгдлийн сан хэрэглэдэггүй апп гэж бараг байхгүй байх. Харин AWS хэрэглэж байгаа бол RDS-ийг сонсоогүй өнгөрнө гэж байхгүй. Хэрэглээнээсээ хамаараад NoSQL DynamoDB эсвэл их хэмжээний өгөгдөлд зориулсан Redshift дээр нь нэмэгдээд AWS-ийн санал болгодог Aurora-ийн талаар товчхон дурдана.

Relational Database Service - RDS

When should I use Multi-AZ as opposed to Read Replicas in RDS?

Та хүссэн төрлийн өгөгдлийн сангаа сонгон ашиглах боломжтой. Бүх төрлийн тохиргооноос гадна найдвартай ажиллагааг хангах Multi-AZ, Replica хийх боломжуудтай. Хямд мөртлөө хурдан ажиллагаатай учраас уламжлалт өгөгдлийн сангаас хэд дахин илүү байдаг.

DynamoDB - NoSQL

DynamoDB features

NoSQL өгөгдлийн сан бөгөөд их хэмжээний өгөгдөлтэй маш хурдан харьцахад тохиромжтой. Key-Value болон document төрлийн дата хадгалах боломж, Lambda-тай хамтран item-level trigger хийж чаддаг. Үүнээс гадна DynamoDB Streams ашиглан цаг хугацааны эрэмбэтэй дараалалд оруулж болно. IoT-д ашиглахад тохиромжтой.
- Item max size : 400 KB
- Search : Query or Scan (sort key || partition key)

Redshift

Их хэмжээний өгөгдөл дээр ажиллахад тохиромжтой. Data-warehouse гэж нэрлэдэг. AWS KMS эсвэл HMS ашиглан өгөгдлийг шифрлэх боломжтой. Redshift Spectrum-ийг ашиглан S3 дээрх өгөгдөлтэй ажиллаж болдог.
- Storage type : columnar
- Speed : Parallel processing

ElastiCache

Introduction to Amazon ElastiCache for Redis

Зарим үед милл-секундын latency-тэй байх нь хангалтгүй байдаг. Тоглоом болон real time анализ хийх гэх мэт. Тэгвэл тэр тохиолдолд in-memory буюу cache-лсэн өгөгдөлтэй харьцахад хэрэглэдэг. Хурднаас хурдан :D

Aurora

Amazon Aurora — 5 Unbelievable Benefits & Use Cases

Өөрсдийнх нь санал болгодог өгөгдлийн сан. MySQL, PostgreSQL-тэй compatible бөгөөд тэд нараас хамаагүй хурдан гэдэг (MySQL x 5, PostgreSQL x 3).
- Replica : 3 AZ-д 15 low-latency read replicas үүсгэх боломжтой
- Backup : S3
- Storage : 64TB

Honorable mentions :

Дээр дурдсан services дотор ороогүй зөндөө юм үлдсэн байгаа. Тэд нараас заримынх нь нэрийг ядаж дурдах хэрэгтэй байх гэсэн үүднээс дараах жагсаалтыг оруулсан болно.

Үүнээс гадна дараа дараачийн нийтлэл дээр яригдах VPC, SG, IAM, Trusted Advisor, X-ray, CloudWatch, CloudTrail, Route53, Shield гэж байгаа. AWS-ийн дийлэнх сервис нь High Availability буюу байнгын ажиллагаатай байдлыг өөртөө шингээсэн байдаг. Заримынх нь хувьд хэдий тийм биш боловч зөв архитектур гаргаж чадвал High Availability болгох боломжтой гэж үздэг.

Энэ хүрээд нийтлэл маань дуусаж байна. Мэдээж энэ дотор бүх зүйл ороогүй болохоор чухал гэж бодсон, нийтлэл дотор багтаагүй AWS Services байвал сэтгэгдэл дээр бичиж үлдээгээрэй. Харин дараачийн дугаар маань All roads lead to AWS #4 : Security талаар байх болно.

--

--

Билигүн.Б (Програмч аав)
2B +1% better 2day

I am who I am... || өөрийнхөөрөө байхаас ичихгүй