рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

рдиреЛрдВрдж рднрд╛рд╖рд╛рдВрддрд░: Weaveworks рдЪреЗ рд╣реЗ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп ре▓рдкреНрд▓рд┐рдХреЗрд╢рди рд░реЛрд▓рдЖрдЙрдЯ рд╕реНрдЯреНрд░реЕрдЯреЗрдЬреАрдЬ рд╕рд╛рджрд░ рдХрд░рддреЗ рдЖрдгрд┐ Kubernetes Flagger рдСрдкрд░реЗрдЯрд░ рд╡рд╛рдкрд░реВрди рд╕рд░реНрд╡рд╛рдд рдкреНрд░рдЧрдд рдпреЛрдЬрдирд╛ рдХрд╢рд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рд╣реЗ рджрд╛рдЦрд╡рддреЗ. рд╣реЗ рд╕реЛрдкреНрдпрд╛ рднрд╛рд╖реЗрдд рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рдЖрдХреГрддреНрдпрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдореБрд│реЗ рдЕрдЧрджреА рдирд╡рд╢рд┐рдХреНрдпрд╛ рдЕрднрд┐рдпрдВрддреНрдпрд╛рдВрдирд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдордЬреВ рд╢рдХрддрд╛рдд.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)
рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рд╡рд░реВрди рдШреЗрддрд▓реЗ рдЖрд╣реЗ рдЖрдгрдЦреА рдПрдХ рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрдВрдЯреЗрдирд░ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд░реЛрд▓рдЖрдЙрдЯ рдзреЛрд░рдгреЗ

рдЖрдЬ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡реНрд╣ ре▓рдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рдореЛрдареЗ рдЖрд╡реНрд╣рд╛рди рдореНрд╣рдгрдЬреЗ рддреИрдирд╛рддреА рд╡рд╛рдврд╡рдгреЗ. рдорд╛рдпрдХреНрд░реЛ рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдкрдзреНрджрддреАрдордзреНрдпреЗ, рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрдзреАрдкрд╛рд╕реВрди рдкреВрд░реНрдгрдкрдгреЗ рдореЙрдбреНрдпреВрд▓рд░ ре▓рдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╣ рдХрд╛рдо рдХрд░рддрд╛рдд рдЖрдгрд┐ рдбрд┐рдЭрд╛рдЗрди рдХрд░рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЯреАрдореНрд╕рдирд╛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдХреЛрдб рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ ре▓рдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдорд┐рд│рддреЗ.

рд▓рд╣рд╛рди рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╡рд╛рд░рдВрд╡рд╛рд░ рдЙрдкрдпреЛрдЬрдирд╛рдВрдЪреЗ рдЦрд╛рд▓реАрд▓ рдлрд╛рдпрджреЗ рдЖрд╣реЗрдд:

  • рдмрд╛рдЬрд╛рд░рд╛рд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛ рд╡реЗрд│ рдХрдореА рд╣реЛрддреЛ.
  • рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдкрд░реНрдпрдВрдд рдЬрд▓рдж рдкреЛрд╣реЛрдЪрддрд╛рдд.
  • рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрднрд┐рдкреНрд░рд╛рдп рд╡рд┐рдХрд╛рд╕ рдХрд╛рд░реНрдпрд╕рдВрдШрд╛рдкрд░реНрдпрдВрдд рдЬрд▓рдж рдкреЛрд╣реЛрдЪрддреЛ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдХрд╛рд░реНрдпрд╕рдВрдШ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдЬреЛрдбреВ рд╢рдХрддреЛ рдЖрдгрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрдзрд┐рдХ рдЬрд▓рдж рдирд┐рд░рд╛рдХрд░рдг рдХрд░реВ рд╢рдХрддреЛ.
  • рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪреЗ рдордиреЛрдмрд▓ рд╡рд╛рдврддреЗ: рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдордзреАрд▓ рдЕрдзрд┐рдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╕рд╣ рдХрд╛рдо рдХрд░рдгреЗ рдЕрдзрд┐рдХ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ.


