AWS-ийн хэллэгүүд

zagdsuren.b
Unimedia Solutions

--

Энэ удаагийн нийтлэлээрээ AWS-ийн нэршлүүдийн талаар өөрийн тэмдэглэж байсан зүйлээ хуваалцъя гэж бодлоо. Энэ тэмдэглэл нь нэлээн дээр үед AWS-ийн CP (cloud practitioner)-ийн шалгалтад бэлдэж байхдаа AWS Whitepapers-аас тэмдэглэж авсан зүйлс юм. AWS нь эрчимтэй хөгжиж байгаа тул хуучирсан өөрчлөгдсөн зүйлс байвал түрүүлээд хүлцэл өчье.

Сайн архитектурын Framework-ийн таван багана (The Five Pillars of the Well-Architected Framework)

  • Operational Excellence
    Төгс үйл ажиллагааны тулгуур нь хөгжүүлэлтийг дэмжих, workload-ийн үр дүнтэй ажиллуулах, тэдгээрийн үйл ажиллагааны талаар ойлголттой болох, бизнесийн үнэ цэнийг тасралтгүй сайжруулах чадварыг хэлнэ. (Monitor systems, continually improve process)
  • Security
    Аюулгүй байдлын тулгуур нь аюулгүй байдлыг сайжруулахын тулд үүлэн технологийн давуу талыг ашиглан өгөгдөл, систем, assets хамгаалах чадварыг хэлнэ. (Protect information, system, assets, risk assessments)
  • Reliability
    Найдвартай байдлын тулгуур нь ажлын ачаалал хүлээгдэж буй үүргээ зөв, тогтвортой гүйцэтгэх чадварыг хэлнэ. (Recover from disruptions, dynamic resources)
  • Performance Efficiency
    Гүйцэтгэлийн үр ашгийн тулгуур нь системийн шаардлагыг хангахын тулд тооцоолох нөөцийг үр ашигтай ашиглах, эрэлт хэрэгцээ өөрчлөгдөж, технологи хөгжихийн хэрээр үр ашгийг хадгалах чадварыг хэлнэ. (User resource efficiently, maintain efficiently)
  • Cost Optimization
    Зардлын оновчлолын тулгуур нь бизнесийн үнэ цэнийг хамгийн бага үнээр хүргэх системийг ажиллуулах чадварыг хэлнэ. (Avoid or Eliminate unneeded cost or resources)

Types of Computing

  • IaaS (Infrastructure as a Service)
    IaaS нь үүлэн мэдээллийн технологийн үндсэн барилгын блокуудыг агуулдаг бөгөөд ихэвчлэн сүлжээний функцууд, компьютерууд, өгөгдөл хадгалах төхөөрөмжид хандах боломжийг олгодог.
  • PaaS (Platform as a Service)
    PaaS нь байгууллагуудад суурь дэд бүтцийг (ихэвчлэн техник хангамж болон үйлдлийн систем) удирдах хэрэгцээг арилгаж, програмуудаа байршуулах, удирдахад анхаарлаа төвлөрүүлэх боломжийг олгодог.
  • SaaS (Software as a Service)
    SaaS нь үйлчилгээ үзүүлэгчийн ажиллуулж, удирддаг бэлэн бүтээгдэхүүнээр хангадаг.
Amazon EC2

Types of Deployment

  • Cloud
    “Cloud” нь интернетээр нэвтэрдэг серверүүд болон тэдгээр серверүүд дээр ажилладаг программ хангамж, мэдээллийн сангуудыг хэлнэ.
  • On-premises
    “On-premises” нь тухайн байгууллага эсвэл суурин газар дээр нь байршуулсан мэдээллийн технологийн дэд бүтцийн техник хангамж, программ хангамжийг хэлнэ.
  • Hybrid
    “Hybrid” нь Cloud болон On-premises-ийн хосолсон шийдэлийг хэлнэ.

