SlideShare uma empresa Scribd logo
1 de 30
Follow us @Blinkist
Nonfiction made easy.
mobile devices.
A format native to
Blinkist’s planned Infrastructure
Tomcat
Instances
Java
Spring
Enterprise
Apps
Load
Balancing
Scaling
Notification
and stats
Failover
strategies
User
Behaviour
Tracking
Automated
Push
Notifications
Bug
Tracking User
origin
tracking
Replica
Sets
Caching
Continous
deployment
Funnel
measure-
ment
User
Cluster-
ing
Mailing-
Services
Failover-
strategiesFailover-
tests
Backups
Rollbacks
Monitoring
and
Performance
Measurement
MongoDB
Monitoring
and
Performance
Measurement
Dedicated
Application
Servers
Continous
integration
Native iOs
App
Follow us @Blinkist
Objective
C
Landing
Page
Follow us @Blinkist
Who is gonna
That?
Work on
Blinkist’s planned Infrastructure
Tomcat
Instances
Java
Spring
Enterprise
Apps
Load
Balancing
Scaling
Notification
and stats
Failover
strategies
User
Behaviour
Tracking
Automated
Push
Notifications
Bug
Tracking
User
origin
tracking
Replica
Sets
Caching
Continous
deployment
Funnel
measure-
ment
User
Cluster-
ing
Mailing-
Services
Failover-
strategies
Failover-
tests
Backups
Rollbacks
Monitoring
and
Performance
Measurement
Monitoring
and
Performance
Measurement
Continous
integration
Follow us @Blinkist
Objective
C
1 CTO ??
Landing
Page
Follow us @Blinkist
Of course not!
Manpower
We got huge
Blinkist’s planned Infrastructure
Tomcat
Instances
Java
Spring
Enterprise
Apps
Load
Balancing
Scaling
Notification
and stats
Failover
strategies
User
Behaviour
Tracking
Automated
Push
Notifications
Bug
Tracking
User
origin
tracking
Replica
Sets
Caching
Continous
deployment
Funnel
measure-
ment
User
Cluster-
ing
Mailing-
Services
Failover-
strategies
Failover-
tests
Backups
Rollbacks
Monitoring
and
Performance
Measurement
Monitoring
and
Performance
Measurement
Continous
integration
Follow us @Blinkist
Objective
C
1 CTO
(fulltime) 1 iOs Dev
(6 days/month)
1 Java Dev
(4 days/month)
Landing
Page
Follow us @Blinkist
Sounds great??
We‘ve tried it!
Sure!
Follow us @Blinkist
Wanna now
Happened?
What
Follow us @Blinkist
At our first internal alpha launch our dedicated Server went
down
Our onliest dedicated server that dayI got an email at 3.25 am and went to the officeAlt+Ctrl+Del via website ...Hard reset via website...Hoster hotline call and…
The server rebooted at 3:45 pm!!! With nearly 12 hours
downtime
Follow us @Blinkist
Blinkist moved to
The cloud
Application
Servers
Blinkist’s planned Infrastructure
Tomcat
Instances
Java
Spring
Enterprise
Apps
Load
Balancing
Scaling
Notification
and stats
User
Behaviour
Tracking
Automated
Push
Notifications
Bug
Tracking
User
origin
tracking
Replica
Sets
Failover
strategies
Caching
Continous
deployment
Funnel
measure-
ment
User
Cluster-
ing
Mailing-
Services
Failover-
strategiesFailover-
tests
Dedicated
Application
Servers
Backups
Rollbacks
Monitoring
and
Performance
Measurement
MongoDB
Monitoring
and
Performance
Measurement
Continous
integration
Native iOs
App
Follow us @Blinkist
Objective
C
Landing
Page
Follow us @Blinkist
And now?
Blinkist’s planned Infrastructure
Java
Spring
Enterprise
Apps
Follow us @Blinkist
Objective
C
Landing
Page
1 CTO
(fulltime)
1 iOs Dev
(6 days/month)
1 Java Dev
(4 days/month)
Follow us @Blinkist
Costs and Functions
Costs and Functions
Follow us @Blinkist
Heroku
PaaS
1st dyno for free
+1 dyno 34 $/month
1 dyno is able to run
3 rails instances
Scaling from 1 to
100 dynos in < 1min
Deployment via
github hooks
S3 Bucket
CDN
0.095$/GB&month
0.004$/10k GET
requests
Fully power of
amazon cloud
Codeship.io
Continous Delivery
$0 for 1st 50 builds
$9 for 50
builds/month
Triggered via github
hooks
Testrun
Heroku deployment
per git branch
Newrelic
App-Monitoring
$0/month for 8 days
data retention
0.06$/dyno&month
for 90 days data
retention
DB performance
measurement
Request duration
analysis
Costs and Functions
Follow us @Blinkist
MemCachier
MemCache
25MB $0/month
100MB $15/month
Analytics
Dashboard
Setup in < 1min
Logentries
Log-Management
1GB 7-days
Storage $0/month
Unlimited storage
5$/GB&month
Log-search
Event/Pattern
definition and
Email-Notification
MongoHQ
Database
2GB Storage + 250
Ram $15/month
Automated health
checks
Daily backups to
Amazon S3
$15/month
One Click Backup-
Restore
Jira
BugTracking
$10/10users&month
Fully hosted
RESTful API
Costs and Functions
Follow us @Blinkist
Adjust-IO
BI for APP marketing
--
User origin clicks and
install measurement
Data Clustering
KPIs and retention
rate definitons
Dashboard overview
Mixpanel
User tracking
150$/month for
500k datapoints
Customer
segmentation
Funnel definitions
and tracking
Retention definition
and tracking
Mailchimp
Email Service
0$/month for 12k
emails
Unlimited mails for
up to 10k
subscribers
$75/month
Email templating
Email tracking
CI-Simple
Continous Integration
for mobile
19$/month for 200
builds
Automated
deployment via
testflight
Automated testing
Github hooks
Costs and Functions
Follow us @Blinkist
Mailgun
Email-Automation
0$/month for 300
messages a day
own domain & 50k
mails/month for
$19/month
Mailing lists
Batch sending
Email tracking
Blitz.io
Load-Testing
250 concurrent
users $0/month
1000 concurrent
users 799$/month
(de)activate billed
by seconds
7-different regions
to test from
Test statistics
TestflightApp
Mobile-App
Deployment
$0/month
Ships your iOs and
Android apps to
your testers without
any store release
VersionEye
Software-Package
notifier
$3/month for 5
private repositories
Keep your software
dependencies up to
date easily
No webcrawling
needed
Email notifications
Overall costs
1) Survey among active users
Follow us
< 300$/
month
Biggest Benefit
1) Survey among active users
Follow us
Focus on your business
Follow us @Blinkist
Disadvantages?
Follow us @Blinkist
Heroku is cycling your applications every 24 hours
Java Spring took nearly 60 seconds to boot
Once the App took more then 60 secs to boot the dyno
crashed
Follow us @Blinkist
One standard Heroku dyno got 512 MB ram
The used jetty server reserved mostly 520MB which lead to
permanent memory warnings which made all notifications
useless
Follow us @Blinkist
One mobile app-start lead to avg. 3 api requests
But the Spring Data mongodb driver does not support lazy
loading
Therefore one mobile app-start lead to 1000+ db requests
Follow us @Blinkist
Blinkist switched
From java to ruby
Follow us @Blinkist
Heroku is cycling your applications every 24 hours
Java Spring took nearly 60 seconds to boot
Once the App took more then 60 secs to boot the dyno
crashed
The grape app boots within 6 seconds
Follow us @Blinkist
One standard Heroku dyno got 512 MB ram
The used jetty server reserved mostly 520MB which lead to
permanent memory warnings which made all notifications
useless
One grape instance needs avg 80 MB ram
We introduced unicorn to easily run 3 grape applications
within one single heroku dyno
Follow us @Blinkist
One mobile app-start lead to avg. 3 api requests
But the Spring Data mongodb driver does not support lazy
loading
Therefore one mobile app-start leads to about 10-15 db
requests
The ruby gem mongoid supports lazy loading out of the box
Therefore one mobile app-start lead to 1000+ db requests
Follow us @Blinkist
Live Demo