рдкрд░рдВрддреБ рд░рд┐рд▓реАрдЭрдЪреА рд╡рд╛рд░рдВрд╡рд╛рд░рддрд╛ рдЬрд╕рдЬрд╢реА рд╡рд╛рдврддреЗ рддрд╕рддрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддреЗрд╡рд░ рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдиреБрднрд╡рд╛рд╡рд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рджреЗрдЦреАрд▓ рд╡рд╛рдврддреЗ. рдореНрд╣рдгреВрдирдЪ рдСрдкрд░реЗрд╢рдиреНрд╕ рдЖрдгрд┐ DevOps рд╕рдВрдШрд╛рдВрд╕рд╛рдареА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдЙрдкрдпреЛрдЬрди рдзреЛрд░рдгреЗ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА рдЬреНрдпрд╛рдореБрд│реЗ рдЙрддреНрдкрд╛рджрди рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдзреЛрдХрд╛ рдХрдореА рд╣реЛрдИрд▓. (рддреБрдореНрд╣реА CI/CD рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдСрдЯреЛрдореЗрд╢рдирдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдК рд╢рдХрддрд╛ рдпреЗрдереЗ.)

рдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ, рдЖрдореНрд╣реА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреАрд▓ рд╡рд┐рд╡рд┐рдз рдЙрдкрдпреЛрдЬрди рдзреЛрд░рдгрд╛рдВрд╡рд░ рдЪрд░реНрдЪрд╛ рдХрд░реВ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд░реЛрд▓рд┐рдВрдЧ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдЖрдгрд┐ рдХреЕрдирд░реА рд░реЛрд▓рдЖрдЙрдЯреНрд╕ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдмрджрд▓рд╛рдВрд╕рд╛рд░рдЦреНрдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░рдЧрдд рдкрджреНрдзрддреАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.

рдЙрдкрдпреЛрдЬрди рдзреЛрд░рдгреЗ

рддреБрдордЪреНрдпрд╛ рдзреНрдпреЗрдпрд╛рдиреБрд╕рд╛рд░ рддреБрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рдЕрд╢рд╛ рдЕрдиреЗрдХ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдЙрдкрдпреЛрдЬрди рдзреЛрд░рдгреЗ рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣рд╛рд▓рд╛ рдкреБрдвреАрд▓ рдЪрд╛рдЪрдгреАрд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛/рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдЙрдкрд╕рдВрдЪрд╛рдд рдмрджрд▓ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓ рдХрд┐рдВрд╡рд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдмрдирд╡рдгреНрдпрд╛рдкреВрд░реНрд╡реА рддреБрдореНрд╣рд╛рд▓рд╛ рдорд░реНрдпрд╛рджрд┐рдд рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЪрд╛рдЪрдгреА рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реВ рд╢рдХрддреЗ. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ.

рд░реЛрд▓рд┐рдВрдЧ (рд╣рд│реВрд╣рд│реВ, "рд░реЛрд▓рд┐рдВрдЧ" рдЙрдкрдпреЛрдЬрди)

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдордзреАрд▓ рд╣реА рдорд╛рдирдХ рдЙрдкрдпреЛрдЬрди рдзреЛрд░рдг рдЖрд╣реЗ. рд╣реЗ рд╣рд│реВрд╣рд│реВ, рдПрдХрд╛рдорд╛рдЧреВрди рдПрдХ, рдХреНрд▓рд╕реНрдЯрд░ рдбрд╛рдЙрдирдЯрд╛рдЗрдорд╢рд┐рд╡рд╛рдп - рдирд╡реАрди рдЖрд╡реГрддреНрддреАрд╕рд╣ рдкреЙрдбреНрд╕рд╕рд╣ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рдЬреБрдиреНрдпрд╛ рдЖрд╡реГрддреНрддреАрд╕рд╣ рдкреЙрдбреНрд╕ рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рддреЗ.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

