AWS Praksa: Od Globalne Arhitekture do Serverless Aplikacija, Sveobuhvatno Unaprijedite Svoje Vještine u Oblaku

2/19/2026
7 min read

AWS Praksa: Od Globalne Arhitekture do Serverless Aplikacija, Sveobuhvatno Unaprijedite Svoje Vještine u Oblaku

AWS (Amazon Web Services) je postao lider u oblasti računarstva u oblaku, i velike kompanije i startupi koriste različite AWS usluge za izgradnju i implementaciju aplikacija. Iz diskusija na X/Twitteru, možemo vidjeti da su AWS područja veoma široka, uključujući infrastrukturu, sigurnost, AI/ML, DevOps i Serverless aplikacije. Ovaj članak će kombinovati ove diskusije kako bi vam pružio sveobuhvatniji AWS praktični vodič koji će vam pomoći da poboljšate svoje vještine u oblaku i bolje iskoristite AWS platformu.

1. Razumijevanje AWS Globalne Infrastrukture: Ključ Visoke Dostupnosti i Otpornosti na Greške

Ovladavanje AWS globalnom infrastrukturom je osnova za izgradnju aplikacija visoke dostupnosti i otpornosti na greške. AWS globalna infrastruktura se sastoji od sljedećih ključnih komponenti:

  • Region (Regija): Nezavisna geografska područja, svaka regija sadrži više Availability Zone. Prilikom odabira regije potrebno je uzeti u obzir latenciju, zahtjeve usklađenosti i troškove.
  • Availability Zone (Zona Dostupnosti): Izolirana lokacija unutar regije, svaka zona dostupnosti se sastoji od jednog ili više data centara. Implementacijom aplikacija u različitim zonama dostupnosti, može se poboljšati otpornost na greške.
  • Edge Location (Rubna Lokacija): Keš serveri distribuirani širom svijeta, koji se koriste za ubrzavanje isporuke sadržaja. AWS CloudFront koristi rubne lokacije za keširanje statičkog i dinamičkog sadržaja, poboljšavajući korisničko iskustvo.

Praktični savjeti:

  • Implementacija u više zona dostupnosti: Implementacija kopija aplikacije u različitim zonama dostupnosti može spriječiti nedostupnost aplikacije uzrokovanu kvarom jedne zone dostupnosti.
  • Odaberite odgovarajuću regiju: Odaberite odgovarajuću regiju na osnovu lokacije korisnika i zahtjeva usklađenosti.
  • Koristite CloudFront za ubrzavanje isporuke sadržaja: Koristite CloudFront za keširanje statičkog i dinamičkog sadržaja, poboljšavajući korisničko iskustvo.

2. IAM Najbolje Prakse: Princip Minimalnih Privilegija

Identity and Access Management (IAM) je srž AWS sigurnosti. IAM vam omogućava da kontrolišete ko može pristupiti vašim AWS resursima i koje radnje mogu izvršiti. Osnovni koncepti IAM-a uključuju:

  • Users (Korisnici): Predstavljaju pojedince ili aplikacije, koji se koriste za pristup AWS resursima.
  • Roles (Uloge): Mogu se dodijeliti AWS uslugama ili EC2 instancama, omogućavajući im pristup drugim AWS resursima.
  • Groups (Grupe): Koriste se za organizovanje korisnika, radi lakšeg upravljanja dozvolama.
  • Policies (Politike): Definišu dozvole korisnika, uloga ili grupa.

Najbolje prakse:

  • Princip minimalnih privilegija (Least Privilege): Dodijelite korisniku ili ulozi samo minimalne potrebne dozvole. Izbjegavajte korištenje AdministratorAccess politike, već kreirajte prilagođene politike na osnovu stvarnih potreba.
  • Koristite Uloge umjesto IAM korisnika: Pokušajte koristiti Uloge za dodjelu dozvola EC2 instancama ili Lambda funkcijama za pristup drugim AWS resursima, izbjegavajući pohranjivanje Access Key ID-a i Secret Access Key-a u kodu.
  • Omogućite MFA (Multi-Factor Authentication): Omogućite MFA za sve IAM korisnike, poboljšavajući sigurnost računa.
  • Redovno revidirajte IAM dozvole: Redovno revidirajte IAM dozvole kako biste osigurali da nema prekomjernih ovlaštenja.

Primjer politike:

Sljedeća politika omogućava korisniku da izvrši GetObject i PutObject operacije u S3 bucketu my-bucket u regiji us-east-1.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": "arn:aws:s3:::my-bucket/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": "us-east-1"
        }
      }
    }
  ]
}

3. DevOps automatizacija: Korištenje Bash skripti i GitHub Actions

Diskusije na X/Twitteru su spomenule DevOps Bash skriptne repozitorije i GitHub Actions, koji su važni alati za implementaciju DevOps automatizacije.

  • Bash skripte: Možete koristiti Bash skripte za automatizaciju različitih DevOps zadataka, kao što su implementacija aplikacija, konfiguracija servera, nadzor sistema itd.
  • GitHub Actions: GitHub Actions je CI/CD alat koji može automatski graditi, testirati i implementirati aplikacije.