Mais conteúdo relacionado

Semelhante a Why you should move your apps to the cloud

Improve monitoring and monetization of your mobile apps
Improve monitoring and monetization of your mobile appsImprove monitoring and monetization of your mobile apps
Improve monitoring and monetization of your mobile appsAmazon Web Services
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...NITHIN S.S
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Dynatrace
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringDynatrace
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applicationsFDConf
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Jan Jongboom
 
7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App MetricsApteligent
 
Updates on the Data Center Apps Program
Updates on the Data Center Apps ProgramUpdates on the Data Center Apps Program
Updates on the Data Center Apps ProgramAtlassian
 
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele PecorariMobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele PecorariOlivier DASINI
 
Using Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded SpaceUsing Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded SpaceOutlyer
 
Microservices, Events, and Breaking the Data Monolith with Kafka
Microservices, Events, and Breaking the Data Monolith with KafkaMicroservices, Events, and Breaking the Data Monolith with Kafka
Microservices, Events, and Breaking the Data Monolith with KafkaVMware Tanzu
 
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)VMware Tanzu
 
Making awesome apps
Making awesome appsMaking awesome apps
Making awesome appsDroidConTLV
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...FINOS
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10Chris Schalk
 
APM Talk
APM TalkAPM Talk
APM TalkMongoDB
 