рдирд╡реАрди рд╢реЗрдВрдЧрд╛ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рд╣реЛрдИрдкрд░реНрдпрдВрдд рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛рдд (рддреНрдпрд╛рдВрдирд╛ рд╡рд╛рдкрд░реВрди рддрдкрд╛рд╕рдд рдЖрд╣реЗ рддрдпрд╛рд░реА рдЪрд╛рдЪрдгреНрдпрд╛), рддреБрдореНрд╣реА рдЬреБрдиреЗ рдЧреБрдВрдбрд╛рд│рдгреЗ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА. рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рд▓реНрдпрд╛рд╕, рд╕рдВрдкреВрд░реНрдг рдХреНрд▓рд╕реНрдЯрд░ рди рдерд╛рдВрдмрд╡рддрд╛ рд╣реЗ рд░реЛрд▓рд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рд░рджреНрдж рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдЙрдкрдпреЛрдЬрди рдкреНрд░рдХрд╛рд░рд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд▒реНрдпрд╛ YAML рдлрд╛рдЗрд▓рдордзреНрдпреЗ, рдирд╡реАрди рдкреНрд░рддрд┐рдорд╛ рдЬреБрдиреНрдпрд╛ рдкреНрд░рддрд┐рдореЗрдЪреА рдЬрд╛рдЧрд╛ рдШреЗрддреЗ:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: awesomeapp
    spec:
      containers:
        - name: awesomeapp
          image: imagerepo-user/awesomeapp:new
          ports:
            - containerPort: 8080

рд░реЛрд▓рдУрд╡реНрд╣рд░ рдЕрдкрдбреЗрдЯ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдореЕрдирд┐рдлреЗрд╕реНрдЯ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд:

spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
       maxSurge: 25%
       maxUnavailable: 25%  
  template:
  ...

рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рд╛

рдпрд╛ рд╕реЛрдкреНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдЙрдкрдпреЛрдЬрдирд╛рдордзреНрдпреЗ, рдЬреБрдиреНрдпрд╛ рд╢реЗрдВрдЧрд╛ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдорд╛рд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рдирд╡реАрди рд╢реЗрдВрдЧрд╛ рдмрджрд▓рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

рд╕рдВрдмрдВрдзрд┐рдд рдореЕрдирд┐рдлреЗрд╕реНрдЯ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рддреЗ:

spec:
  replicas: 3
  strategy:
    type: Recreate
  template:
  ...

рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛ (рдирд┐рд│рд╛-рд╣рд┐рд░рд╡рд╛ рдЙрдкрдпреЛрдЬрди)

рдирд┐рд│реНрдпрд╛-рд╣рд┐рд░рд╡реНрдпрд╛ рдЙрдкрдпреЛрдЬрди рдзреЛрд░рдгрд╛рдд (рдХрдзреАрдХрдзреА рд▓рд╛рд▓/рдХрд╛рд│рд╛ рджреЗрдЦреАрд▓ рдореНрд╣рдгрддрд╛рдд) рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЬреБрдиреНрдпрд╛ (рд╣рд┐рд░рд╡реНрдпрд╛) рдЖрдгрд┐ рдирд╡реАрди (рдирд┐рд│реНрдпрд╛) рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдЪрд╛ рдПрдХрд╛рдЪрд╡реЗрд│реА рддреИрдирд╛рддреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рджреЛрдиреНрд╣реА рдЖрд╡реГрддреНрддреНрдпрд╛ рдкреЛрд╕реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдирд┐рдпрдорд┐рдд рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╣рд┐рд░рд╡реНрдпрд╛ рд░рдВрдЧрд╛рдд рдкреНрд░рд╡реЗрд╢ рдЕрд╕рддреЛ, рддрд░ рдирд┐рд│рд╛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕реЗрд╡рд╛ рдХрд┐рдВрд╡рд╛ рдереЗрдЯ рдкреЛрд░реНрдЯ рдлреЙрд░рд╡рд░реНрдбрд┐рдВрдЧрджреНрд╡рд╛рд░реЗ рдЪрд╛рдЪрдгреА рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА QA рдЯреАрдорд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЕрд╕рддреЛ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp-02
spec:
  template:
    metadata:
      labels:
        app: awesomeapp
        version: "02"

