SlideShare uma empresa Scribd logo
1 de 38
SUMMIT
SINGAPORE 2019
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Delivering a million stories
across Asia
Dwi Sasongko Supriyadi
VP Engineering
HOOQ
SessionID
Hello.
We are a million stories
for a billion people.
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Native
app
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PWA
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Smart TV
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
B2B
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Architecture Evolution
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Evolution
Stage 1: Getting Up & Running
Stage 2: Growing Pains
Stage 3: Platform Sanity
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Stage 1: Getting Up and Running
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Setup
Server
Node ES6 (Transpiled code in Production!)
Nginx
Postgres RDS & Redis Elasticache
EC2+AutoScale+ELB
Monitoring
NewRelic APM + Insights
NewRelic Alerts
ELK
CloudWatch
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Instrumentation from the beginning
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Custom Events
// recording playback API request
newrelic.recordCustomEvent('catalog-play-get', {
apiVersion: ctx.apiVersion,
device: ctx.device,
contentId: ctx.params.uuid,
geoCountry: ctx.geo ? ctx.geo.country : 'INVALID',
}, ctx.state.requestId);
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Custom Events Query
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Custom Events Timeseries
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Custom Events Most Popular Titles
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Events on Mobile
public static void recordPlaybackSuccess(String playbackType, String contentId, long startPreparingTimeMillis) {
long currentTime = System.currentTimeMillis();
double delay = (currentTime - startPreparingTimeMillis) / 1000.000;
double totalDelay = (currentTime - Config.playButtonTapTime) / 1000.000;
Map<String, Object> map = new HashMap<>();
map.put(ATTRIBUTE_KEY_EVENT_TYPE, playbackType);
map.put(ATTRIBUTE_KEY_CONTENT_ID, contentId);
map.put(ATTRIBUTE_KEY_DELAY, delay);
map.put(ATTRIBUTE_KEY_PLAYBACK_START_TIME, totalDelay);
map.put(ATTRIBUTE_KEY_SANCTUARY_DELAY, totalDelay - delay);
map.put(ATTRIBUTE_KEY_EVENT_STATUS, ATTRIBUTE_VALUE_EVENT_SUCCESS);
NewRelicReporting.addUserSkuAttributes(map);
NewRelic.recordEvent(ATTRIBUTE_VALUE_EVENT_TYPE_PLAYBACK, map);
Timber.d("NR playback success event: %s", map.toString());
}
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Dashboard
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Stage 2: Growing Pains
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Let’s build more service!
Discovery Service
Playback Service
User Service
Webview Service
Messaging Service
Unicorn Service
...
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
More Services ...
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Setup
Server
Node ES6/7, Go, Lua
Nginx
Postgres RDS & Redis Elasticache
EC2+AutoScale+ELB
Kong, API Gateway
Lambda
Monitoring
NewRelic APM + Insights
NewRelic Alerts
ELK
CloudWatch
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Going to a new market ...
It’s different level of complexity
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Distributed
Multi-Region Deployment
[next] Multi-CDN
New Approach
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Multi-Region Deployment
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Stage 3: Platform Sanity
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
It’s easy to get
messy
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Rethinking of Platform Sanity
● Single Responsibility Principle
● Communicate via negotiable interfaces
● Collaboration
● Standardized & predictable deployment model
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Convention
● Project Structure
● Development & Test Model
● Deployment Model
● Terraforming
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Build & Deployment
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lesson Learned
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
● Build your product iteratively
● Evolve the architecture as we grow
● Data-informed instead of data-driven
● Spend more on product development and architecture capability
The lesson
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Thank you!
SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Dwi Sasongko Supriyadi
dwi@hooq.tv

Mais conteúdo relacionado

Mais procurados

AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...Amazon Web Services
 
