SlideShare a Scribd company logo
Soumettre la recherche
Mettre en ligne
S’identifier
S’inscrire
Tune your App Perf (and get fit for summer)
Signaler
Sqreen
Suivre
Sqreen
6 Apr 2016
•
0 j'aime
•
1,617 vues
1
sur
26
Tune your App Perf (and get fit for summer)
6 Apr 2016
•
0 j'aime
•
1,617 vues
Télécharger maintenant
Télécharger pour lire hors ligne
Signaler
Logiciels
Tune your App Perf (and get fit for summer) @SqreenIO https://www.sqreen.io
Sqreen
Suivre
Sqreen
Recommandé
Ruby on Rails security in your Continuous Integration
Sqreen
2.9K vues
•
17 diapositives
Instrument Rack to visualize Rails requests processing
Sqreen
1K vues
•
12 diapositives
Application Security from the Inside - OWASP
Sqreen
948 vues
•
27 diapositives
Serverless security - how to protect what you don't see?
Sqreen
248 vues
•
22 diapositives
Serverless Security: What's Left To Protect
Guy Podjarny
1.9K vues
•
107 diapositives
Policy as code what helm developers need to know about security
LibbySchulze
139 vues
•
43 diapositives
Contenu connexe
Tendances
Prepare to defend thyself with Blue/Green
Sonatype
267 vues
•
66 diapositives
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...
Matt Raible
180 vues
•
55 diapositives
Signal r core workshop - netconf
Miguel Angel Teheran Garcia
366 vues
•
16 diapositives
DEFCON 23 - Nir Valtman and Moshe Ferber - from zero to secure in 1
Felipe Prado
20 vues
•
33 diapositives
Are You Ready for a Cloud Pentest?
Teri Radichel
1.5K vues
•
51 diapositives
Application Security in a Container World - Akash Mahajan - BCC 2017
CodeOps Technologies LLP
5.3K vues
•
28 diapositives
Tendances
(20)
Prepare to defend thyself with Blue/Green
Sonatype
•
267 vues
Lock That Shit Down! Auth Security Patterns for Apps, APIs, and Infra - Sprin...
Matt Raible
•
180 vues
Signal r core workshop - netconf
Miguel Angel Teheran Garcia
•
366 vues
DEFCON 23 - Nir Valtman and Moshe Ferber - from zero to secure in 1
Felipe Prado
•
20 vues
Are You Ready for a Cloud Pentest?
Teri Radichel
•
1.5K vues
Application Security in a Container World - Akash Mahajan - BCC 2017
CodeOps Technologies LLP
•
5.3K vues
Automating security test using Selenium and OWASP ZAP - Practical DevSecOps
Mohammed A. Imran
•
1.8K vues
Lacework | Top 10 Cloud Security Threats
Lacework
•
877 vues
Cloudefigo - From zero to secure in 1 minute
Israel AWS User Group
•
496 vues
Third Party Performance (Velocity, 2014)
Guy Podjarny
•
2K vues
Incapsula D3 - A Single Source of Truth for Security Issues - Pushing Siem L...
Tirza DiOro
•
145 vues
Mitigate Security Threats with SIEM
Akamai Developers & Admins
•
265 vues
.NET Security (Radu Vunvulea)
Radu Vunvulea
•
502 vues
Better Bug Stomping with Zend Studio and Zend Server
Zend by Rogue Wave Software
•
755 vues
Lessons from running AppSync in prod
Yan Cui
•
1.1K vues
10 things you can do at the edge
Akamai Developers & Admins
•
504 vues
Customer Story: Property Partner
Amazon Web Services
•
538 vues
Syntribos API Security Test Automation
Matthew Valdes
•
1.3K vues
Ignite Denver - Robots!
360|Conferences
•
185 vues
Empower every Azure Function to achieve more!!
Massimo Bonanni
•
52 vues
En vedette
NoSQL Injections in Node.js - The case of MongoDB
Sqreen
54.5K vues
•
14 diapositives
Bletchley
Diogo Mónica
3.6K vues
•
35 diapositives
From 0 to 0xdeadbeef - security mistakes that will haunt your startup
Diogo Mónica
3.5K vues
•
31 diapositives
Leveraging Honest Users: Stealth Command-and-Control of Botnets
Diogo Mónica
860 vues
•
32 diapositives
PhD Thesis Diogo Mónica
Diogo Mónica
1.4K vues
•
40 diapositives
An IDS for browser hijacking
Diogo Mónica
1K vues
•
19 diapositives
En vedette
(20)
NoSQL Injections in Node.js - The case of MongoDB
Sqreen
•
54.5K vues
Bletchley
Diogo Mónica
•
3.6K vues
From 0 to 0xdeadbeef - security mistakes that will haunt your startup
Diogo Mónica
•
3.5K vues
Leveraging Honest Users: Stealth Command-and-Control of Botnets
Diogo Mónica
•
860 vues
PhD Thesis Diogo Mónica
Diogo Mónica
•
1.4K vues
An IDS for browser hijacking
Diogo Mónica
•
1K vues
WiFiHop - mitigating the Evil twin attack through multi-hop detection
Diogo Mónica
•
1.9K vues
Observable Non-Sybil Quorums Construction in One-Hop Wireless Ad Hoc Networks
Diogo Mónica
•
920 vues
MultiPath TCP - The path to multipath
Diogo Mónica
•
8K vues
Secure Software Distribution in an Adversarial World
Diogo Mónica
•
1.6K vues
ESORICS 2014: Local Password validation using Self-Organizing Maps
Diogo Mónica
•
176K vues
Web Summit 2015 - Enterprise stage - Cloud, Open-Source, Security
Diogo Mónica
•
597 vues
MTLS in a Microservices World
Diogo Mónica
•
1.9K vues
How to-use-buffer-by-ella
Eleaza Rose Devilleres
•
291 vues
From Second Screen to Multi-Screen: We Are Social's Guide to Social Screens
We Are Social Singapore
•
37.9K vues
Security best practices for kubernetes deployment
Michael Cherny
•
14K vues
SteadyBudget's Seed Funding Pitch Deck
Shape Integrated Software
•
1.7M vues
Protecting Your Data With AWS KMS and AWS CloudHSM
Amazon Web Services
•
22.1K vues
7 Tips to Beautiful PowerPoint by @itseugenec
Eugene Cheng
•
1.3M vues
The Minimum Loveable Product
The Happy Startup School
•
4.1M vues
Similaire à Tune your App Perf (and get fit for summer)
AWS live hack: Atlassian + Snyk OSS on AWS
Eric Smalling
248 vues
•
20 diapositives
How the Cloud Shifts the Burden of Security to Development
Erika Barron
713 vues
•
27 diapositives
Implementing Fast IT Deploying Applications at the Pace of Innovation
Cisco DevNet
609 vues
•
21 diapositives
360° Kubernetes Security: From Source Code to K8s Configuration Security
DevOps.com
249 vues
•
31 diapositives
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
John Williams
164 vues
•
53 diapositives
Using Security to Build with Confidence in AWS - Trend Micro
Amazon Web Services
1.6K vues
•
66 diapositives
Similaire à Tune your App Perf (and get fit for summer)
(20)
AWS live hack: Atlassian + Snyk OSS on AWS
Eric Smalling
•
248 vues
How the Cloud Shifts the Burden of Security to Development
Erika Barron
•
713 vues
Implementing Fast IT Deploying Applications at the Pace of Innovation
Cisco DevNet
•
609 vues
360° Kubernetes Security: From Source Code to K8s Configuration Security
DevOps.com
•
249 vues
Delivering Java Applications? Ensure Top Performance Every Time, with Intell...
John Williams
•
164 vues
Using Security to Build with Confidence in AWS - Trend Micro
Amazon Web Services
•
1.6K vues
Adding the Sec to Your DevOps Pipelines
Amazon Web Services
•
1.3K vues
Cncf checkov and bridgecrew
LibbySchulze
•
1.4K vues
Automating your AWS Security Operations
Evident.io
•
1.5K vues
DevSecOps 的規模化實踐 (Level: 300-400)
Amazon Web Services
•
493 vues
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
QAware GmbH
•
12 vues
Automating your AWS Security Operations
Amazon Web Services
•
4.9K vues
DevSecOps: Integrating security into pipelines - SDD310 - AWS re:Inforce 2019
Amazon Web Services
•
929 vues
(SEC202) Best Practices for Securely Leveraging the Cloud
Amazon Web Services
•
8.1K vues
CI/CD Pipeline Security: Advanced Continuous Delivery Best Practices: Securit...
Amazon Web Services
•
2K vues
클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...
Amazon Web Services Korea
•
370 vues
Monitoring for Operational Outcomes and Application Insights: Best Practices ...
Amazon Web Services
•
1.8K vues
Secure Configuration and Automation Overview
Amazon Web Services
•
1.4K vues
Continuous Delivery Pipeline in the Cloud – How to Achieve Continous Everything
CA Technologies
•
1.1K vues
Machine Learning to Turbo-Charge the Ops Portion of DevOps
Deborah Schalm
•
2.8K vues
Dernier
Snowflake_free_trial_LabGuide.pdf
AdrianMontero30
6 vues
•
58 diapositives
OpenAI GPT in Depth - Questions and Misconceptions
Ivo Andreev
11 vues
•
36 diapositives
Webinar - MariaDB Temporal Tables: a demonstration
Federico Razzoli
23 vues
•
32 diapositives
Game Dev Session 01.pdf
AbelPhilipJoseph
5 vues
•
27 diapositives
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
Kief Morris
111 vues
•
35 diapositives
Metamorphic Testing for Web System Security
Lionel Briand
8 vues
•
27 diapositives
Dernier
(20)
Snowflake_free_trial_LabGuide.pdf
AdrianMontero30
•
6 vues
OpenAI GPT in Depth - Questions and Misconceptions
Ivo Andreev
•
11 vues
Webinar - MariaDB Temporal Tables: a demonstration
Federico Razzoli
•
23 vues
Game Dev Session 01.pdf
AbelPhilipJoseph
•
5 vues
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
Kief Morris
•
111 vues
Metamorphic Testing for Web System Security
Lionel Briand
•
8 vues
Melbourne MUG - September 2023
JayJiang19
•
43 vues
Why Should You Choose a Personal Trainer over Group Gym Classes?
Neighborhood Trainer
•
14 vues
LangChain + Docugami Webinar
Taqi Jaffri
•
62 vues
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
•
12 vues
A Guide to Java Dynamic Proxies and It in Coding
MikeConner22
•
5 vues
Database Storage Engine Internals
AdewumiSunkanmi
•
6 vues
Ecological Impact of Native vs. Cross-Platform Mobile Apps: a Preliminary Study
Olivier Le Goaër
•
10 vues
Improving User Experience with Our Website Feedback Tool
Not8 App
•
7 vues
advanced java.pdf
Ali Bozkurt
•
202 vues
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
•
8 vues
Kubernetes with Cilium in AWS - Experience Report!
QAware GmbH
•
14 vues
Alliance Expedition Battle
Silver Caprice
•
1.2K vues
Sequence: Pipeline modelling in Pharo
ESUG
•
45 vues
Pharo DataFrame: Past, Present, and Future
ESUG
•
10 vues
Tune your App Perf (and get fit for summer)
1.
Confidential & proprietary
© Sqreen, 2015 Tune your app perf (and get fit for summer) We make products antifragile
2.
© Sqreensqreen.io Jean-Baptiste Aviat CTO
@SqreenIO (https://sqreen.io) Former hacker at Apple (Red Team) @JbAviat jb@sqreen.io
3.
Confidential & proprietary
© Sqreen, 2015 – Donald Knuth “Premature optimization is the root of all evil.”
4.
Confidential & proprietary
© Sqreen, 2015sqreen.io « We don’t have bugs. » « Or maybe one… » « Okay, beta are done for that! »
5.
Confidential & proprietary
© Sqreen, 2015sqreen.io Sqreen behind the scenes Examine the environment Run code specific to the class of vulnerability Log security events Automatically check for Sqreen security rules updates While keeping the app fast.
6.
Confidential & proprietary
© Sqreen, 2015sqreen.io HTTP request anatomy DB Cache QueryQuery JSON request response Services Rails server Client Rails app code
7.
Confidential & proprietary
© Sqreen, 2015sqreen.io HTTP request with Sqreen QueryQuery DB Cache JSON Services Rails server Client Sqreen code request response Rails app code
8.
Confidential & proprietary
© Sqreen, 2015sqreen.io Attack blocked by Sqreen Attack Error Query Sqreen backend Log event DB CacheServices Rails server Client Sqreen code Rails app code
9.
Confidential & proprietary
© Sqreen, 2015sqreen.io Thanks early adopters, we owe you one! Our beta customers raised different concerns: 1. Average response time 2. CPU consumption (mostly machine facing APIs) 3. Memory usage 4. Bandwidth
10.
Confidential & proprietary
© Sqreen, 2015sqreen.io Endless path to perf optimization Know what you are looking for Measure: understand precisely what need change Pareto law: 80% of execution time is spent in 20% of your code Change: just code it Evaluate: compare to previous measures Start over. Change Evaluate Measure
11.
Confidential & proprietary
© Sqreen, 2015 What about our Gem?
12.
Confidential & proprietary
© Sqreen, 2015sqreen.io Sqreen code executed during a client request: doesn’t use network doesn’t interact with filesystem The decision to block is made in the application Back-end communication is performed in a dedicated thread Request processing Query
13.
Confidential & proprietary
© Sqreen, 2015sqreen.io Asynchronous by design Sqreen worker Rails threads Sqreen thread request response Rails server Sqreen backend Sqreen code Rails / app code
14.
Confidential & proprietary
© Sqreen, 2015sqreen.io 156ms Asynchronism benefits + X ms + XX % time 150ms 225ms + 0 % Default Dumb 0ms + 4 % Sqreen
15.
Confidential & proprietary
© Sqreen, 2015sqreen.io Reduce I/O Bandwith Memory Requests AggregateStrip Required? I/O
16.
Confidential & proprietary
© Sqreen, 2015sqreen.io ExecJS call time ExecJS allows many runtimes: V8 (close to Pure Ruby) JSCore (OSX only) Node (ExecJS runs the Node binary) miliseconds 0 17,5 35 52,5 70 Pure Ruby V8 JSCore (OSX) Node
17.
Confidential & proprietary
© Sqreen, 2015sqreen.io ExecJS memory usage Low memory usage But it leaks! @samsaffron helped a lot Can be solved using context recycling ExecJS should be reset regularly memory(MB) 0 175 350 525 700 seconds 0 150 300 450 600
18.
Confidential & proprietary
© Sqreen, 2015sqreen.io Optimize ExecJS use Reduce ExecJS spawn time Precompile everything Spawn ExecJS as less as possible We introduced pure Ruby pre-conditions Now the decision to call ExecJS is taken in Ruby
19.
Confidential & proprietary
© Sqreen, 2015sqreen.io Minimize ExecJS overhead Perform analysis only on requests using a risky API Pick relevant methods The JS engine is spawned and performs further analysis Analyze Check if the API uses arguments that can be vulnerable Validate exposure If there is a security risk, we block the request and alert our back-end Alert & block if method.include?(watch_methods) if method_arg.include?(parameters) if ExecJS.is_an_attack? tell_thread_to_record_alert block_this_request end end end
20.
Confidential & proprietary
© Sqreen, 2015sqreen.io Mem I/O CPU Band- width Reducing memory usage leads to smaller objects to be treated, faster garbage collection Memory Reducing CPU usage leads to overall faster process CPU Less bandwidth means less server occupation and leads to faster responses Bandwidth Reducing I/O reduces time needed for tasks I/O Virtuous circle of optimization
21.
Confidential & proprietary
© Sqreen, 2015sqreen.io Benefits of multithreading 144% (over dumb implementation)
22.
Confidential & proprietary
© Sqreen, 2015sqreen.io -1000% Benefits of V8 (over Node runtime)
23.
Confidential & proprietary
© Sqreen, 2015sqreen.io reduce leaks Benefits of recycling ExecJS context (garbage collection, overall memory usage…)
24.
Confidential & proprietary
© Sqreen, 2015sqreen.io just faster :) Benefits of pre-condition (less context recycling, less context switch…)
25.
Confidential & proprietary
© Sqreen, 2015sqreen.io Client perf is not all about client How to reduce I/O time without changing the client? The exposed APIs need to respond faster We are applying the same method to our back-end
26.
Confidential & proprietary
© Sqreen, 2015sqreen.io Set up your feedback loop Now, you should to monitor your performances (automatically)! And do the same with Security ;) Keep on coding…