33
Deployment Driven Development

Deployment Driven Development and Performance Testing TEFCON2015

Embed Size (px)

Citation preview

Deployment Driven Development

How long would it take

to your organization to deploy a change that involves just

one single line of code?

import randomimport timeimport requests

class Speaker(object):

def __init__(self): born = "Avilés - Asturias" studies = "Applied Maths and Computability" jobdescription = "Performance Jedi" company = "Telefónica I+D" team = "Product Engineering" project = "AWAZZA" talks = [VLC Testing, DevopsDays, WebPerfDays, Velocity]

def talk(self): start_timer = time.time() r = requests.get('http://www.slideshare.net/almudenavivanco') r.raw.read() latency = time.time() - start_timer self.custom_timers['TEFCon 2015 - DDD'] = latency

if __name__ == '__main__': speech = Speaker() speech.talk() print trans.custom_timers

Almudena Vivanco (@MrsDaehin)

Scalability Probs

PerformanceIt's not just about adding more

servers

Blue Green Deployment

Continuous … wait … what?

Fear is the path to the dark side. Fear leads to Inertia. Inertia Leads to paralysis. Paralysis leads to going out of Business.

Do not fear the Release!

Be ready for Failing!!

Release Frequently

It’s not my machines!It’s your code

It’s not my code!It’s your machines!

Building Resilient Environments

Deployment Driven Development

Real User Monitoring

How do you test performance?

Different apps have different profiles

Tests need to scale

Tests should be shareable

Tests should be straight forward.

THINK BIG

Dark Launching

Feature Toggling

http://martinfowler.com/bliki/FeatureToggle.html

A/B Testing

Canary Releasing

http://martinfowler.com/bliki/CanaryRelease.html

Do you still want to use Blue Green deployment?