AWS tools

  • AWS Management Console
    “AWS Management Console” нь веб програм бөгөөд хэрэглэгчийг AWS web service-үүд рүү хандах боломж олгодог.
  • AWS CLI (Command Line interface)
    AWS CLI нь таны AWS service-ийг удирдах нэгдсэн хэрэгсэл юм.
  • AWS SDK (Software Development Kits)
    AWS SDK нь AWS service-ийг программын кодонд ашиглахыг хялбаршуулдаг хөгжүүлэх багц юм.

Services

Compute Services

  • Amazon EC2 (Elastic Compute Cloud)
    Amazon EC2 нь cloud доторх аюулгүй, хэмжээг өөрчлөх боломжтой тооцоолох хүчин чадлыг хангадаг вэб үйлчилгээ юм.
  • Amazon EC2 Auto Scaling
    Auto scaling нь хэрэглүүрийн бэлэн байдлыг хадгалахад тусалж, тодорхойлсон нөхцлийн дагуу EC2 инстансуудыг автоматаар нэмэх эсвэл хасах боломжийг олгоно.
  • Amazon ECR (Elastic Container Registry)
    ECR нь бүрэн удирддаг Docker контейнерийн бүртгэл бөгөөд хөгжүүлэгчдэд Docker контейнерийн image хадгалах, удирдах, байрлуулахад хялбар болгодог.
  • Amazon ECS (Elastic Container Service)
    ECS нь Docker контейнеруудыг дэмждэг, AWS дээр контейнержуулсан программыг хялбархан ажиллуулж, scale хийх боломжийг олгодог highly scalable, high-performance контейнер зохион байгуулах үйлчилгээ юм.
  • Amazon Lightsail
    Lightsail нь AWS дээр виртуал хувийн серверийг эхлүүлэх, удирдах хамгийн хялбар арга байхаар бүтээгдсэн.
  • AWS Batch
    Batch нь хөгжүүлэгчид, эрдэмтэд, инженерүүдэд хэдэн зуун мянган багц тооцоолох ажлыг хялбар, үр дүнтэй гүйцэтгэх боломжийг олгодог.
  • AWS Elastic Beanstalk
    Elastic Beanstalk нь Java, DotNet, PHP, NodeJS, Python, GO болон Docker программуудыг ашиглан Apache, Nginx, Passenger, IIS (Internet Information Service) зэрэг танил серверүүд дээр бүтээгдсэн вэб програм, үйлчилгээг ашиглахад хялбар үйлчилгээ юм.
  • AWS Lambda
    Lambda нь танд сервер бэлтгэх, удирдахгүйгээр кодыг ажиллуулах боломжийг олгоно.

Database

  • Amazon Aurora
    Aurora бол MySQL болон PostgreSQL-тэй нийцтэй харилцааны мэдээллийн сангийн engine бөгөөд өндөр чанартай арилжааны мэдээллийн сангийн хурд, хүртээмжийг нээлттэй эх сурвалжийн өгөгдлийн сангийн энгийн бөгөөд зардал багатай хослуулсан.
  • Amazon RDS (Relational Database Service)
    RDS нь cloud дээрх мэдээллийн санг тохируулах, ажиллуулах, scale хийхэд хялбар болгодог.
  • Amazon DynamoDB
    DynamoDB нь нэг оронтой миллисекундын гүйцэтгэлийг ямар ч scale-аар хангадаг key-value ба document-ийн мэдээллийн сан юм.
  • Amazon ElastiCache
    ElastiCache бол cloud доторх санах ойн кэшийг байрлуулах, ажиллуулах, scale хийхэд хялбар болгодог вэб үйлчилгээ юм.

