40
INFRASTRUCTURE ET OPÉRATIONS Gestion de projet web Module 3

Module 3 IUT Bobigny : Infrastructure et Opérations

Embed Size (px)

DESCRIPTION

Support de cours du troisième et dernier module de gestion de projet web, dans le cadre de l'IUT de Bobigny (année scolaire 2012-2013).

Citation preview

Page 1: Module 3 IUT Bobigny : Infrastructure et Opérations

INFRASTRUCTURE ET OPÉRATIONS

Gestion de projet web – Module 3

Page 2: Module 3 IUT Bobigny : Infrastructure et Opérations

MODULE 3 : INFRASTRUCTURE ET OPÉRATIONS

Infrastructure, Cloud computing (scaling automatique)

Exploitation : monitoring, logs, kpi, instrumentation,

test A/B

Petit rappel : dans un contexte d’entreprise…

Projetez-vous !

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

2

Page 3: Module 3 IUT Bobigny : Infrastructure et Opérations

INFRASTRUCTURE

Page 4: Module 3 IUT Bobigny : Infrastructure et Opérations

HOSTING

Hosting should be:

Cheap

Scalable

Redundant

99,9% SLA

Secured

Efficient

Allow for fast rollback

Compatible with automated deployment

Self-care

Capacity to deploy internationally

CDN for static data

Separate environments: Preprod, Prod

Optimize more and more to reduce hosting cost.4

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 5: Module 3 IUT Bobigny : Infrastructure et Opérations

CLOUD COMPUTING

Page 6: Module 3 IUT Bobigny : Infrastructure et Opérations

COMPUTING TIMELINE

6

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 7: Module 3 IUT Bobigny : Infrastructure et Opérations

WHAT IS CLOUD COMPUTING?

Cloud computing leverages the capabilities of the Internet to deliver

“everything-as-a-service”.

General term for anything that involves:

delivering hosted services over the Internet

3 characteristics that differentiate it from traditional hosting:

• Sold on demand, typically by the minute or the hour

• It is elastic: a user can have as much or as little of a service as they want at any

given time

• The service is fully managed by the provider (the consumer needs nothing but a

personal computer and Internet access).

7

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 8: Module 3 IUT Bobigny : Infrastructure et Opérations

3 LAYERS OF CLOUD COMPUTING

These services are broadly divided into three categories:

1. Infrastructure-as-a-Service (IaaS): example Amazon Web Services

2. Platform-as-a-Service (PaaS): example Google App Engine

3. Software-as-a-Service (SaaS): example web-based email Gmail, Hotmail

8

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 9: Module 3 IUT Bobigny : Infrastructure et Opérations

CLOUD LAYERS

9

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 10: Module 3 IUT Bobigny : Infrastructure et Opérations

IAAS

IaaS transforms the traditional datacenter model to that of a utility.

Virtualization permits pooling of cloud resources.

Example: Amazon Web services

(AWS)

Rackspace Cloud

NTT

Orange Cloud Pro

10

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 11: Module 3 IUT Bobigny : Infrastructure et Opérations

PAAS

PaaS shortens the application development lifecycle thus reduces the time to market.

PaaS allows the user to focus on application development without the burden of managing the underlying development platform, hardware and resources. 11

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 12: Module 3 IUT Bobigny : Infrastructure et Opérations

SAAS

SaaS is an evolution from the traditional application service provider (ASP) model: Customers can share

application instances, thus increasing application utilization and driving economies of scale.

SaaS is optimized for use over a network and as such, applications become available on-demand.

As a result, the traditional licensing approach of software is transformed to a subscription. 12

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 13: Module 3 IUT Bobigny : Infrastructure et Opérations

PUBLIC CLOUD VS PRIVATE CLOUD

The public cloud infrastructure is made available to the general public in the form of a subscription through the Internet.

In a private cloud formation, the cloud infrastructure is operated solely for an organization.

Hybrid cloud formation consists of two or more heterogeneous cloud formations.

13

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 14: Module 3 IUT Bobigny : Infrastructure et Opérations

ADVANTAGES OF CLOUD COMPUTING

API to interact with the Cloud

Reduced cost based on usage

Ubiquitous network access: available through any Internet-enabled devices

Sharing of resources and costs across a large pool of users allows for: Centralization of infrastructure in locations with lower costs (such

as real estate, electricity, etc.)

Peak-load capacity increases (users need not engineer for highest possible load-levels)

Utilization and efficiency improvements for systems that are often only 10–20% utilized

Reliability with multiple redundant sites

Scalability: consumers can increase or decrease capacity at will

Maintenance: done by the provider

Metering and monitoring14

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 15: Module 3 IUT Bobigny : Infrastructure et Opérations

ISSUES OF PUBLIC CLOUD COMPUTING

Privacy

Security

Availability and performance

Lack of control

15

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 16: Module 3 IUT Bobigny : Infrastructure et Opérations