рдирд┐рд│реНрдпрд╛ (рдирд╡реАрди) рдЖрд╡реГрддреНрддреАрдЪреА рдЪрд╛рдЪрдгреА рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рдЖрдгрд┐ рддрд┐рдЪреЗ рдкреНрд░рдХрд╛рд╢рди рдордВрдЬреВрд░ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░, рд╕реЗрд╡рд╛ рддреНрдпрд╛рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рдЖрдгрд┐ рд╣рд┐рд░рд╡реА (рдЬреБрдиреА) рдЖрд╡реГрддреНрддреА рджреБрдордбрд▓реА рдЬрд╛рддреЗ:

apiVersion: v1
kind: Service
metadata:
  name: awesomeapp
spec:
  selector:
    app: awesomeapp
    version: "02"
...

рдХреЕрдирд░реА (рдХреЕрдирд░реА рдЙрдкрдпреЛрдЬрди)

рдХреЕрдирд░реА рд░реЛрд▓рдЖрдЙрдЯреНрд╕ рдирд┐рд│реНрдпрд╛-рд╣рд┐рд░рд╡реНрдпрд╛ рд░реЛрд▓рдЖрдЙрдЯреНрд╕рд╕рд╛рд░рдЦреЗрдЪ рдЕрд╕рддрд╛рдд, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдЪреЗ рдирд┐рдпрдВрддреНрд░рдг рдЖрдгрд┐ рд╡рд╛рдкрд░ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реЗ рдЕрд╕рддреЗ рдкреБрд░реЛрдЧрд╛рдореА рдЪрд░рдг-рджрд░-рдЪрд░рдг рджреГрд╖реНрдЯреАрдХреЛрди. рдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рдд "рд╕реНрдЯрд┐рд▓реНрде" рд▓рд╛рдБрдЪ рдЖрдгрд┐ A/B рдЪрд╛рдЪрдгреАрд╕рд╣ рдЕрдиреЗрдХ рднрд┐рдиреНрди рдзреЛрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд.

рдЬреЗрд╡реНрд╣рд╛ рдХрд╛рд╣реА рдирд╡реАрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдкрд░реВрди рдкрд╛рд╣рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рд╣реА рд░рдгрдиреАрддреА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ, рд╕рд╣рд╕рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдмреЕрдХрдПрдВрдбрдордзреНрдпреЗ. рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреЗ рд╕рд╛рд░ рджреЛрди рдЬрд╡рд│рдЬрд╡рд│ рдПрдХрд╕рд╛рд░рдЦреЗ рд╕рд░реНрд╡реНрд╣рд░ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╣реЗ: рдПрдХ рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╕реЗрд╡рд╛ рджреЗрддреЛ рдЖрдгрд┐ рджреБрд╕рд░рд╛, рдирд╡реАрди рдлрдВрдХреНрд╢рдиреНрд╕рд╕рд╣, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪрд╛ рдлрдХреНрдд рдПрдХ рдЫреЛрдЯрд╛ рдЙрдкрд╕рдореВрд╣ рд╕рд░реНрд╡реНрд╣ рдХрд░рддреЛ, рдЬреНрдпрд╛рдирдВрддрд░ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреА рддреБрд▓рдирд╛ рдХреЗрд▓реА рдЬрд╛рддреЗ. рд╕рд░реНрд╡ рдХрд╛рд╣реА рддреНрд░реБрдЯреАрдВрд╢рд┐рд╡рд╛рдп рд╣реЛрдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд╣рд│реВрд╣рд│реВ рд╕рдВрдкреВрд░реНрдг рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдордзреНрдпреЗ рдЖрдгрд▓реА рдЬрд╛рдИрд▓.