Thinking about the full stack to create great mobile experiences
Thinking about the full stack to create great mobile experiencesThinking about the full stack to create great mobile experiences
Thinking about the full stack to create great mobile experiencesNew Relic
 
Why Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp FinlandWhy Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp FinlandImran Sayed
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)Amazon Web Services
 
Building for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile webBuilding for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile webRobin Glen
 

Semelhante a Why you should move your apps to the cloud (20)

Improve monitoring and monetization of your mobile apps
Improve monitoring and monetization of your mobile appsImprove monitoring and monetization of your mobile apps
Improve monitoring and monetization of your mobile apps
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster! Metrics-Driven Devops: Delivering High Quality Software Faster!
Metrics-Driven Devops: Delivering High Quality Software Faster!
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User Monitoring
 
Offline of web applications
Offline of web applicationsOffline of web applications
Offline of web applications
 
Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014Offline for web - Frontend Dev Conf Minsk 2014
Offline for web - Frontend Dev Conf Minsk 2014
 
7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics7 Tips for Optimizing Mobile App Metrics
7 Tips for Optimizing Mobile App Metrics
 
Updates on the Data Center Apps Program
Updates on the Data Center Apps ProgramUpdates on the Data Center Apps Program
Updates on the Data Center Apps Program
 
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele PecorariMobile apps & Server Apis, the weak link? par Emanuele Pecorari
Mobile apps & Server Apis, the weak link? par Emanuele Pecorari
 
Using Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded SpaceUsing Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded Space
 
Microservices, Events, and Breaking the Data Monolith with Kafka
Microservices, Events, and Breaking the Data Monolith with KafkaMicroservices, Events, and Breaking the Data Monolith with Kafka
Microservices, Events, and Breaking the Data Monolith with Kafka
 
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
Four Steps Toward a Safer Continuous Delivery Practice (Hint: Add Monitoring)
 
Making awesome apps
Making awesome appsMaking awesome apps
Making awesome apps
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
 
App engine devfest_mexico_10
App engine devfest_mexico_10App engine devfest_mexico_10
App engine devfest_mexico_10
 
