SlideShare a Scribd company logo
1 of 54
What makes AWS
invincible?
Haruka Iwao, 2014/03/15
Before talking about AWS
About myself
Haruka Iwao (@Yuryu)
DevOps Engineer
at FreakOut, Inc.
Lived in
Osaka, Tsukuba, Yokohama.
Now in Tokyo.
Playing FFXIV ARR
Me
Final Fantasy XIV ARR Status:
Cleared the Coil Turn 5.
Got my Allagan Weapon.
Kindle Publishing
Publishing Kindle books
about the Linux Kernel
Search “Yuryu Linux”
About FreakOut, Inc.
Not about freaking out :p
Advertisement company
Established in 2010
“Real-time Bidding”
Real-time bidding
SSP
Supply-side
Platform
DSP
Demand-side
Platform
DSP
Demand-side
Platform
DSP
Demand-side
PlatformRequest a page
Read an ad tag
Call for bids
DSP decides the best ad for the user and page
Real-time bidding (2)
SSP
Supply-side
Platform
DSP
Demand-side
Platform
DSP
Demand-side
Platform
DSP
Demand-side
Platform
Bid
Auction
Return the winning ad
Real-time bidding (3)
http://londoncreative.com/real-time-bidding-spending-to-significantly-increase/
Our motto
50ms or die.
Return a response within
50ms or lose an auction
automatically.
Latency matters. Literally.
How we use AWS
Our system at a glance
http://aws.amazon.com/jp/solutions/case-studies/freakout/
Mix of on-premise and AWS
On-premise in Japan
AWS in North America
Starting small
Scaling well
No need to visit a DC
Latency matters
Latency matters
Latency is important for our
service
1ms = 1/50 of processing
time
Latency between servers
Freedom to build an
arbitrary network
... Gives you an arbitrary
latency
Longer latency in AWS
 On-premise
time=0.063 ms
time=0.083 ms
time=0.077 ms
time=0.070 ms
time=0.092 ms
time=0.069 ms
time=0.077 ms
 AWS, extreme case
time=1.88 ms
time=1.96 ms
time=2.60 ms
time=3.72 ms
time=2.46 ms
time=1.05 ms
time=2.37 ms
Longer latency in AWS (2)
Hard to see?
Let’s make a graph...
Longer latency, illustrated
0
0.5
1
1.5
2
2.5
On-premise AWS
RTT(ms)
RTT(ms)
Longer latency in AWS (3)
This is not always true
Just an extreme case
This applies to intra-AZ
“Option” to group servers in
near racks would be great
Placement groups
Placement groups are not
enough
Only available to cluster
compute instances
Guarantees bandwidth, not
latency
Possible workarounds
Assume the latency
Design your app accordingly
Use persistent connections
Put hot data on local
Still, lower latency gives
“extra” room
Infrastructure as Code
The “Awesome” Console
... So awesome to make
mistakes easily...
AWS is Programmable.
Thou hast SDK.
Python
Thou hast CLI.
CLI
Thou hast
CloudFormation.
AWS CloudFormation
SDK + CLI + CloudFormation
You can “code” your
infrastructure
Infrastructure becomes
“reproducible” and
“reusable”
Always use CLI
Always use CLI to make
changes
“Review” the commands
Less chance of “oops”
But...
CLI is hard to understand!
VS
aws ec2 run-instances --image-id ami-xxxxxxxx --
count 1 --instance-type t1.micro --key-name
MyKeyPair --security-group-ids sg-xxxxxxxx --subnet-id
subnet-xxxxxxxx
Easy enough?
No way...
Record & Play
“Record” instructions on the
Web Console
“Playback” them using CLI
In other words...
Converted to
aws ec2 run-instances --image-id ami-xxxxxxxx --
count 1 --instance-type t1.micro --key-name
MyKeyPair --security-group-ids sg-xxxxxxxx --subnet-id
subnet-xxxxxxxx
With “playback”
You could review changes
beforehand
You could record changes
and reuse them
Easier than writing CLI
commands by hand
A very famous quote
about “code”
All your code are belong to test
Testing is Important
Every program has bugs
“Infrastructure as Code” is
no exception
How do you test?How do you test?
Bugs can be fatal
A bug can destroy your
whole system
What if you accidentally
Terminate an instance
Set a wrong route table
Delete RR from Route53
“Sandbox” for testing
VPC is (sometimes) not
enough
Test 100% bootstrap in a
safe environment
Register IAM accounts
Add Route53 zones
Set up S3 buckets, etc…
Framework for testing
Test-kitchen to test your
Chef cookbooks
Serverspec to test your
server setups
How do you verify your
changes to AWS?
Possible workarounds
Use a separate account
Maybe we need more
environments in the future?
Costs money
CloudFormer converts
environments to
configuration
Scenario #1
You add a new rule to your
security group
aws ec2 authorize-security-…
You want to make sure a
port is open or closed
between particular hosts
How?
Workaround #1
Create a new VPC
Apply the new rule
Launch two instances
Check connectivity
Scenario #2
You set up Route53 Health
Checks
Now you want to test if it
actually fails-over
How?
Workaround #2
Set up two ELBs / instances
Stop instances registered to
one ELB
Query to R53 until it fails-
over
Need a solution!
A “common language” to
verify AWS configuration
Want to run tests
cheaper, quicker and safer
Even the requirements are
not yet clear…
In the end of the
presentation…
What makes AWS invincible?
Lower latency
Giving options or hints to EC2
“Playback” feature
Generate CLI commands
using simple UI
Testing methodology
Thank you!