[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...
[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...
[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...Amazon Web Services
 
Build a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS SummitBuild a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS SummitAmazon Web Services
 
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...Amazon Web Services
 
Developing intelligent robots with AWS RoboMaker - SVC207 - New York AWS Summit
Developing intelligent robots with AWS RoboMaker - SVC207 - New York AWS SummitDeveloping intelligent robots with AWS RoboMaker - SVC207 - New York AWS Summit
Developing intelligent robots with AWS RoboMaker - SVC207 - New York AWS SummitAmazon Web Services
 
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...Amazon Web Services
 
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...Amazon Web Services
 
Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit
Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS SummitDo you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit
Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS SummitAmazon Web Services
 
Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...
Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...
Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...Amazon Web Services
 
AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...
AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...
AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...Amazon Web Services
 
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...Amazon Web Services
 
AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...
AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...
AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...Amazon Web Services
 
Digital Innovation to Modernize Citizen Services
Digital Innovation to Modernize Citizen ServicesDigital Innovation to Modernize Citizen Services
Digital Innovation to Modernize Citizen ServicesAmazon Web Services
 
How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...
How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...
How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...Amazon Web Services
 
Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.James Beswick
 
ADHA Use of AWS Services to Support the National Clinical Terminology Service
ADHA Use of AWS Services to Support the National Clinical Terminology ServiceADHA Use of AWS Services to Support the National Clinical Terminology Service
ADHA Use of AWS Services to Support the National Clinical Terminology ServiceAmazon Web Services
 
Build, Train and Deploy Machine Learning Models at Scale (April 2019)
Build, Train and Deploy Machine Learning Models at Scale (April 2019)Build, Train and Deploy Machine Learning Models at Scale (April 2019)
Build, Train and Deploy Machine Learning Models at Scale (April 2019)Julien SIMON
 

Mais procurados (20)

AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
AWS identity services: Enabling and securing your cloud journey - SEC203 - Ne...
 
[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...
[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...
[REPEAT] Get hands on with AWS DeepRacer & compete in the AWS DeepRacer Leagu...
 
Build a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS SummitBuild a VR experience in 60 minutes - SVC222 - New York AWS Summit
Build a VR experience in 60 minutes - SVC222 - New York AWS Summit
 
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
Build accurate training data sets with Amazon SageMaker Ground Truth - AIM302...
 
Developing intelligent robots with AWS RoboMaker - SVC207 - New York AWS Summit
Developing intelligent robots with AWS RoboMaker - SVC207 - New York AWS SummitDeveloping intelligent robots with AWS RoboMaker - SVC207 - New York AWS Summit
Developing intelligent robots with AWS RoboMaker - SVC207 - New York AWS Summit
 
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
 
B2B Software Global Trends
B2B Software Global TrendsB2B Software Global Trends
B2B Software Global Trends
 
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
Train once, deploy anywhere on the cloud and at the edge with Neo - AIM301 - ...
 
Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit
Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS SummitDo you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit
Do you need a ledger database or a blockchain? - SVC310 - Chicago AWS Summit
 
Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...
Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...
Create Modern Serverless Web Applications in Minutes Using the AWS Amplify Fr...
 
AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...
AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...
AWS Summit Singapore 2019 | Building Business Outcomes with Machine Learning ...
 
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
Developing intelligent robots with AWS RoboMaker - SVC207 - Santa Clara AWS S...
 
AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...
AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...
AWS Summit Singapore 2019 | Closing Keynote: Innovation at Hyper-scale: Outlo...
 
Owlting
OwltingOwlting
Owlting
 
Digital Innovation to Modernize Citizen Services
Digital Innovation to Modernize Citizen ServicesDigital Innovation to Modernize Citizen Services
Digital Innovation to Modernize Citizen Services
 
How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...
How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...
How WeatherBug Created a Mobile AR App with Amazon Sumerian (ARV352-R1) - AWS...
 
Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.Why serverless will revolutionize your software process.
Why serverless will revolutionize your software process.
 
ADHA Use of AWS Services to Support the National Clinical Terminology Service
ADHA Use of AWS Services to Support the National Clinical Terminology ServiceADHA Use of AWS Services to Support the National Clinical Terminology Service
ADHA Use of AWS Services to Support the National Clinical Terminology Service
 
Build, Train and Deploy Machine Learning Models at Scale (April 2019)
Build, Train and Deploy Machine Learning Models at Scale (April 2019)Build, Train and Deploy Machine Learning Models at Scale (April 2019)
Build, Train and Deploy Machine Learning Models at Scale (April 2019)
 
Introduction to Sagemaker
Introduction to SagemakerIntroduction to Sagemaker
Introduction to Sagemaker
 

Semelhante a Delivering Stories Across Asia with AWS

AWS Summit Singapore 2019 | Operating Microservices at Hyperscale
AWS Summit Singapore 2019 | Operating Microservices at HyperscaleAWS Summit Singapore 2019 | Operating Microservices at Hyperscale
AWS Summit Singapore 2019 | Operating Microservices at HyperscaleAWS Summits
 
Continuous Delivery on AWS with Zero Downtime
Continuous Delivery on AWS with Zero DowntimeContinuous Delivery on AWS with Zero Downtime
Continuous Delivery on AWS with Zero DowntimeCasey Lee
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinBoaz Ziniman
 
Making s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edgeMaking s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edgeYann Hamon
 
Introduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS SummitIntroduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS SummitAmazon Web Services
 
Tools for building your Startup on AWS
Tools for building your Startup on AWSTools for building your Startup on AWS
Tools for building your Startup on AWSRob De Feo
 
Desktop-as-a-Service: Flexible Application Delivery to Cloud-Native Desktops
Desktop-as-a-Service: Flexible Application Delivery to Cloud-Native DesktopsDesktop-as-a-Service: Flexible Application Delivery to Cloud-Native Desktops
Desktop-as-a-Service: Flexible Application Delivery to Cloud-Native DesktopsAmazon Web Services
 
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Amazon Web Services
 
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...Amazon Web Services
 
AWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAmazon Web Services LATAM
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayAmazon Web Services
 
AWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAmazon Web Services LATAM
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019AWS Summits
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Amazon Web Services
 
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS SummitManaging microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS SummitAmazon Web Services
 
AWS DevDay Berlin 2019 - Going Global With Serverless
AWS DevDay Berlin 2019 - Going Global With ServerlessAWS DevDay Berlin 2019 - Going Global With Serverless
AWS DevDay Berlin 2019 - Going Global With ServerlessDarko Mesaroš
 
Introducing AWS App Mesh - MAD303 - Santa Clara AWS Summit
Introducing AWS App Mesh - MAD303 - Santa Clara AWS SummitIntroducing AWS App Mesh - MAD303 - Santa Clara AWS Summit
Introducing AWS App Mesh - MAD303 - Santa Clara AWS SummitAmazon Web Services
 
AWS Summit Singapore 2019 | AWS Techfest Opening Keynote
AWS Summit Singapore 2019 | AWS Techfest Opening KeynoteAWS Summit Singapore 2019 | AWS Techfest Opening Keynote
AWS Summit Singapore 2019 | AWS Techfest Opening KeynoteAWS Summits
 
Getting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesGetting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesAmazon Web Services
 

Semelhante a Delivering Stories Across Asia with AWS (20)

AWS Summit Singapore 2019 | Operating Microservices at Hyperscale
AWS Summit Singapore 2019 | Operating Microservices at HyperscaleAWS Summit Singapore 2019 | Operating Microservices at Hyperscale
AWS Summit Singapore 2019 | Operating Microservices at Hyperscale
 
Continuous Delivery on AWS with Zero Downtime
Continuous Delivery on AWS with Zero DowntimeContinuous Delivery on AWS with Zero Downtime
Continuous Delivery on AWS with Zero Downtime
 
Websites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit BerlinWebsites go Serverless - AWS Summit Berlin
Websites go Serverless - AWS Summit Berlin
 
Making s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edgeMaking s3 more resilient using lambda@edge
Making s3 more resilient using lambda@edge
 
Introduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS SummitIntroduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
Introduction to AWS App Mesh - MAD301 - Anaheim AWS Summit
 
Tools for building your Startup on AWS
Tools for building your Startup on AWSTools for building your Startup on AWS
Tools for building your Startup on AWS
 
Desktop-as-a-Service: Flexible Application Delivery to Cloud-Native Desktops
Desktop-as-a-Service: Flexible Application Delivery to Cloud-Native DesktopsDesktop-as-a-Service: Flexible Application Delivery to Cloud-Native Desktops
Desktop-as-a-Service: Flexible Application Delivery to Cloud-Native Desktops
 
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
Migliora la disponibilità e le prestazioni delle tue applicazioni con Amazon ...
 
DevOps at Amazon
DevOps at AmazonDevOps at Amazon
DevOps at Amazon
 
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
AWS App Mesh: Manage services mesh discovery, recovery, and monitoring - MAD3...
 
AWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your StartupAWS Startup Day Santiago - Tools For Building Your Startup
AWS Startup Day Santiago - Tools For Building Your Startup
 
DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon Way
 
AWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your StartupAWS Startup Day Bogotá - Tools for Building Your Startup
AWS Startup Day Bogotá - Tools for Building Your Startup
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
 
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
Frontend and Mobile with AWS Amplify | AWS Summit Tel Aviv 2019
 
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS SummitManaging microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
Managing microservices using AWS App Mesh - MAD302 - Chicago AWS Summit
 
AWS DevDay Berlin 2019 - Going Global With Serverless
AWS DevDay Berlin 2019 - Going Global With ServerlessAWS DevDay Berlin 2019 - Going Global With Serverless
AWS DevDay Berlin 2019 - Going Global With Serverless
 
Introducing AWS App Mesh - MAD303 - Santa Clara AWS Summit
Introducing AWS App Mesh - MAD303 - Santa Clara AWS SummitIntroducing AWS App Mesh - MAD303 - Santa Clara AWS Summit
Introducing AWS App Mesh - MAD303 - Santa Clara AWS Summit
 
AWS Summit Singapore 2019 | AWS Techfest Opening Keynote
AWS Summit Singapore 2019 | AWS Techfest Opening KeynoteAWS Summit Singapore 2019 | AWS Techfest Opening Keynote
AWS Summit Singapore 2019 | AWS Techfest Opening Keynote
 
Getting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesGetting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless Architectures
 

Mais de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mais de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Delivering Stories Across Asia with AWS

  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Delivering a million stories across Asia Dwi Sasongko Supriyadi VP Engineering HOOQ SessionID
  • 3. Hello. We are a million stories for a billion people.
  • 4. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 5. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Native app
  • 6. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. PWA
  • 7. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Smart TV
  • 8. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. B2B
  • 9. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Architecture Evolution
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Evolution Stage 1: Getting Up & Running Stage 2: Growing Pains Stage 3: Platform Sanity
  • 11. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stage 1: Getting Up and Running
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Setup Server Node ES6 (Transpiled code in Production!) Nginx Postgres RDS & Redis Elasticache EC2+AutoScale+ELB Monitoring NewRelic APM + Insights NewRelic Alerts ELK CloudWatch
  • 14. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Instrumentation from the beginning
  • 15. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Custom Events // recording playback API request newrelic.recordCustomEvent('catalog-play-get', { apiVersion: ctx.apiVersion, device: ctx.device, contentId: ctx.params.uuid, geoCountry: ctx.geo ? ctx.geo.country : 'INVALID', }, ctx.state.requestId);
  • 17. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Custom Events Query
  • 18. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Custom Events Timeseries
  • 19. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Custom Events Most Popular Titles
  • 20. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Events on Mobile public static void recordPlaybackSuccess(String playbackType, String contentId, long startPreparingTimeMillis) { long currentTime = System.currentTimeMillis(); double delay = (currentTime - startPreparingTimeMillis) / 1000.000; double totalDelay = (currentTime - Config.playButtonTapTime) / 1000.000; Map<String, Object> map = new HashMap<>(); map.put(ATTRIBUTE_KEY_EVENT_TYPE, playbackType); map.put(ATTRIBUTE_KEY_CONTENT_ID, contentId); map.put(ATTRIBUTE_KEY_DELAY, delay); map.put(ATTRIBUTE_KEY_PLAYBACK_START_TIME, totalDelay); map.put(ATTRIBUTE_KEY_SANCTUARY_DELAY, totalDelay - delay); map.put(ATTRIBUTE_KEY_EVENT_STATUS, ATTRIBUTE_VALUE_EVENT_SUCCESS); NewRelicReporting.addUserSkuAttributes(map); NewRelic.recordEvent(ATTRIBUTE_VALUE_EVENT_TYPE_PLAYBACK, map); Timber.d("NR playback success event: %s", map.toString()); }
  • 21. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Dashboard
  • 22. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stage 2: Growing Pains
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Let’s build more service! Discovery Service Playback Service User Service Webview Service Messaging Service Unicorn Service ...
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT More Services ...
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Setup Server Node ES6/7, Go, Lua Nginx Postgres RDS & Redis Elasticache EC2+AutoScale+ELB Kong, API Gateway Lambda Monitoring NewRelic APM + Insights NewRelic Alerts ELK CloudWatch
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Going to a new market ... It’s different level of complexity
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Distributed Multi-Region Deployment [next] Multi-CDN New Approach
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Multi-Region Deployment
  • 29. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stage 3: Platform Sanity
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT It’s easy to get messy
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Rethinking of Platform Sanity ● Single Responsibility Principle ● Communicate via negotiable interfaces ● Collaboration ● Standardized & predictable deployment model
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Convention ● Project Structure ● Development & Test Model ● Deployment Model ● Terraforming
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Build & Deployment
  • 36. SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lesson Learned
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT ● Build your product iteratively ● Evolve the architecture as we grow ● Data-informed instead of data-driven ● Spend more on product development and architecture capability The lesson
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT Thank you! SUMMIT © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Dwi Sasongko Supriyadi dwi@hooq.tv