рдЬрд░реА рд╣реА рд░рдгрдиреАрддреА рдХреЗрд╡рд│ рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╡рд╛рдкрд░реВрди рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ, рдЬреБрдиреНрдпрд╛ рдкреЙрдбреНрд╕рдЪреНрдпрд╛ рдЬрд╛рдЧреА рдирд╡реАрди рд╡рд╛рдкрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ, рдкрд░рдВрддреБ Istio рд╕рд╛рд░рдЦреА рд╕реЗрд╡рд╛ рдЬрд╛рд│реА рд╡рд╛рдкрд░рдгреЗ рдЕрдзрд┐рдХ рд╕реЛрдпреАрдЪреЗ рдЖрдгрд┐ рд╕реЛрдкреЗ рдЖрд╣реЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдордЪреНрдпрд╛рдХрдбреЗ Git рдордзреНрдпреЗ рджреЛрди рднрд┐рдиреНрди рдореЕрдирд┐рдлреЗрд╕реНрдЯ рдЕрд╕реВ рд╢рдХрддрд╛рдд: рдЯреЕрдЧ 0.1.0 рд╕рд╣ рдирд┐рдпрдорд┐рдд рдореЕрдирд┐рдлреЗрд╕реНрдЯ рдЖрдгрд┐ 0.2.0 рдЯреЕрдЧрд╕рд╣ рдХреЕрдирд░реА рдореЕрдирд┐рдлреЗрд╕реНрдЯ. Istio рдЖрднрд╛рд╕реА рдЧреЗрдЯрд╡реЗ рдореЕрдирд┐рдлреЗрд╕реНрдЯрдордзреАрд▓ рд╡рдЬрди рдмрджрд▓реВрди, рддреБрдореНрд╣реА рдпрд╛ рджреЛрди рдЙрдкрдпреЛрдЬрдирд╛рдВрдордзреАрд▓ рд░рд╣рджрд╛рд░реАрдЪреЗ рд╡рд┐рддрд░рдг рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

Istio рд╡рд╛рдкрд░реВрди рдХреЕрдирд░реА рдЙрдкрдпреЛрдЬрдирд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рдХрд╛рд╕рд╛рдареА, рдкрд╣рд╛ Istio рд╕рд╣ GitOps рд╡рд░реНрдХрдлреНрд▓реЛ. (рдиреЛрдВрдж. рдЕрдиреБрд╡рд╛рдж: рдЖрдореНрд╣реА рдХреЕрдирд░реА рд░реЛрд▓рдЖрдЙрдЯреНрд╕ рдмрджреНрджрд▓рдЪреА рд╕рд╛рдордЧреНрд░реА рджреЗрдЦреАрд▓ Istio рдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░рд┐рдд рдХреЗрд▓реА рдпреЗрдереЗ.)

Weaveworks рдлреНрд▓реЕрдЧрд░рд╕рд╣ рдХреЕрдирд░реА рддреИрдирд╛рддреА

Weaveworks рдзреНрд╡рдЬрд╛рдВрдХрд┐рдд рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЕрдирд░реА рд░реЛрд▓рдЖрдЙрдЯреНрд╕ рд╕рд╣рдЬ рдЖрдгрд┐ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдлреНрд▓реЕрдЧрд░ рдСрдЯреЛрдореЗрдЯ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рддрд╛рдд. рд╣реЗ рдЯреНрд░реЕрдлрд┐рдХ рдорд╛рд░реНрдЧ рдЖрдгрд┐ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Istio рдХрд┐рдВрд╡рд╛ AWS ре▓рдк рдореЗрд╢ рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Prometheus рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╡рд╛рдкрд░рддреЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдХреЕрдирд░реА рдЙрдкрдпреЛрдЬрдирд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реНрд╡реАрдХреГрддреА рдЪрд╛рдЪрдгреНрдпрд╛, рд▓реЛрдб рдЪрд╛рдЪрдгреНрдпрд╛ рдЖрдгрд┐ рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрдмрд╣реБрдХрд╕рд╣ рдкреВрд░рдХ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

Kubernetes рддреИрдирд╛рддреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрдгрд┐, рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдкреЙрдбреНрд╕рдЪреЗ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ (HPA), рдлреНрд▓реЕрдЧрд░ рдХреЕрдирд░реА рдЙрдкрдпреЛрдЬрдирд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреЗ рд╕рдВрдЪ (рдХреБрдмрд░рдиреЗрдЯ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯреНрд╕, рдХреНрд▓рд╕реНрдЯрд░рдЖрдпрдкреА рд╕реЗрд╡рд╛ рдЖрдгрд┐ Istio рдХрд┐рдВрд╡рд╛ ре▓рдк рдореЗрд╢ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╕реЗрд╡рд╛) рддрдпрд╛рд░ рдХрд░рддреЛ:

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