Praktični savjeti:

  • Iskoristite Bash skripte za automatizaciju uobičajenih zadataka: Na primjer, možete koristiti Bash skriptu za automatsku implementaciju Lambda funkcije ili EC2 instance.
  • Koristite GitHub Actions za izgradnju CI/CD cjevovoda: Možete koristiti GitHub Actions za automatsko građenje, testiranje i implementaciju aplikacija.
  • Kontrola verzija: Pohranite Bash skripte i GitHub Actions konfiguracije u sistem za kontrolu verzija, kao što je Git.

Primjer GitHub Actions workflowa:

Sljedeći GitHub Actions workflow će automatski graditi, testirati i implementirati Lambda funkciju svaki put kada se kod pošalje na main branch.

name: Deploy Lambda Function

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 16
      - run: npm install
      - run: npm run build
      - uses: actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws-region: us-east-1
      - run: aws lambda update-function-code --function-name my-lambda-function --zip-file fileb://dist/lambda.zip

4. Serverless aplikacije: AWS Lambda + S3 + DynamoDBDiskusija na X/Twitteru spominje primjer izgradnje Serverless X (Twitter) Quote Bota koristeći AWS Lambda, S3 i DynamoDB. Ovo demonstrira snagu Serverless arhitekture.

  • AWS Lambda: Serverless servis za računarstvo koji omogućava pokretanje koda bez upravljanja serverima.
  • Amazon S3: Servis za pohranu objekata, koji se koristi za pohranu različitih tipova podataka.
  • Amazon DynamoDB: NoSQL servis za baze podataka, koji se koristi za pohranu strukturiranih i polustrukturiranih podataka.

Koraci za izgradnju Serverless aplikacije:

  1. Odabir odgovarajućeg okidača (triggera): Odaberite događaj koji pokreće Lambda funkciju, kao što su HTTP zahtjevi, upload S3 objekata, ažuriranja DynamoDB podataka, itd.
  2. Pisanje koda Lambda funkcije: Napišite kod Lambda funkcije za obradu događaja okidača i izvršavanje odgovarajućih operacija.
  3. Konfiguriranje IAM uloge: Konfigurirajte IAM ulogu, dodjeljujući Lambda funkciji dozvole za pristup drugim AWS resursima, kao što su S3 i DynamoDB.
  4. Implementacija (deployment) Lambda funkcije: Implementirajte Lambda funkciju na AWS.
  5. Testiranje Lambda funkcije: Testirajte Lambda funkciju kako biste osigurali da radi ispravno.

Prednosti Serverless aplikacija:

  • Nema potrebe za upravljanjem serverima: Nema potrebe za upravljanjem serverima, što smanjuje operativni teret.
  • Automatsko skaliranje: Automatski se skalira prema količini zahtjeva, bez ručne konfiguracije.
  • Plaćanje po potrebi: Plaćate samo za resurse računarstva koji se stvarno koriste, što smanjuje troškove.

5. AI/ML aplikacije: Bedrock i LLM praksa

Diskusija na X/Twitteru također spominje AWS AI Lab LLM (Large Language Model) istraživačku praksu i primjenu Bedrocka. AWS nudi bogat izbor AI/ML servisa koji vam mogu pomoći u izgradnji različitih AI/ML aplikacija.

  • Amazon Bedrock: Servis koji nudi niz visoko učinkovitih temeljnih modela od vodećih AI kompanija.
  • AWS AI Lab: Fokusiran na AI/ML istraživanje i nudi prakse za studente.

Smjerovi prakse:

  • Korištenje Bedrocka za izgradnju AI aplikacija: Možete koristiti temeljne modele koje nudi Bedrock za izgradnju različitih AI aplikacija, kao što su generiranje teksta, prepoznavanje slika, prepoznavanje govora, itd.
  • Praćenje LLM memorije i kontinuiranog učenja: Praćenje najnovijih istraživanja LLM-a, kao što su LLM memorija i kontinuirano učenje, može vam pomoći u izgradnji inteligentnijih AI aplikacija.

6. Sigurnost i usklađenost: Praćenje prekida AWS servisa

Diskusija na X/Twitteru spominje događaje prekida AWS servisa, što nas podsjeća da obratimo pažnju na sigurnost i usklađenost AWS-a.

  • Implementacija u više regija: Implementacija aplikacija u različitim AWS regijama može izbjeći nedostupnost aplikacije uzrokovanu kvarom jedne regije.
  • Praćenje i upozorenja: Postavljanje praćenja i upozorenja za pravovremeno otkrivanje problema i poduzimanje mjera.
  • Sigurnosna kopija i oporavak: Redovito pravite sigurnosne kopije podataka i testirajte proces oporavka.
  • Usklađenost: Razumjeti i pridržavati se relevantnih zahtjeva usklađenosti, kao što su GDPR, HIPAA, itd.

ZaključakAWS pruža moćnu platformu koja se može koristiti za izgradnju različitih aplikacija. Razumijevanjem AWS-ove globalne infrastrukture, najboljih praksi IAM-a, DevOps automatizacije, Serverless aplikacija i AI/ML aplikacija, možete bolje iskoristiti AWS platformu i poboljšati svoje vještine u oblaku. Istovremeno, obratite pažnju na sigurnost i usklađenost AWS-a kako biste osigurali da su vaše aplikacije sigurne i pouzdane. Nadam se da će vam ovaj članak pomoći da bolje razumijete i prakticirate AWS.

Published in Technology

You Might Also Like