More Related Content

What's hot

Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Yasuhito Takamiya
 
Running a Lean Startup with AWS - Spreaker Case Study
Running a Lean Startup with AWS - Spreaker Case StudyRunning a Lean Startup with AWS - Spreaker Case Study
Running a Lean Startup with AWS - Spreaker Case Study
Marco Pracucci
 
Web Server Clustering - OSSCAMP
Web Server Clustering - OSSCAMPWeb Server Clustering - OSSCAMP
Web Server Clustering - OSSCAMP
Abhishek Singh
 

What's hot (20)

Optimizing kubernetes networking
Optimizing kubernetes networkingOptimizing kubernetes networking
Optimizing kubernetes networking
 
Highly Available Docker Networking With BGP
Highly Available Docker Networking With BGPHighly Available Docker Networking With BGP
Highly Available Docker Networking With BGP
 
Seastar @ SF/BA C++UG
Seastar @ SF/BA C++UGSeastar @ SF/BA C++UG
Seastar @ SF/BA C++UG
 
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
Bare Metal Cloud: 実マシンを提供するクラウドサービス (SWoPP 2010)
 
Discovering OpenBSD on AWS
Discovering OpenBSD on AWSDiscovering OpenBSD on AWS
Discovering OpenBSD on AWS
 
Setup 3 Node Kafka Cluster on AWS - Hands On
Setup 3 Node Kafka Cluster on AWS - Hands OnSetup 3 Node Kafka Cluster on AWS - Hands On
Setup 3 Node Kafka Cluster on AWS - Hands On
 
Kube-AWS
Kube-AWSKube-AWS
Kube-AWS
 
Glauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platformGlauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platform
 
What's new in Ansible 2.0
What's new in Ansible 2.0What's new in Ansible 2.0
What's new in Ansible 2.0
 
Continuous Deployment at Spreaker
Continuous Deployment at SpreakerContinuous Deployment at Spreaker
Continuous Deployment at Spreaker
 
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
 
Enable IPv6 on Route53 AWS ELB, docker and node App
Enable IPv6 on Route53 AWS ELB, docker and  node AppEnable IPv6 on Route53 AWS ELB, docker and  node App
Enable IPv6 on Route53 AWS ELB, docker and node App
 
CoreOS in a Nutshell
CoreOS in a NutshellCoreOS in a Nutshell
CoreOS in a Nutshell
 
Couch to OpenStack: Cinder - August 6, 2013
Couch to OpenStack: Cinder - August 6, 2013Couch to OpenStack: Cinder - August 6, 2013
Couch to OpenStack: Cinder - August 6, 2013
 
Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)Build Your Own CaaS (Container as a Service)
Build Your Own CaaS (Container as a Service)
 