Storage

  • Amazon EFS
    EFS нь AWS Cloud үйлчилгээ болон on-premises resource-д ашиглах энгийн, сервергүй, set-and-forget уян файлын системийг хангадаг.
  • Amazon S3
    Amazon S3 нь салбартаа тэргүүлэх өргөтгөх чадвар, өгөгдлийн хүртээмж, аюулгүй байдал, гүйцэтгэлийг санал болгодог объект хадгалах үйлчилгээ юм.
  • Amazon S3 Glacier
    S3 Glacier нь найдвартай, бат бөх, маш хямд өртөгтэй, өгөгдлийг архивлах, урт хугацааны нөөцлөх зориулалттай Amazon S3 хадгалах төрөл юм.

Networking and Content Delivery

  • Amazon VPC (Virtual Private Cloud)
    VPC нь танд өөрийн тодорхойлсон виртуал сүлжээнд AWS нөөцийг ажиллуулах боломжтой AWS Cloud-ын логик тусгаарлагдсан хэсгийг хангах боломжийг олгоно.
  • Amazon CloudFront
    CloudFront нь өгөгдөл, видео, программ хангамж, API-г дэлхийн хэмжээнд хэрэглэгчдэд бага хоцролт, дамжуулах өндөр хурдтайгаар найдвартай хүргэдэг хурдан CDN (content delivery network) үйлчилгээ юм.
  • Amazon Route 53
    Route 53 нь өндөр хүртээмжтэй, өргөтгөх боломжтой cloud DNS (Domain Name System) вэб үйлчилгээ юм.
  • AWS Direct Connect
    Direct Connect нь танай компаниас AWS руу тусгай сүлжээний холболтыг хялбар үүсгэдэг.
  • Amazon API Gateway
    API Gateway нь хөгжүүлэгчдэд API-г ямар ч scale-аар үүсгэх, нийтлэх, хадгалах, хянах, хамгаалахад хялбар болгодог бүрэн удирдлагатай үйлчилгээ юм.

Application Integration

  • AWS Step Functions
    Step Functions нь олон AWS үйлчилгээг сервергүй ажлын урсгалд уялдуулах боломжийг олгодог бөгөөд ингэснээр програмуудыг хурдан үүсгэж, шинэчлэх боломжийг олгодог.
  • Amazon SQS (Simple Queue Service)
    SQS нь бичил үйлчилгээг салгах, scale, системийг түгээх боломжийг олгодог бүрэн удирдлагатай мессежийн дарааллын үйлчилгээ юм.
  • Amazon SNS (Simple Notification Service)
    SNS нь өндөр хүртээмжтэй, удаан эдэлгээтэй, аюулгүй, бүрэн удирддаг pub/sub мессежийн үйлчилгээ бөгөөд танд бичил үйлчилгээ, түгээсэн систем болон сервергүй програмуудыг салгах боломжийг олгодог.
  • Amazon SWF (Simple WorkFlow)
    SWF нь хөгжүүлэгчдэд зэрэгцээ эсвэл дараалсан алхмуудтай background jobs-ыг бүтээх, ажиллуулах, scale тусалдаг

Management and Governance

  • Amazon CloudWatch
    CloudWatch нь хөгжүүлэгчид, системийн операторууд, SRE (site reliability engineers) болон мэдээллийн технологийн менежерүүдэд зориулагдсан хяналт, удирдлагын үйлчилгээ юм.
  • AWS Cloud Formation
    Cloud Formation нь хөгжүүлэгчид болон системийн администраторуудад холбогдох AWS нөөцийн цуглуулгыг бий болгох, удирдах, тэдгээрийг эмх цэгцтэй, урьдчилан таамаглах боломжтой байдлаар хангах, шинэчлэх хялбар аргыг өгдөг.
  • AWS Cloud Trail
    Cloud Trail нь таны акаунтын AWS API дуудлагыг бүртгэж, log файлуудыг танд хүргэдэг вэб үйлчилгээ юм.
  • AWS Config
    Config бол аюулгүй байдал, засаглалыг идэвхжүүлэхийн тулд танд AWS нөөцийн бүртгэл, тохиргооны түүх, тохиргооны өөрчлөлтийн мэдэгдлээр хангадаг бүрэн удирдлагатай үйлчилгээ юм.
  • AWS Trusted Advisor
    Trusted Advisor нь AWS орчныг оновчтой болгосноор зардлыг бууруулах, гүйцэтгэлийг нэмэгдүүлэх, аюулгүй байдлыг сайжруулахад туслах онлайн эх сурвалж юм.

