is the apache directory server the new challenger to fedorads and openldap ? emmanuel lécharny...

31
Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek <[email protected]>

Upload: elijah-butler

Post on 12-Jan-2016

231 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

Is the

Apache Directory Server the new

challenger to FedoraDS and OpenLDAP ?

Emmanuel LécharnyIktek

<[email protected]>

Page 2: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

2

Planning

•1- Introduction•2- Features comparison•3- Compared performances•4- Future evolutions•5- Conclusion...•6- Q&A

Page 3: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

3

1-Introduction

Page 4: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

4

2-1 Functionalities

Page 5: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

5

Generalities

ApacheDS FedoraDS OpenLDAPLdapV3 Code Java C/C++ C/C++Documentation Well, err... Extensive SpareBooks None None 2Licence ASL 2.0 GPL OPLBacked by organizationApache RedHat ManyOrigin Genuine Michigan university

Page 6: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

6

Technical elements

ApacheDS FedoraDS OpenLDAPInstallation Installer Installer Package/buildBackend JDBM RDBMS allowed BDB, GDB...Transaction RDBMS ExtensionMulti-backend Yes Replication Mitosis M/M 4 ways M-M M-SSchema Compilation Dynamic/GUI Static/filesReferrals Attribute Encryption Subtrees specification

Page 7: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

7

Security

ApacheDS FedoraDS OpenLDAPSSL V3 TLS Soon... SASL Soon... ACIs Partial ?Attribute Encryption

Page 8: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

8

2-2 Apache DS

Page 9: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

9

Apache DS structure

Page 10: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

10

Apache Directory Server• Full RFCs compliance• Embeddable• Layered architecture• Extensible (Kerberos, DNS, DHCP...)• Implements X500 Administrative

model• Written in Java => multi-platform

Page 11: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

11

Apache DS X500 extensions

•X.500 Directory Administrative Model

•Basic Access Control Scheme•Collective Attributes•Subentries

Page 12: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

12

Subentries

• Selections• Exclusions• Levels• Filtering• ...

Page 13: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

13

ADS drawbacks• It's young !• Lot of bugs to be fixed (memory leaks)• Replication is to be delivered by october• Large object remains in memory• Backend : JDBM only at the moment• Documentation is lacking• It's a large piece of software, and we are

few working on it...

Page 14: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

14

3- Performance

Page 15: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

15

Tests

•3 tests :•Added 10K users•Random search through the base

•Delete all the 10K users•“Out of the box” installation• We just wanted to know if we are

really bad ;)

Page 16: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

16

Users• Use of MakeLdif to create users :

dn: uid=user.3776,ou=People,dc=cs,dc=hacettepe,dc=edu,dc=trobjectClass: topobjectClass: personobjectClass: organizationalPersonobjectClass: inetOrgPersongivenName: Janeczkasn: Favreaucn: Janeczka Favreauinitials: JFuid: user.3776mail: [email protected]: passwordtelephoneNumber: 510-586-6567homePhone: 143-449-3159pager: 012-704-9314mobile: 105-287-9092employeeNumber: 3776street: 55438 Ash Streetl: Steubenvillest: MTpostalCode: 77097postalAddress: Janeczka Favreau$55438 Ash Street$Steubenville, MT 77097description: This is the description for Janeczka Favreau.

Page 17: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

17

Typical search request

• Search for a single user, randomly picked

• Perform 10K searches• The cache is not likely to be used at run 1

• 10 runs• The fastest and slowest are removed

uid=user.@,ou=People,dc=cs,dc=hacettepe,dc=edu,dc=tr

Page 18: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

18

Insertion/deletion

Row 90

100

200

300

400

500

600Add 10K users

ADS AddFDS AddOL Add

Servers

Tim

e in s

eco

nds

Row 190

100

200

300

400

500

600Delete 10K users

ADS DelFDS DelOL Del

Servers

Tim

e in s

eco

nds

(Smaller pyramids is better)

Page 19: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

19

Search run

1

2

5

8

10

15

20

100

0

400

800

1200

1600

Ldap servers performance test : random search

ADS

FDS

OL

Nb threads

Searc

h R

eq/s

Page 20: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

20

Performance issues

• Better cache mechanism needed• ASN.1 codec can be improved (15% total)• Needeless Attribute checking (12% total)• DN processing optimization (10% total)• Serialization improvement• Some operations are done many times• Backend is not optimal• Memory allocation => GC

Page 21: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

21

What has already been done

• DN comparison improved : ADS 4x times faster !!! (with a single line modified :)• One day to work this out• Thanks to yourKit profiler!

• ASN.1 codec is much faster (10x)• 6 months of work, 40 000 SLOCs

• LdapDN is 2.7x faster than LdapName• 2 months of work, difficult to merge in

ADS :(

Page 22: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

22

4- Evolution

Page 23: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

23

Backend

• JDBM is the actual backend• Berkely DB JE© is a possible target• RDBMS soon...• Needs :

• Fast backend• Reliable backend

• Transactions support

Page 24: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

24

Tooling (RCP- Eclipse plugin)

• Start/Stop• Import/export

• LDIF• DSML 1.0/2.0

• UI Schema Manager• Ldap Browser• Ldap Proxy

Page 25: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

25

Replication• Replication is a must-have

• Master-Slave replication (OpenLDAP) OR• Multi-Master replication (FDS)

• RFC 3384 => Multi Master replication• Draft by Zeilenga says : 'LDAP Multi-

master Replication Considered Harmful'

• What about ADS ?

Page 26: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

26

SP and Triggers

• SP : stored procedure• Support Java language, but scripting

languages as Janino or Jython may be added later

• Ease some management operations

• Triggers with pre/post operations• Fine grained replication • E-Provisioning

Page 27: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

27

Standards• New RFCs : RFCs 4510 -> 4519

• Better X500 compliance• Internationalization explained• Clarification on previous RFCs• Imply some modification, but not so

much.

• Collectives attributes support (RFC 3671)

• Subentries support (RFC 3672)

Page 28: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

28

5-Conclusion

Page 29: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

29

Links• Apache Directory Server site and

documentation :• http://directory.apache.org/

• http://directory.apache.org/subprojects/apacheds/features.html

• http://directory.apache.org/subprojects/apacheds/index.html

• http://directory.apache.org/subprojects/mina/index.html

• Articles• http://www-128.ibm.com/developerworks/opensource/edu/os-dw-os-ag-ld

ap1.html

• http://www-128.ibm.com/developerworks/java/library/j-apacheds1/

• http://www-128.ibm.com/developerworks/java/library/j-apacheds2/

• http://www.screaming-penguin.com/main.php?storyid=4972

Page 30: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

30

Thanks !• Alex Karasulu, “the brain” !• Trustin Lee, Mina's father• Ersin Er, Sp and Triggers• Stefan Zoerner, tests and docos• Brett Porter, Maven and now MVN :)• And Peter Royal, Cyrille Leclerc, Stéphane

Bailliez, Pierre-Arnaud Marcelot for their help and support !

Special thanks to Zinedine Zidane !

Page 31: Is the Apache Directory Server the new challenger to FedoraDS and OpenLDAP ? Emmanuel Lécharny Iktek

31

6-Q&A