рдирд┐рдпрдВрддреНрд░рдг рд▓реВрдк рд▓рд╛рдЧреВ рдХрд░рдгреЗ (рдирд┐рдпрдВрддреНрд░рдг рд▓реВрдк),рдлреНрд▓реЗрдЧрд░ рд╣рд│реВрд╣рд│реВ рдХреЕрдирд░реА рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд░рд╣рджрд╛рд░реА рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ, рддреНрдпрд╛рдЪрд╡реЗрд│реА рдпрд╢рд╕реНрд╡реА HTTP рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреА рдЯрдХреНрдХреЗрд╡рд╛рд░реА, рд╕рд░рд╛рд╕рд░реА рд╡рд┐рдирдВрддреА рдХрд╛рд▓рд╛рд╡рдзреА рдЖрдгрд┐ рдкреЙрдб рд╣реЗрд▓реНрде рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдкреНрд░рдореБрдЦ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕рдЪреЗ рдорд╛рдкрди рдХрд░рддреЗ. KPI (рдХреА рдкрд░рдлреЙрд░реНрдордиреНрд╕ рдЗрдВрдбрд┐рдХреЗрдЯрд░реНрд╕) рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд, рдХреЕрдирд░реА рдПрдХрддрд░ рд╡рд╛рдврддреЗ рдХрд┐рдВрд╡рд╛ рдХреЛрд╕рд│рддреЗ рдЖрдгрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдЪреЗ рдкрд░рд┐рдгрд╛рдо рд╕реНрд▓реЕрдХрдордзреНрдпреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рд╡рд░реНрдгрди рдЖрдгрд┐ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рд╕рд╛рдордЧреНрд░реАрдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддреЗ ре▓рдк рдореЗрд╢рд╕рд╛рдареА рдкреНрд░рдЧрддреАрд╢реАрд▓ рд╡рд┐рддрд░рдг.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

рдЧрдбрдж (рд▓рдкрд▓реЗрд▓реЗ) рдХрд┐рдВрд╡рд╛ A/B рдЙрдкрдпреЛрдЬрди

рд╕реНрдЯреЗрд▓реНрде рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рд╣реА рдХреЕрдирд░реА рд╕реНрдЯреНрд░реЕрдЯреЗрдЬреАрдЪреА рдЖрдгрдЦреА рдПрдХ рднрд┐рдиреНрдирддрд╛ рдЖрд╣реЗ (рдЬреНрдпрд╛рдореБрд│реЗ, рдлреНрд▓реЕрдЧрд░ рджреЗрдЦреАрд▓ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЛ). рд╕реНрдЯреЗрд▓реНрде рдЖрдгрд┐ рдХреЕрдирд░реА рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯрдордзрд▓рд╛ рдлрд░рдХ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рд╕реНрдЯреЗрд▓реНрде рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдХреЕрдирд░реА рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рд╕рд╛рд░рдЦреНрдпрд╛ рдмреЕрдХрдПрдВрдб рдРрд╡рдЬреА рдлреНрд░рдВрдЯрдПрдВрдбрд╢реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛рдд.

рдпрд╛ рдЙрдкрдпреЛрдЬрдирд╛рдВрдЪреЗ рджреБрд╕рд░реЗ рдирд╛рд╡ A/B рдЪрд╛рдЪрдгреА рдЖрд╣реЗ. рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╕рд░реНрд╡ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреНрдпрд╛рдРрд╡рдЬреА, рддреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдкреИрдХреА рдХреЗрд╡рд│ рдорд░реНрдпрд╛рджрд┐рдд рднрд╛рдЧрд╛рдВрд╕рд╛рдареА рдСрдлрд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╣реЗ рдорд╛рд╣рд┐рдд рдирд╕рддреЗ рдХреА рддреЗ рдкрд╛рдпрдирд┐рдпрд░рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдХ рдЖрд╣реЗрдд (рдореНрд╣рдгреВрди "рд╕реНрдЯреЗрд▓реНрде рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ" рд╣рд╛ рд╢рдмреНрдж).

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реНрд╡рд┐рдЪ рд╡рд╛рдкрд░рдгреЗ (рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЯреЙрдЧрд▓) рдЖрдгрд┐ рдЗрддрд░ рд╕рд╛рдзрдиреЗ, рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рд╢реА рдХрд╕реЗ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд, рддреЗ рддреНрдпрд╛рдд рдЧреБрдВрддрд▓реЗрд▓реЗ рдЖрд╣реЗрдд рдХреА рдирд╛рд╣реА, рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рдВрдирд╛ рдирд╡реАрди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЧреЛрдВрдзрд│рд╛рдд рдЯрд╛рдХрдгрд╛рд░рд╛ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА, рдЖрдгрд┐ рдЗрддрд░ рдкреНрд░рдХрд╛рд░рдЪреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╣реЗ рддреБрдореНрд╣реА рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реВ рд╢рдХрддрд╛.

рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рддреИрдирд╛рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдзреЛрд░рдгреЗ: рд░реЛрд▓рд┐рдВрдЧ, рд░реАрдХреНрд░рд┐рдПрдЯ, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛, рдХреЕрдирд░реА, рдЧрдбрдж (A/B рдЪрд╛рдЪрдгреА)

рдлреНрд▓реЕрдЧрд░ рдЖрдгрд┐ A/B рдЙрдкрдпреЛрдЬрди

рд╡рдЬрди-рдЖрдзрд╛рд░рд┐рдд рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдлреНрд▓реЕрдЧрд░ HTTP рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдХреЕрдирд░реА рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд░рд╣рджрд╛рд░реА рджреЗрдЦреАрд▓ рд░реВрдЯ рдХрд░реВ рд╢рдХрддреЛ. A/B рдЪрд╛рдЪрдгреАрдордзреНрдпреЗ, рддреБрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рднрд╛рдЧрд╛рд▓рд╛ рд▓рдХреНрд╖реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА HTTP рд╢реАрд░реНрд╖рд▓реЗрдЦ рдХрд┐рдВрд╡рд╛ рдХреБрдХреАрдЬ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдлреНрд░рдВрдЯрдПрдВрдб рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдкреНрд░рднрд╛рд╡реА рдЖрд╣реЗ рдЬреНрдпрд╛рдВрдирд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╕рддреНрд░ рдмрдВрдзрдирдХрд╛рд░рдХ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рд╕рддреНрд░ рдЖрддреНрдореАрдпрддрд╛). рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреА рдлреНрд▓реЕрдЧрд░ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддреЗ.

рд▓реЗрдЦрдХ рдХреГрддрдЬреНрдЮрддрд╛ рд╡реНрдпрдХреНрдд рдХрд░рддреЛ рд╕реНрдЯреАрдлрди рдкреНрд░реЛрдбрди, Weaveworks рдЕрднрд┐рдпрдВрддрд╛ (рдЖрдгрд┐ Flagger рдЪреЗ рдирд┐рд░реНрдорд╛рддрд╛), рдпрд╛ рд╕рд░реНрд╡ рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рдЙрдкрдпреЛрдЬрди рдирдореБрдиреНрдпрд╛рдВрд╕рд╛рдареА.

рдЕрдиреБрд╡рд╛рджрдХрд╛рдХрдбреВрди рдкреБрдирд╢реНрдЪ

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

рд╕реНрддреНрд░реЛрдд: www.habr.com

DDoS рд╕рдВрд░рдХреНрд╖рдг, VPS VDS рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЦрд░реЗрджреА рдХрд░рд╛ ЁЯФе рдбреАрдбреЙрд╕ рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╡реНрд╣реАрдкреАрдПрд╕ (VPS) рд╡реНрд╣реАрдбреАрдПрд╕ (VDS) рд╕рд░реНрд╡реНрд╣рд░реНрд╕ рдЦрд░реЗрджреА рдХрд░рд╛ | ProHoster