Customer Engagement

  • Amazon SES (Simple Email Service)
    SES нь дижитал маркетерууд болон програм хөгжүүлэгчдэд маркетингийн мэдэгдэл, гүйлгээний имэйл илгээхэд туслах зорилготой үүлэн дээр суурилсан имэйл илгээх үйлчилгээ юм.

Developers Tools

  • AWS CodeCommit
    CodeCommit нь бүрэн удирддаг эх сурвалжийн хяналтын үйлчилгээ бөгөөд компаниудад аюулгүй, өргөн цар хүрээтэй private git репозиторуудыг байршуулахад хялбар болгодог.
  • AWS CodeBuild
    CodeBuild нь эх кодыг эмхэтгэн, тестийг ажиллуулж, ашиглахад бэлэн програм хангамжийн багцуудыг гаргадаг бүрэн удирддаг бүтээх үйлчилгээ юм.
  • AWS CodeDeploy
    CodeDeploy нь EC2 инстанцууд болон on-premises зэрэг дурын инстантад автоматаар код байршуулах үйлчилгээ юм.
  • AWS CodePipeline
    CodePipeline нь програм хангамж болон дэд бүтцийн шинэчлэлтүүдийг хурдан бөгөөд найдвартай болгохын тулд release pipelines-ийг автоматжуулахад туслах бүрэн удирддаг тасралтгүй хүргэлтийн үйлчилгээ юм.
  • AWS CodeStar
    CodeStar нь танд AWS дээр програмуудыг хурдан хөгжүүлэх, бүтээх, байрлуулах боломжийг олгоно. Програм хангамж хөгжүүлэх үйл ажиллагаагаа нэг дороос хялбархан гүйцэтгэх боломжтой.
  • AWS Cloud9
    Cloud9 нь үүлэнд суурилсан IDE (integrated development environment) бөгөөд танд зөвхөн web browser ашиглан код бичих, ажиллуулах, debug хийх боломжийг олгодог.
  • AWS X-Ray
    X-Ray нь хөгжүүлэгчдэд микро үйлчилгээний архитектур ашиглан бүтээгдсэн гэх мэт үйлдвэрлэлд байгаа эсвэл хөгжүүлэгдэж буй тархсан програмуудад дүн шинжилгээ хийх, debug хийхэд тусалдаг.

Analytics

  • Amazon Athena
    Amazon Athena нь стандарт SQL ашиглан Amazon S3 дээрх өгөгдөлд дүн шинжилгээ хийхэд хялбар болгодог интерактив query үйлчилгээ юм. Athena нь сервергүй тул түүнийг удирдах ямар ч дэд бүтэц байхгүй бөгөөд та зөвхөн ажилуулсан query-ийн төлбөрийг төлдөг.
  • Amazon EMR
    Amazon EMR нь динамикаар өргөтгөх боломжтой EC2 тохиолдлуудад асар их хэмжээний өгөгдлийг боловсруулахад хялбар, хурдан, зардал багатай болгон удирддаг Hadoop framework юм.
  • AWS Elastic search Service
    Elastic search нь байрлуулах, хамгаалах, ажиллуулах, scale-ийг хялбар болгодог. Мэдээллийг realtime-д хайх, шинжлэх, дүрслэх уян хатан хайлт юм.
  • Amazon Kinesis
    Kinesis нь realtime мэдээллийг цуглуулах, боловсруулах, дүн шинжилгээ хийхэд хялбар болгодог бөгөөд ингэснээр та цаг тухайд нь мэдээлэл авч, хурдан хариу үйлдэл үзүүлэх боломжтой болно.
  • Amazon Kinesis Data Firehose
    Kinesis Data Firehose нь data stores болон аналитик хэрэгсэлд урсгал (streaming) өгөгдлийг найдвартай ачаалах хамгийн хялбар арга юм.
  • Amazon KDS (Kinesis Data Streams)
    KDS нь урсгал (streaming) өгөгдөлд дүн шинжилгээ хийх хамгийн хялбар арга бөгөөд хэрэгжүүлэх боломжтой ойлголтыг олж авах, бизнес болон үйлчлүүлэгчдийнхээ хэрэгцээнд хариу үйлдэх өгөх боломжийг олгодог.
  • Amazon Redshift
    Redshift нь хурдан, өргөтгөх боломжтой data warehouse бөгөөд data warehouse болон data lake дахь бүх өгөгдлийг шинжлэхэд хялбар бөгөөд хэмнэлттэй болгодог.

