Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

6. DISZ - Webalkalmazások skálázhatósága a Google Cloud Platformon

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 44 Anzeige

6. DISZ - Webalkalmazások skálázhatósága a Google Cloud Platformon

Herunterladen, um offline zu lesen

Az előadás témája hogyan építhető fel egy rugalmas, jól skálázható szolgáltatás a felhőszolgáltatók platformjain. Hogyan lehet megoldani, hogy a szolgáltatás, amelynek induláskor legfeljebb néhány tíz vagy száz felhasználót kell kiszolgálnia, akár több ezer vagy nagyságrendekkel több felhasználót is képes legyen kiszolgálni rugalmasan? Hátradőlni és csodálni az autoscaling funkciót a Black Friday napján. Beszélni fogunk virtualizációról, platformszintű virtualizációről, szuperkönnyű alkalmazáskonténerekről, a munkaterhek közel valósidejű “pakolgatásával”. Bemutatásra kerül a Google Cloud Platform számos komponense. Bankok, biztosítók, webshopok és így tovább mind a cloudban látják a kitörési pontot.

Az előadás témája hogyan építhető fel egy rugalmas, jól skálázható szolgáltatás a felhőszolgáltatók platformjain. Hogyan lehet megoldani, hogy a szolgáltatás, amelynek induláskor legfeljebb néhány tíz vagy száz felhasználót kell kiszolgálnia, akár több ezer vagy nagyságrendekkel több felhasználót is képes legyen kiszolgálni rugalmasan? Hátradőlni és csodálni az autoscaling funkciót a Black Friday napján. Beszélni fogunk virtualizációról, platformszintű virtualizációről, szuperkönnyű alkalmazáskonténerekről, a munkaterhek közel valósidejű “pakolgatásával”. Bemutatásra kerül a Google Cloud Platform számos komponense. Bankok, biztosítók, webshopok és így tovább mind a cloudban látják a kitörési pontot.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie 6. DISZ - Webalkalmazások skálázhatósága a Google Cloud Platformon (20)

Anzeige

Weitere von Márton Kodok (20)

Aktuellste (20)

Anzeige