APM Talk
APM TalkAPM Talk
APM Talk
 
Thinking about the full stack to create great mobile experiences
Thinking about the full stack to create great mobile experiencesThinking about the full stack to create great mobile experiences
Thinking about the full stack to create great mobile experiences
 
Why Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp FinlandWhy Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp Finland
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
 
Building for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile webBuilding for, perceiving and measuring performance for mobile web
Building for, perceiving and measuring performance for mobile web
 

Último

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Why you should move your apps to the cloud

  • 1.
  • 2. Follow us @Blinkist Nonfiction made easy. mobile devices. A format native to
  • 3. Blinkist’s planned Infrastructure Tomcat Instances Java Spring Enterprise Apps Load Balancing Scaling Notification and stats Failover strategies User Behaviour Tracking Automated Push Notifications Bug Tracking User origin tracking Replica Sets Caching Continous deployment Funnel measure- ment User Cluster- ing Mailing- Services Failover- strategiesFailover- tests Backups Rollbacks Monitoring and Performance Measurement MongoDB Monitoring and Performance Measurement Dedicated Application Servers Continous integration Native iOs App Follow us @Blinkist Objective C Landing Page
  • 4. Follow us @Blinkist Who is gonna That? Work on
  • 5. Blinkist’s planned Infrastructure Tomcat Instances Java Spring Enterprise Apps Load Balancing Scaling Notification and stats Failover strategies User Behaviour Tracking Automated Push Notifications Bug Tracking User origin tracking Replica Sets Caching Continous deployment Funnel measure- ment User Cluster- ing Mailing- Services Failover- strategies Failover- tests Backups Rollbacks Monitoring and Performance Measurement Monitoring and Performance Measurement Continous integration Follow us @Blinkist Objective C 1 CTO ?? Landing Page
  • 6. Follow us @Blinkist Of course not! Manpower We got huge
  • 7. Blinkist’s planned Infrastructure Tomcat Instances Java Spring Enterprise Apps Load Balancing Scaling Notification and stats Failover strategies User Behaviour Tracking Automated Push Notifications Bug Tracking User origin tracking Replica Sets Caching Continous deployment Funnel measure- ment User Cluster- ing Mailing- Services Failover- strategies Failover- tests Backups Rollbacks Monitoring and Performance Measurement Monitoring and Performance Measurement Continous integration Follow us @Blinkist Objective C 1 CTO (fulltime) 1 iOs Dev (6 days/month) 1 Java Dev (4 days/month) Landing Page
  • 8. Follow us @Blinkist Sounds great?? We‘ve tried it! Sure!
  • 9. Follow us @Blinkist Wanna now Happened? What
  • 10. Follow us @Blinkist At our first internal alpha launch our dedicated Server went down Our onliest dedicated server that dayI got an email at 3.25 am and went to the officeAlt+Ctrl+Del via website ...Hard reset via website...Hoster hotline call and… The server rebooted at 3:45 pm!!! With nearly 12 hours downtime
  • 11. Follow us @Blinkist Blinkist moved to The cloud
  • 12. Application Servers Blinkist’s planned Infrastructure Tomcat Instances Java Spring Enterprise Apps Load Balancing Scaling Notification and stats User Behaviour Tracking Automated Push Notifications Bug Tracking User origin tracking Replica Sets Failover strategies Caching Continous deployment Funnel measure- ment User Cluster- ing Mailing- Services Failover- strategiesFailover- tests Dedicated Application Servers Backups Rollbacks Monitoring and Performance Measurement MongoDB Monitoring and Performance Measurement Continous integration Native iOs App Follow us @Blinkist Objective C Landing Page
  • 14. Blinkist’s planned Infrastructure Java Spring Enterprise Apps Follow us @Blinkist Objective C Landing Page 1 CTO (fulltime) 1 iOs Dev (6 days/month) 1 Java Dev (4 days/month)
  • 15. Follow us @Blinkist Costs and Functions
  • 16. Costs and Functions Follow us @Blinkist Heroku PaaS 1st dyno for free +1 dyno 34 $/month 1 dyno is able to run 3 rails instances Scaling from 1 to 100 dynos in < 1min Deployment via github hooks S3 Bucket CDN 0.095$/GB&month 0.004$/10k GET requests Fully power of amazon cloud Codeship.io Continous Delivery $0 for 1st 50 builds $9 for 50 builds/month Triggered via github hooks Testrun Heroku deployment per git branch Newrelic App-Monitoring $0/month for 8 days data retention 0.06$/dyno&month for 90 days data retention DB performance measurement Request duration analysis
  • 17. Costs and Functions Follow us @Blinkist MemCachier MemCache 25MB $0/month 100MB $15/month Analytics Dashboard Setup in < 1min Logentries Log-Management 1GB 7-days Storage $0/month Unlimited storage 5$/GB&month Log-search Event/Pattern definition and Email-Notification MongoHQ Database 2GB Storage + 250 Ram $15/month Automated health checks Daily backups to Amazon S3 $15/month One Click Backup- Restore Jira BugTracking $10/10users&month Fully hosted RESTful API
  • 18. Costs and Functions Follow us @Blinkist Adjust-IO BI for APP marketing -- User origin clicks and install measurement Data Clustering KPIs and retention rate definitons Dashboard overview Mixpanel User tracking 150$/month for 500k datapoints Customer segmentation Funnel definitions and tracking Retention definition and tracking Mailchimp Email Service 0$/month for 12k emails Unlimited mails for up to 10k subscribers $75/month Email templating Email tracking CI-Simple Continous Integration for mobile 19$/month for 200 builds Automated deployment via testflight Automated testing Github hooks
  • 19. Costs and Functions Follow us @Blinkist Mailgun Email-Automation 0$/month for 300 messages a day own domain & 50k mails/month for $19/month Mailing lists Batch sending Email tracking Blitz.io Load-Testing 250 concurrent users $0/month 1000 concurrent users 799$/month (de)activate billed by seconds 7-different regions to test from Test statistics TestflightApp Mobile-App Deployment $0/month Ships your iOs and Android apps to your testers without any store release VersionEye Software-Package notifier $3/month for 5 private repositories Keep your software dependencies up to date easily No webcrawling needed Email notifications
  • 20. Overall costs 1) Survey among active users Follow us < 300$/ month
  • 21. Biggest Benefit 1) Survey among active users Follow us Focus on your business
  • 23. Follow us @Blinkist Heroku is cycling your applications every 24 hours Java Spring took nearly 60 seconds to boot Once the App took more then 60 secs to boot the dyno crashed
  • 24. Follow us @Blinkist One standard Heroku dyno got 512 MB ram The used jetty server reserved mostly 520MB which lead to permanent memory warnings which made all notifications useless
  • 25. Follow us @Blinkist One mobile app-start lead to avg. 3 api requests But the Spring Data mongodb driver does not support lazy loading Therefore one mobile app-start lead to 1000+ db requests
  • 26. Follow us @Blinkist Blinkist switched From java to ruby
  • 27. Follow us @Blinkist Heroku is cycling your applications every 24 hours Java Spring took nearly 60 seconds to boot Once the App took more then 60 secs to boot the dyno crashed The grape app boots within 6 seconds
  • 28. Follow us @Blinkist One standard Heroku dyno got 512 MB ram The used jetty server reserved mostly 520MB which lead to permanent memory warnings which made all notifications useless One grape instance needs avg 80 MB ram We introduced unicorn to easily run 3 grape applications within one single heroku dyno
  • 29. Follow us @Blinkist One mobile app-start lead to avg. 3 api requests But the Spring Data mongodb driver does not support lazy loading Therefore one mobile app-start leads to about 10-15 db requests The ruby gem mongoid supports lazy loading out of the box Therefore one mobile app-start lead to 1000+ db requests