AWS Cost Management

  • AWS Cost Explorer
    Cost Explorer нь ашиглахад хялбар интерфэйстэй бөгөөд энэ нь танд AWS-ийн зардал болон ашиглалтыг дүрслэн харуулах, ойлгох, удирдах боломжийг олгодог.
  • AWS Budgets
    Budgets нь таны зардал эсвэл хэрэглээ төсөвлөсөн хэмжээнээс хэтэрсэн тохиолдолд танд анхааруулах захиалгат төсөв тохируулах боломжийг танд олгоно.
  • AWS Cost & Usage Report
    Cost & Usage Report нь таны AWS-ийн зардал болон хэрэглээний талаарх дэлгэрэнгүй мэдээлэлд нэгэн зэрэг хандах газар юм.

Simple AWS Architecture

Дээрх үйлчилгээнүүдийг ашигласан энгийн AWS Architecture жишээ гарган тайлбар хийе. 3 tier бүтэц нь ихэвчлэн хэрэглэгчийн хандах хэсэг (Presentation tier), бичил үйлчилгээ (Logic tier), өгөгдөл хадгалах хэсэг (Data tier) дээр бүрддэг.

Жишээ болгон доорх хоёр бүтэц дээр тайлбар оруулъя.

Amazon S3 дээр хэрэглэгчийн хандах хэсгийг Reactjs гэх мэт дээр хөгжүүлэн байршуулан CloudFront ашиглан дэлхийн хаанаас ч хандах хандалтыг хурдан болгодог.

Энгийн сервер ашигласан бүтэц

Хэрэглэгчээс үйлдлийн хүсэлт явуулах үед сервертэй үед ELB-ээр дамжуулан EC2 дээр PHP гэх мэт framework дээр хөгжүүлсэн API-ийн тооцоолон бодох үйлдэл хийх бөгөөд өгөгдлөө RDS дээр хадгалан, шуурхай хайлт хийхэд Amazon ElastiCache ашиглах нь элбэг байдаг.

Энгийн сервергүй бүтэцийн жишээ

Тэгвэл сервергүй үед API Gateway-аар дамжуулан Lambda дээр Nodejs гэх мэт serverless framework дээр хөгжүүлсэн API-ийн тооцоолон бодох үйлдэл хийх бөгөөд өгөгдлөө DynamoDB дээр хадгалах үйлдэл хийж байна.

Энэ удаад AWS дээрх сервис дээр алдаа гарсан үед хэрхэн Slack гэх мэт communication tool рүү мессеж явуулах жишээ тайлбарлая.

EC2 дээр ажиллаж байгаа програм нь log-оо CloudWatch руу дамжуулна. CloudWatch дээр тавьсан alarm (жишээ нь CPU ашиглагаа хэт өндөр болох) гарах үед SNS рүү мэдээлэл явуулна. SNS нь Lambda ажилуулан Parameter Store дээрээс Slack-ийн Webhook URL-аа аван Slack-ийн API-аар дамжуулан хөгжүүлэгчид мэдээлэл явуулж байна.

--

--