6. DISZ - Webalkalmazások skálázhatósága a Google Cloud Platformon

  1. 1. Webalkalmazások skálázhatósága a Google Cloud Platformon Kodok Márton @martonkodok Google Developer Expert REEA.net Marosvásárhely
  2. 2. ● angolul „cloud computing” ● a szolgáltató eszközein (Google GCP, Amazon AWS, Microsoft Azure) ● a szolgáltatás üzemeltetési részleteit a felhasználótól elrejtve ● adatközpontok - data center - távoli hozzáféréssel irányítható ● nincs szükség dedikált hardver vásárlására ● Idényjellegű is lehet (“per second billing”, “black friday”) ● gyorsan változtatható az allokált erőforrások mérete is ● Helyfüggetlen - Méretezhető - Nagy rendelkezésre állás - Költségkímélő ● Rendszeres biztonsági frissítések Felhőalapú számítástechnika A felhőalapú architektúrák és szolgáltatások @martonkodok
  3. 3. REEA.net uses GCP Build on the same infrastructure that powers Google
  4. 4. Google Cloud Platform (GCP) Compute Big Data BigQuery Cloud Dataflow Cloud Dataproc Cloud Datalab Cloud Pub/Sub Genomics Storage & Databases Cloud Storage Cloud Bigtable Cloud Datastore Cloud SQL Cloud Spanner Persistent Disk Machine Learning Cloud Machine Learning Cloud Vision API Cloud Speech API Cloud Natural Language API Cloud Translation API Cloud Jobs API Data Studio Cloud Dataprep Cloud Video Intelligence API Advanced Solutions Lab Compute Engine App Engine Kubernetes Engine GPU Cloud Functions Container- Optimized OS Identity & Security Cloud IAM Cloud Resource Manager Cloud Security Scanner Key Management Service BeyondCorp Data Loss Prevention API Identity-Aware Proxy Security Key Enforcement Internet of Things Cloud IoT Core Transfer Appliance
  5. 5. 1. Virtual Machines 2. Instance Templates 3. Instance Groups 4. Health check 5. Load Balancer 6. Backend health check 7. Autoscaling - Design for resiliency, scalability, and disaster recovery 8. Demo 9. Practical use cases Agenda @martonkodok
  6. 6. GCP: Compute Engine @martonkodok iOS Android Web Backend Services Compute Engine Flexibility for Every Workload ● High-Performance, Scalable VMs ● Custom Machine Types ● CentOS, Ubuntu, Windows ● Persistent Disks or SSD (local or network based) ● Per-second billing ● Networking ● Firewall ● Load balancing ● Compliance & Security
  7. 7. @martonkodok Creating a VM instance steps
  8. 8. Virtual Machine @martonkodok Compute Engine VM Cloud Firewall Rules Ephemeral IP Labels/Tags: “http-server” Allow port 80 for: “http-server” VM details
  9. 9. Instance Group - Autoscaling - Health Check @martonkodok Template VM Startup script Instance tag Instance Group Region + Zone(s) Autoscaling Health check Instance Group Backend Compute Engine Multiple Instances Region 2 - EU eu-west 1-b eu-west 1-a Instance Group Backend Compute Engine Multiple Instances Region 1 - US us-east 1-b us-west 1-a Instance Group Backend Compute Engine Multiple Instances Cloud Load Balancing Cloud Firewall Rules Health Check Allow port 80 for: “http-server” Static IP Failover
  10. 10. @martonkodok Live DEMO on GCP
  11. 11. Creating a VM instance @martonkodok
  12. 12. Creating a VM instance - Choosing Region, Instance type @martonkodok
  13. 13. Creating a VM instance - OS, boot disk, Network @martonkodok
  14. 14. VM instances @martonkodok
  15. 15. Virtual Private Network - Firewall rules @martonkodok
  16. 16. @martonkodok Autoscaling with Instance Groups
  17. 17. Creating an Instance Group @martonkodok
  18. 18. Setting Autoscaling settings @martonkodok
  19. 19. Downscale on no load after 10 minute @martonkodok
  20. 20. @martonkodok Example Architecture for Autoscaling
  21. 21. CMS with Autoscaling @martonkodok ZONE B Content Server Compute Engine Autoscaling ZONE A Content Server Compute Engine Autoscaling Static Content Cloud Storage Dynamic Content Cloud SQL Publisher Cloud Load Balancing Cloud DNS
  22. 22. DB multiple zones and Master/Slave topology @martonkodok Zone 1 us-central 1-a Instance Group Compute Engine Web Applications Master Cloud SQL Zone 2 us-central 1-f Instance Group Compute Engine Web Applications Read Replica Cloud SQL ReplicationCloud Load Balancing
  23. 23. @martonkodok Data layer design
  24. 24. Database Mapping @martonkodok
  25. 25. @martonkodok Serverless
  26. 26. Meet Serverless @martonkodok
  27. 27. Meet Serverless serverless data center depicted @martonkodok
  28. 28. Serverless is about maximizing elasticity, cost savings, and agility of cloud computing. @martonkodok @martonkodok
  29. 29. Serverless types @martonkodok Platforms Triggered Code
  30. 30. App Engine - Websites > API Hosting @martonkodok API Compute Engine Virtual Machines API App Engine Cloud Endpoints API Container Engine Kubernetes Services Multiple Clients API Requests Cloud Load Balancing ● Fully managed serverless application platform ● Scale your applications seamlessly from zero to planet scale ● Automatically scales depending on your application traffic ● Traffic Splitting (app versions, A/B tests, incremental rollouts) ● Standard vs Flexible environments Python, Java, Node.js, Go, Ruby, PHP, .NET
  31. 31. App Engine Languages @martonkodok
  32. 32. App Engine @martonkodok Instance startup time Minutes Seconds Maximum request timeout 60 minutes 60 seconds Background threads Yes Yes, with restrictions SSH debugging Yes No Writing to local disk Yes, ephemeral (disk initialized on VM startup) No Modifying the runtime Yes (through Dockerfile) No Supports installing third-party binaries Yes No Pricing Based on usage of vCPU, memory, and persistent disks Based on instance hours Flexible Standard
  33. 33. @martonkodok Cloud Functions
  34. 34. Cloud Functions @martonkodok ● Simplest way to run your code in the cloud - just deploy ● Automatically scales, highly available and fault tolerant ● No servers to provision, manage, patch or update ● Pay only while your code runs ● Connects and extends cloud services Languages: Node.JS and Go, Python coming later.
  35. 35. Cloud Functions On-Premises Servers ApplicationEvent Sourcing Frontend Platform Services Metrics / Logs/ Streaming Event Triggered Cloud Functions Triggered Code @martonkodok Result
  36. 36. Email Delivery + Webhook response @martonkodok
  37. 37. @martonkodok Message Queue systems: Task Queue Cloud Pub/Sub
  38. 38. Task Queue - Message Queue systems @martonkodok Static Content Cloud Storage Dynamic Content Cloud SQL Dynamic Content Cloud Datastore Front End App App Engine Autoscaling Task Queues Memcache Batch App App Engine Autoscaling Cloud Load Balancing Cloud DNS Workers Compute Engine Autoscaling
  39. 39. Task Queues @martonkodok Slides: https://www.slideshare.net/martonkodok Title: Architectural Patterns - Message Queues Push queues ● Put with delays Pull queues ● Ability to “tag” ● Lease multiple eg: gameboard updated, game id as tag.
  40. 40. ● No servers to provision or manage ● Abstract away the complexity ● Scales with usage (ready every time for viral spikes or #BlackFriday) ● Availability and fault tolerance built in ● No orchestration in code ● Never pay for idle ● Cost savings (ps: we don’t have the same budget for security like GCP or AWS) ● Decoupled: APIs as contracts ● Monitored: Metrics and logging are a universal right ● Think concurrent, stateless, queue, stream based. Serverlessmeans @martonkodok
  41. 41. “ Data needs to be processed in multiple services. How can we pipe to multiple places? @martonkodok
  42. 42. Architecting for The Cloud On-Premises Servers Event Sourcing Frontend Platform Services Analyze Metrics / Logs/ Streaming Cloud Storage @martonkodok Cloud Dataflow Process BigQuery Cloud SQL Stream Batch Data Studio Third-Party Tools
  43. 43. Thank you. Slides available on: slideshare.net/martonkodok Reea.net - Integrated web solutions driven by creativity to deliver projects.

×