CDN

Content Delivery Network is basically a large network distributed storage hard drive.

It can store any types of static files, deployed over multiple location, so as to optimize bandwidth and download access for any client.

Advantages: Low latency. Improves content load times

High bandwidth. Enables high bit rate HD video and other bandwidth-heavy applications

Redundant. Eliminates single points of failure

Scalable. Ensure great experience as number of end users grows

Global. Worldwide network provides great experience regardless of geography

Cost-effective. Pay as you go model provides flexibility for your business

Drawbacks: Propagation time on all nodes. A CDN is not made to store files that need to

be updated often.16

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 17: Module 3 IUT Bobigny : Infrastructure et Opérations

HOW CDN WORKS

Based on object caching:

17

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

CDN

Edge LocationCustom origin

with content

Data transfer of cached content

to end user (if cached)Data transfer of content to CDN

edge location to cache

Cached copies of

objects

If content not cached – object

requested from origin

12

3 4

Request routed to most

optimal edge location

End-user requests content

Page 18: Module 3 IUT Bobigny : Infrastructure et Opérations

HOSTING IN THE CLOUD

Page 19: Module 3 IUT Bobigny : Infrastructure et Opérations

TYPICAL WEB ARCHITECTURE

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Beware of Single Point of Failure (SPoF)

Mitigate risks

19

Page 20: Module 3 IUT Bobigny : Infrastructure et Opérations

AUTO-SCALING

Auto-scaling = Add or remove servers dynamically

Scale up and down your servers to:

Improve availibility of service

Optimize hosting cost

Choose the proper metrics to define scale rules

Set hard limits: 2 min, N max

Scale up early, scale down slowly 20

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 21: Module 3 IUT Bobigny : Infrastructure et Opérations

UNDERSTANDING AUTO-SCALING

21

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 22: Module 3 IUT Bobigny : Infrastructure et Opérations

CACHING

4 types of caches:

Web browser cache (client-side)

Network cache

CDN: Amazon CloudFront, Akamai, Azure CDN, …

Reverse proxy: Nginx, Varnish, Apache

Application cache:

Memcached (key-value)

Database cache

22

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Memcached Reverse Proxy

Page 23: Module 3 IUT Bobigny : Infrastructure et Opérations

DNS & SSL

DNS (Domain

Name System)

Champ A :

adresse IP d'un

hôte

Champ MX :

nom de domaine

des serveurs de

mail associés

Champ CNAME :

nom canonique

d'un alias

SSL (Secure

Sockets Layer)23

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 24: Module 3 IUT Bobigny : Infrastructure et Opérations

OPERATIONS

Page 25: Module 3 IUT Bobigny : Infrastructure et Opérations

MONITORING

Monitoring is mandatory in web operations.

Centralized console

Powerful alert system with email and SMS

On-call organization

Define metrics

25

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 26: Module 3 IUT Bobigny : Infrastructure et Opérations

LOGS

Logs are critical for operations: Application logs

Database logs

System logs

Various log levels: Debug: used for problem diagnosis. Not in Production.

Info: help trace execution in a production environment.

Warning: A warning message indicates a potential problem in the system.

Error: serious problem in the system.

Include timestamp, caller identity, source code details, thread id

Log in real-time

Centralize logs

Use Logging libraries (log4j, log4php…) 26

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 27: Module 3 IUT Bobigny : Infrastructure et Opérations

DATA-CENTRIC: MEASURE ANYTHING,

MEASURE EVERYTHING

“You can’t manage what you don’t measure.”

W. Edwards Deming, Peter Drucker

Make good use of data. Use science.

Implement an instrumentation framework, to have the ability to track any indicator.

27

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 28: Module 3 IUT Bobigny : Infrastructure et Opérations

A/B TESTING

Pour répondre à la simple question : B est-il meilleur que A ?Que va-t-il se passer si je fais B ? Expérimenter différentes variantes sur différentes populations

Mesurer

Décider sur la base de données explicites, statistiquement signifiantes

Systématiser l’expérimentation en test A/B chaque fois qu’on introduit de nouvelles évolutions et comparer avec l’existant

28

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 29: Module 3 IUT Bobigny : Infrastructure et Opérations

KPI AND BUSINESS INTELLIGENCE

Define KPI (Key Performance Indicators): Technical

Business

Build simple real-time dashboards to expose KPI

Use datamining solutions to do deeperanalysis

Datamining tools QlikView http://www.qlikview.com/

Jaspersoft http://www.jaspersoft.com/fr

Tableau Software http://www.tableausoftware.com/

And learn about Big Data… 29

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 30: Module 3 IUT Bobigny : Infrastructure et Opérations

UN PEU DE PRATIQUE

Page 31: Module 3 IUT Bobigny : Infrastructure et Opérations

EXERCISE 1: DNS & SERVER SECURITY

1. Set up a DNS name by using

https://freedns.afraid.org/menu/