[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting[오픈소스컨설팅] Linux Network Troubleshooting
[오픈소스컨설팅] Linux Network Troubleshooting
 
An Introduction to Priam
An Introduction to PriamAn Introduction to Priam
An Introduction to Priam
 
Running a Lean Startup with AWS - Spreaker Case Study
Running a Lean Startup with AWS - Spreaker Case StudyRunning a Lean Startup with AWS - Spreaker Case Study
Running a Lean Startup with AWS - Spreaker Case Study
 
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
(PFC306) Performance Tuning Amazon EC2 Instances | AWS re:Invent 2014
 
Web Server Clustering - OSSCAMP
Web Server Clustering - OSSCAMPWeb Server Clustering - OSSCAMP
Web Server Clustering - OSSCAMP
 

Similar to What makes AWS invincible? from JAWS Days 2014

AWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWSAWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWS
Amazon Web Services
 
支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒
Toki Kanno
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
Amazon Web Services
 

Similar to What makes AWS invincible? from JAWS Days 2014 (20)

Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completion
 
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Java Hurdling: Obstacles and Techniques in Java Client Penetration-TestingJava Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
Java Hurdling: Obstacles and Techniques in Java Client Penetration-Testing
 
ITB2019 Real World Scenarios for Modern CFML - Nolan Erck
ITB2019 Real World Scenarios for Modern CFML - Nolan ErckITB2019 Real World Scenarios for Modern CFML - Nolan Erck
ITB2019 Real World Scenarios for Modern CFML - Nolan Erck
 
A Taste of Clojure
A Taste of ClojureA Taste of Clojure
A Taste of Clojure
 
Android RenderScript on LLVM
Android RenderScript on LLVMAndroid RenderScript on LLVM
Android RenderScript on LLVM
 
Writing Rust Command Line Applications
Writing Rust Command Line ApplicationsWriting Rust Command Line Applications
Writing Rust Command Line Applications
 
AWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWSAWS Summit Nordics - Media and Gaming Application on AWS
AWS Summit Nordics - Media and Gaming Application on AWS
 
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022The Hacking Games - Operation System Vulnerabilities Meetup 29112022
The Hacking Games - Operation System Vulnerabilities Meetup 29112022
 
Building your own personal cloud with Eucalyptus
Building your own personal cloud with EucalyptusBuilding your own personal cloud with Eucalyptus
Building your own personal cloud with Eucalyptus
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
Evoloution of Ideas
Evoloution of IdeasEvoloution of Ideas
Evoloution of Ideas
 
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmxMoved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
Moved to https://slidr.io/azzazzel/web-application-performance-tuning-beyond-xmx
 
Build Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVMBuild Programming Language Runtime with LLVM
Build Programming Language Runtime with LLVM
 
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
10 Lessons Learned from using Kafka in 1000 microservices - ScalaUA
 
Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)
 
Beware the potholes
Beware the potholesBeware the potholes
Beware the potholes
 
Clearly, I Have Made Some Bad Decisions
Clearly, I Have Made Some Bad DecisionsClearly, I Have Made Some Bad Decisions
Clearly, I Have Made Some Bad Decisions
 
支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒支撐英雄聯盟戰績網的那條巨蟒
支撐英雄聯盟戰績網的那條巨蟒
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
 

More from Emma Haruka Iwao

More from Emma Haruka Iwao (20)

Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020
 
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
Woman Tech Terrace 2020 Keynote - 夢を持ち続けるWoman Tech Terrace 2020 Keynote - 夢を持ち続ける
Woman Tech Terrace 2020 Keynote - 夢を持ち続ける
 
Google Cloud 一般公開データセット
Google Cloud 一般公開データセットGoogle Cloud 一般公開データセット
Google Cloud 一般公開データセット
 
Favorite English YouTube Channels
Favorite English YouTube ChannelsFavorite English YouTube Channels
Favorite English YouTube Channels
 
Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月Docker事始めと最新動向 2015年6月
Docker事始めと最新動向 2015年6月
 
CephとGluster次期バージョンでの新機能
CephとGluster次期バージョンでの新機能CephとGluster次期バージョンでの新機能
CephとGluster次期バージョンでの新機能
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
 
Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3Docker, Kubernetes and OpenShift v3
Docker, Kubernetes and OpenShift v3
 
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックDockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
 
Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015Storage by Red Hat #rhcpday 2015
Storage by Red Hat #rhcpday 2015
 
Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01Docker向けOSとか[LT] @ #techgirl 2015/01
Docker向けOSとか[LT] @ #techgirl 2015/01
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
RHEL, CentOS 7 に移行しよう! LT
RHEL, CentOS 7 に移行しよう! LTRHEL, CentOS 7 に移行しよう! LT
RHEL, CentOS 7 に移行しよう! LT
 
分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報分散ストレージ技術Cephの最新情報
分散ストレージ技術Cephの最新情報
 
DockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのかDockerをRed Hatはどのように見ているのか
DockerをRed Hatはどのように見ているのか
 
初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ初心者が Python で戸惑ったところ
初心者が Python で戸惑ったところ
 
Ceph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowCeph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and How
 
Rails Girls: Not Only for Girls - RubyKaigi 2014
Rails Girls: Not Only for Girls - RubyKaigi 2014Rails Girls: Not Only for Girls - RubyKaigi 2014
Rails Girls: Not Only for Girls - RubyKaigi 2014
 
AWS VM import / export ハンズオン
AWS VM import / export ハンズオンAWS VM import / export ハンズオン
AWS VM import / export ハンズオン
 
Hello, systemd
Hello, systemdHello, systemd
Hello, systemd
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

What makes AWS invincible? from JAWS Days 2014