+ All Categories
Home > Documents > SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an...

SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an...

Date post: 16-Mar-2021
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
33
SRS Technical Update Dave Baker & Taras Klish, .nz Conference 2017 • NZRS Operations • SRS Software Development
Transcript
Page 1: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

SRS Technical UpdateDave Baker & Taras Klish, .nz Conference 2017

•NZRS Operations

•SRS Software Development

Page 2: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

NZRS OperationsA brief journey

Page 3: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• Monthly development cycle

• Releases monthly / bi-monthly

• Releases included all the system configuration much of which was hard-coded.

In the beginning

3

Page 4: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• Monthly development cycle

• Releases monthly / bi-monthly

• System configuration pulled out but still many hard-coded config values

• Application / configuration releases at the same time

In-sourced + 1 day

4

Page 5: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• Monthly (application) development cycle

• Monthly / bi-monthly releases

• Almost all application config parameterised

• System config releases done hourly/daily/on-demand

Today

5

Page 6: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• The SRS application is quite stable, a monthly development cycle suits

• Code-base only needs small amounts of maintenance

• New features need much testing

• Slow and steady wins the ccTLD race

but.. why?

6

Page 7: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• System changes need to be fast; security updates, user management + auditing

• The same playbook deploys integration and production. Shared code is good

• Previously, hard-coded values meant testing was difficult, now running 20 separate clusters is no problem

• Parameters mean we can spin up a full SRS cluster, on a laptop, in 5 minutes finely tuned for any test

so why change ?

7

Page 8: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• Nothing special, just do it• Plan for flexibility, run-time parameters are good• Safe defaults• .nz as the default ccTLD

• Tools• Jenkins + vSphere for regression / integration• Ansible for configuration management• Vagrant for local machine testing

so, how ?

8

Page 9: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

What next ?• 100% automation • 99% is good, but we can do better

• Automated ansible testing • configuration assertion / unit testing

• Release all the things • So you can test too

9

Page 10: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• Whoisd

• SRS Web User Interface

• Future development

SRS Software Development

10

Page 11: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

Current architecture

Whoisd

11

whoisd

Backend

Frontend

Master DB

SRS internalas a special

registrarSRS WhoisTransaction

7-12 SQL queries

TCP

• ACL• Rate limiting

• Validation• Conversion to SRS

protocol

300 - 500 ms

Page 12: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

Current architecture

Whoisd

12

whoisd

Backend

Frontend

Master DB

SRS JSONas a special

registrarSRS WhoisTransaction

7-12 SQL queries

TCP

• ACL• Rate limiting

• Validation• Conversion to SRS

protocol

200 - 500 ms300 - 500 ms

Page 13: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

13

HA ProxyTCP

ACLRate Limiting

Page 14: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

14

HA Proxy

whoisd-ng

TCP

TCP

Validation

ACLRate Limiting

Page 15: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

15

HA Proxy

whoisd-ng

Slave DB

TCP

Slave DB

TCP

Validation

Postgres protocol

PL/pgSQLfunction…

ACLRate Limiting

Page 16: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

16

HA Proxy

whoisd-ng

PgBouncer

Slave DB

TCP

Slave DB

TCP

Validation

Postgres protocol

PL/pgSQLfunction…

ACLRate Limiting

Page 17: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

17

HA Proxy

whoisd-ng

PgBouncer

Slave DB

TCP

Slave DB

TCPDB Load Balancing

Failover

Validation

Postgres protocol

PL/pgSQLfunction…

Postgres protocol

ACLRate Limiting

Page 18: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

18

HA Proxy

whoisd-ng

PgBouncer

Slave DB

TCP

Slave DB

TCPDB Load Balancing

Failover

Validation

Postgres protocol

PL/pgSQLfunction…

Postgres protocol

ACLRate Limiting

10-50 ms

Page 19: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

19

HA Proxy

whoisd-ng

PgBouncer

Slave DB Slave DB…

10-50 msHA Proxy

whoisd-ng

PgBouncer

Page 20: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

New architecture

Whoisd

20

Slave DB

10-50 msHA Proxy

whoisd-ng

PgBouncer

Current status:

• Last stage of testing• Performance fine tuning• Scheduled deployment as a partof SRS Release 7.9 (28/05/2017)

Will be available on github

Page 21: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• Standalone application• Generates and submits SRS XML requests• Batch transactions• Advanced user management and audit• Helper tools• API• EPP support (future)

SRS Web User Interface

21

Page 22: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

22

SRS Transactions

HelperTools

Admin

Page 23: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

SRS Web User Interface

23

PreviewXML

Page 24: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

SRS Web User Interface

24

XMLRequest

Page 25: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

SRS Web User Interface

25

XMLResponse

Page 26: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

SRS Web User Interface

26

ParsedResults

Page 27: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

SRS Web User Interface

27

EmailResults

Page 28: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

SRS Web User Interface

28

Globalsettings

Page 29: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

SRS Web User Interface

29

Fine tuneuser

permissions

Page 30: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

SRS Web User Interface

30

• Full turnkey solution (a web server, a DB, an application)

• Not a part of SRS deployment cycle, so will be released independently

• Will be available on github as open source

• Will be available as an appliance

Page 31: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

• New EPP extensions (new UDAI)

• RDAP

• EPP Server rewrite

• Internal communications improvements

Future SRS Development

31

Page 32: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Technical Update #dotnz17

Questions?

SRS Technical Update

32

Page 33: SRS Technical Update...SRS Web User Interface 30 • Full turnkey solution (a web server, a DB, an application) • Not a part of SRS deployment cycle, so will be released independently

Contact:www.nzrs.net.nz

[email protected]

Thank you


Recommended