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.
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
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. 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. 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
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
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. 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
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
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.
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. “ Data needs to be processed in
multiple services.
How can we pipe to multiple places?
@martonkodok
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.
44. Thank you.
Slides available on: slideshare.net/martonkodok
Reea.net - Integrated web solutions driven by creativity to deliver
projects.