2. Check DNS propagation:

http://www.whatsmydns.net

3. Check your site security, for instance with:

http://www.websecurify.com/

31

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 32: Module 3 IUT Bobigny : Infrastructure et Opérations

EXERCISE 2 : LOAD TESTING & MONITORING

1. Create a Jmeter script to simulate load on your web

site.

Install from http://jmeter.apache.org/

2. Use a monitoring web site to check availibility of

your site. For instance: http://www.siteuptime.com/

http://www.monitor.us

http://portal.monitis.com/

http://www.catchpoint.com/

32

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 33: Module 3 IUT Bobigny : Infrastructure et Opérations

EXERCISE 3: A/B TESTING

Build a variant of your homepage and simulate A/B

testing by using:

http://visualwebsiteoptimizer.com/

33

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 34: Module 3 IUT Bobigny : Infrastructure et Opérations

EXERCISE 4 : ARCHITECTURE CLOUD

1. Create a free account on Outscale:

http://www.outscale.com

2. Launch a mini Linux instance

3. Deploy your website into a virtual instance

Try again load-testing with Jmeter and check out

scale-up and down

34

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 35: Module 3 IUT Bobigny : Infrastructure et Opérations

RÉFÉRENCES

Page 36: Module 3 IUT Bobigny : Infrastructure et Opérations

CLOUD COMPUTING

Aws Blog http://aws.typepad.com/aws/

High Scalability http://highscalability.com/

Netflix blog http://techblog.netflix.com/

Ysance blog http://decrypt.ysance.com/

36

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 37: Module 3 IUT Bobigny : Infrastructure et Opérations

INSTRUMENTATION

Make it ridiculously simple for any engineer to get anything they can

count or time into a graph with almost no effort

http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-

everything/

http://codeascraft.etsy.com/2010/12/08/track-every-release/

http://codeascraft.etsy.com/2012/06/21/building-websites-with-

science/

https://github.com/etsy/statsd

Graphite for graphics: http://graphite.wikidot.com/

Big Data et décisionnel:

http://pro.clubic.com/it-business/article-508407-1-big-data-analyse-

donnees-interesse-entreprises.html

Big Data: The Management Revolution : http://hbr.org/2012/10/big-

data-the-management-revolution/ar/1

37

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 38: Module 3 IUT Bobigny : Infrastructure et Opérations

MONITORING

http://newrelic.com/

http://www.zenoss.com/

http://sixrevisions.com/tools/10-free-server-network-monitoring-tools-that-kick-ass/

http://decrypt.ysance.com/2011/02/comparatif-outils-monitoring-metrologie-supervision-1-zabbix-

centreon-nagios-cacti-munin/

http://decrypt.ysance.com/2011/02/comparatif-outils-monitoring-metrologie-supervision-2-zabbix-

centreon-nagios-cacti-munin/

http://www.thegeekstuff.com/2009/09/top-5-best-network-monitoring-tools/

Ganglia : http://ganglia.info/

Centralized monitoring: http://www.splunk.com/ http://www.moonlit-software.com

http://www.siteuptime.com/ http://mon.itor.us/index.jsp http://www.scivisum.co.uk/

http://www.catchpoint.com/ http://www.compuware.com/application-performance-management/

http://portal.monitis.com/ http://www.keynote.com/ http://www.yottaa.com/

38

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 39: Module 3 IUT Bobigny : Infrastructure et Opérations

TEST A/B

“Not only a marketing tool focused on UI, but most of all a developer tool to be used easily when implementing new features, from front-end to back-end.”

“The goal is to have split-testing be a continuous part of our development process, so much that it is considered a completely routine part of developing a new feature.”

http://www.exp-platform.com/Documents/GuideControlledExperiments.pdf

http://elem.com/~btilly/effective-ab-testing/ / http://elem.com/~btilly/effective-ab-testing/g-test-calculator.html

http://cdn.oreillystatic.com/en/assets/1/event/61/Building%20an%20A_B%20Testing%20Framework%20for%20Web%20Applications%20Presentation.pdf

http://cdn.oreillystatic.com/en/assets/1/event/61/Building%20an%20A_B%20Testing%20Framework%20for%20Web%20Applications%20Presentation%201.pdf

A/B Frameworkhttp://fr.slideshare.net/patio11/ab-testing-framework-design-3296257

https://github.com/etsy/ab

Toolhttp://abtester.com/calculator/

39

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om

Page 40: Module 3 IUT Bobigny : Infrastructure et Opérations

UN PETIT SITE POUR RETROUVER CE COURS

https://sites.google.com/site/iutbobignyweb/

Support de formation

Liens utiles

Coordonnées

Formulaire d’évaluation

40

Gestio

n d

e p

roje

t Web | IU

T B

obig

ny 2

012

-2013 | F

rédéric

RIV

AIN

-fre

deric

.rivain

@gm

ail.c

om