ColdFusion im Enterprise Umfeld 
ColdFusion im Enterprise Umfeld - Deep Dive 
CFCamp, Germering, 20. Oktober 2014 
© Richa...
Coldfusion 
Configuration 
-Star ter Edition-
Webserver 
Coldfusion Server 
Datenbank 
All-in-one-Ser ver 
Developer
Content 
Management System 
(CMS)
Content 
Management 
• Out-of-the-Box Features 
• Flexibilität (Framework) 
• Skalierbarkeit 
• Personalisierung 
• Web 2....
Web Redaktion / Staging 
Front-und Backend immer auf 
getrennten Servern 
Trennung von Front- und 
Backend
Web Redaktion / Staging 
DB und CF-Server immer trennen 
DB-Server
Web Redaktion / Staging 
Zur Ausfallsicherheit 
Datenbank immer replizieren 
Master-Slave- 
Replikation
Mindestens zwei unabhängige 
Webserver 
Redaktion / Staging 
Web 1 
Web 2 
Webser ver
Redaktion / Staging 
Web 1 
Web 2 
Webser ver 
Mindestens zwei unabhängige 
Webserver
Clustering
Coldfusion 
Cluster 
• Performance 
• Session Replikation aufwändig 
• unzuverlässiges Feature 
• Loadbalancer schon für d...
Loadbalancer mit 
Sticky Sessions 
• skaliert besser 
• schneller 
• geringer Konfigurationsaufwand 
Aber: 
• Sessionverlu...
Redaktion / Staging 
Web 1 
Web 2 
CDN 
Webser ver 
Mindestens zwei unabhängige 
Webserver
Akamai 
• Server über die ganze Welt verteilt 
• Eigene Leitungen 
• Speichert alle statischen Objekte 
• Greift nur auf d...
Akamai 
• Kann dynamische Objekte in 
statische Seiten einbauen (SSI/ESI) 
• Kann auch dynamische Seiten 
speichern 
• Bie...
Dedizierte Suche nimmt Last 
vom Applikationsserver 
Redaktion / Staging 
Web 1 
Web 2 
CDN 
Suche
Externe Suche 
(Google) 
• Passiert sowieso 
• Verbraucht keine eigenen Ressourcen 
• Schlecht steuerbar (Zeit, Umfang, Zi...
Interne Suche 
(Lucene) 
• Kostenlos 
• Unabhängig 
• Grosse Community 
• Kein Support 
• Zu wenige Sprachen 
• Schlechtes...
Interne Suche 
(GSA) 
• Kann alle Sprachen 
• Stemming 
• Reaktion auf spezielle Codewörter 
• Drei Arten der Indizierung:...
Zeit was zu entwickeln 
Entwicklung 
Web1 
CDN 
Web2 
Redaktion
Zeit was zu entwickeln 
Entwicklung 
Web1 
CDN 
Web2 
Redaktion 
DEV
Zentrale 
Entwicklung 
• Instanzen auf einem Server 
• Vollständiger Content des Livesystems 
• Konfiguration entspricht d...
Zeit was zu entwickeln 
Entwicklung 
Web1 
CDN 
Web2 
Redaktion 
GIT 
DEV 
Red 
Live 
Dev
Versionsverwaltung
Versions-verwaltung 
• Früher SVN / CVS, heute GIT / Mercurial 
• Verteilte Versionskontrolle 
• GIT mag keine Netzlaufwer...
Versions-verwaltung 
• Kein direkter Zugang der Entwickler zum 
Livesystem 
• Verschiedene kleine Repositories für 
Applik...
Kein Update ohne Test 
Testing und Q&A 
Web1 
CDN 
Web2 
Redaktion 
GIT 
DEV 
Red 
Live 
Dev 
Q&A 
Web2 
Q&A 
Redaktion 
Q...
Testing und Q&A 
• Nichts kommt ohne Test auf das Livesystem 
• Q&A ist kein Test- sondern Kontrollsystem 
• Endabnahme ne...
Bugtracking
Bugtracker 
Ticketing
Bugtracker 
Ticketing
Bugtracker 
Ticketing
Bereit zum Einsatz 
Fer tig 
Web1 
CDN 
Web2 
Redaktion 
GIT 
DEV 
Red 
Live 
Test 
Dev 
Q&A 
Web2 
Q&A 
Redaktion 
Q&A 
W...
Applikations-entwicklung
Entwicklung 
• Zukunftssicherheit bei der Produkt / 
Framework- Wahl 
• Nach Möglichkeit Kommunikation über 
Webservices 
...
Entwicklung 
• Lokalisierung in CF ist unzureichend 
• Eigene Datumsformatierungen 
• Zeitzonen 
• Alternativfelder vorseh...
Multiser ver 
• Trennung von Front- und Backend 
• Nach Aussen nur benötigte Funktionen zur 
Verfügung stellen 
• User kön...
CDN 
• Von Anfang an mit planen 
• Möglichst viel statischer Content 
• Dynamische Daten nachladen 
• Nur Content laden, k...
Suche 
• Beim Aufbau mit planen 
• Dynamischer Content sollte direkt beim 
erzeugen gepusht werden 
• Dynamischer Content ...
Entwicklung / 
Testing 
• Realistische Datenbasis und Umgebung in 
der Entwicklung 
• Kein root! 
• Abläufe entkoppeln und...
Performance 
• Virtuelle Server lassen sich leicht bei RAM 
und CPU skalieren 
• Bottlenecks sind meist DB, Filesystem und...
Club Mate and 
fritz-kola for free 
Come and see us
AND 
Oculus Rift 
Come and see us
Diese Folien und noch 
viel mehr gibt‘s unter 
www.bokowsky.net/de/knowledge-base/
Vielen Dank 
Matthias Proske 
proske@bokowsky.de 
Bokowsky + Laymann GmbH 
www.bokowsky.de 
@BokowskyLaymann 
sowie auf Fa...
ColdFusion im Enterprise Umfeld - Deep Dive
Nächste SlideShare
Wird geladen in …5
×

ColdFusion im Enterprise Umfeld - Deep Dive

636 Aufrufe

Veröffentlicht am

Dank vieler praktischer Funktionen können Entwickler unter ColdFusion relativ schnell und einfach Applikationen entwickeln und produktiv einsetzen.

Doch wie sieht es aus wenn diese Applikationen dann intensiv genutzt werden? Von hunderttausenden Usern in unzähligen Ländern, Sprachen und Zeitzonen? Wenn Inhalte laufend generiert und abgefragt werden?

Dieser Talk zeigt, wie ColdFusion in einem Enterprise Projekt eingesetzt werden kann. Welche Architektur für einen sicheren Betrieb rund um die Uhr und die Welt benötigt wird. Welche ColdFusion Enterprise-Funktionen gebraucht werden und welche nicht, welche überhaupt funktionieren, welche Lektionen wir im praktischen Einsatz gelernt haben und warum Optimierungen im Milisekunden-Bereich tatsächlich Tage sparen können.

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
636
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
37
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

ColdFusion im Enterprise Umfeld - Deep Dive

  1. 1. ColdFusion im Enterprise Umfeld ColdFusion im Enterprise Umfeld - Deep Dive CFCamp, Germering, 20. Oktober 2014 © Richard Carey, Fotolia.com
  2. 2. Coldfusion Configuration -Star ter Edition-
  3. 3. Webserver Coldfusion Server Datenbank All-in-one-Ser ver Developer
  4. 4. Content Management System (CMS)
  5. 5. Content Management • Out-of-the-Box Features • Flexibilität (Framework) • Skalierbarkeit • Personalisierung • Web 2.0 • Staging • Usability • Zukunftssicherheit Ein professioneller Auswahlprozeß ist unerläßlich
  6. 6. Web Redaktion / Staging Front-und Backend immer auf getrennten Servern Trennung von Front- und Backend
  7. 7. Web Redaktion / Staging DB und CF-Server immer trennen DB-Server
  8. 8. Web Redaktion / Staging Zur Ausfallsicherheit Datenbank immer replizieren Master-Slave- Replikation
  9. 9. Mindestens zwei unabhängige Webserver Redaktion / Staging Web 1 Web 2 Webser ver
  10. 10. Redaktion / Staging Web 1 Web 2 Webser ver Mindestens zwei unabhängige Webserver
  11. 11. Clustering
  12. 12. Coldfusion Cluster • Performance • Session Replikation aufwändig • unzuverlässiges Feature • Loadbalancer schon für den Webserver vorhanden • Vorteil in der Applikationsentwicklung begrenzt (Skalierung) Aufwand für ein Coldfusion Cluster lohnt sich nicht
  13. 13. Loadbalancer mit Sticky Sessions • skaliert besser • schneller • geringer Konfigurationsaufwand Aber: • Sessionverlust bei Ausfall • Applikationen müssen angepasst sein Loadbalancing über seperaten Loadbalancer ist oft einfacher
  14. 14. Redaktion / Staging Web 1 Web 2 CDN Webser ver Mindestens zwei unabhängige Webserver
  15. 15. Akamai • Server über die ganze Welt verteilt • Eigene Leitungen • Speichert alle statischen Objekte • Greift nur auf den Origin zu wenn Daten nicht vorhanden oder invalide • Sucht zuerst auf anderen EDGE-Servern • Webservice zum invalidieren CDN übernimmt die Last für statische Objekte
  16. 16. Akamai • Kann dynamische Objekte in statische Seiten einbauen (SSI/ESI) • Kann auch dynamische Seiten speichern • Bietet Sureroutes für dynamischen Content CDN übernimmt die Last für statische Objekte
  17. 17. Dedizierte Suche nimmt Last vom Applikationsserver Redaktion / Staging Web 1 Web 2 CDN Suche
  18. 18. Externe Suche (Google) • Passiert sowieso • Verbraucht keine eigenen Ressourcen • Schlecht steuerbar (Zeit, Umfang, Ziel) • Google Layout • Indiziert dynamischen Content schlecht • Kann hohe Serverlast erzeugen Externe Suche ist nur eine Notlösung
  19. 19. Interne Suche (Lucene) • Kostenlos • Unabhängig • Grosse Community • Kein Support • Zu wenige Sprachen • Schlechtes Stemming • Aufwändige Implementierung • User sind Google gewöhnt Lucene Einsatz verlangt Aufbau von Know-How
  20. 20. Interne Suche (GSA) • Kann alle Sprachen • Stemming • Reaktion auf spezielle Codewörter • Drei Arten der Indizierung: Crawlen, Content Pushen, URL Pushen • Kann auch Datenbanken durchsuchen Google gibts auch für Zuhause
  21. 21. Zeit was zu entwickeln Entwicklung Web1 CDN Web2 Redaktion
  22. 22. Zeit was zu entwickeln Entwicklung Web1 CDN Web2 Redaktion DEV
  23. 23. Zentrale Entwicklung • Instanzen auf einem Server • Vollständiger Content des Livesystems • Konfiguration entspricht dem Livesystem • Einheitliche Konfiguration !!! (komisch, bei mit gings...) • Zentrales Update, Backup etc. Einheitliche Entwicklungsumgebung für alle Entwickler schaffen
  24. 24. Zeit was zu entwickeln Entwicklung Web1 CDN Web2 Redaktion GIT DEV Red Live Dev
  25. 25. Versionsverwaltung
  26. 26. Versions-verwaltung • Früher SVN / CVS, heute GIT / Mercurial • Verteilte Versionskontrolle • GIT mag keine Netzlaufwerke • GIT vergisst nichts • Eigener Server (z.B. Atlassian) oder Github Keine Entwicklung ohne Versionskontrolle
  27. 27. Versions-verwaltung • Kein direkter Zugang der Entwickler zum Livesystem • Verschiedene kleine Repositories für Applikationen, kein grosses • Verschiedene Branches für unterschiedliche Server (Dev/Red/Web etc.) • Automatisches Deployment (Stash vor jedem Update) Keine Entwicklung ohne Versionskontrolle
  28. 28. Kein Update ohne Test Testing und Q&A Web1 CDN Web2 Redaktion GIT DEV Red Live Dev Q&A Web2 Q&A Redaktion Q&A Web1 Test
  29. 29. Testing und Q&A • Nichts kommt ohne Test auf das Livesystem • Q&A ist kein Test- sondern Kontrollsystem • Endabnahme neuer Funktionen durch den Kunden • Kopie der Live-Architektur • Automatisierte Rückspielung der Live-Daten • Eigener Branch Kein Update ohne Test
  30. 30. Bugtracking
  31. 31. Bugtracker Ticketing
  32. 32. Bugtracker Ticketing
  33. 33. Bugtracker Ticketing
  34. 34. Bereit zum Einsatz Fer tig Web1 CDN Web2 Redaktion GIT DEV Red Live Test Dev Q&A Web2 Q&A Redaktion Q&A Web1
  35. 35. Applikations-entwicklung
  36. 36. Entwicklung • Zukunftssicherheit bei der Produkt / Framework- Wahl • Nach Möglichkeit Kommunikation über Webservices • Nie auf das Netz verlassen • Coldfusion - Frontend Funktionen (<cfmediaplayer> etc.) sind meist zu unflexibel Komfortfunktionen sind meist zu unflexibel
  37. 37. Entwicklung • Lokalisierung in CF ist unzureichend • Eigene Datumsformatierungen • Zeitzonen • Alternativfelder vorsehen • Andere Sprachen / Darstellungen berücksichtigen (RTL) Komfortfunktionen sind meist zu unflexibel
  38. 38. Multiser ver • Trennung von Front- und Backend • Nach Aussen nur benötigte Funktionen zur Verfügung stellen • User können auf unterschiedlichen Servern landen • Session Verlust berücksichtigen Nur das nötigste nach aussen zur Verfügung stellen
  39. 39. CDN • Von Anfang an mit planen • Möglichst viel statischer Content • Dynamische Daten nachladen • Nur Content laden, kein Layout • CDN kann als Cache genutzt werden • Content muss bei Änderung zum richtigen Zeitpunkt invalidiert werden CDN als Entlastung nutzen
  40. 40. Suche • Beim Aufbau mit planen • Dynamischer Content sollte direkt beim erzeugen gepusht werden • Dynamischer Content kann unnötige Einträge erzeugen (Filterung) Suche von Anfang an einplanen
  41. 41. Entwicklung / Testing • Realistische Datenbasis und Umgebung in der Entwicklung • Kein root! • Abläufe entkoppeln und parallelisieren (ActiveMQ etc.) • Dimensionen beachten • Sprachen beachten Eine realistische Testumgebung schaffen
  42. 42. Performance • Virtuelle Server lassen sich leicht bei RAM und CPU skalieren • Bottlenecks sind meist DB, Filesystem und Netzwerk • Nie auf das Netzwerk oder externe Systeme verlassen Filesystem und DB skalieren oft nur mit sehr grossem Aufwand
  43. 43. Club Mate and fritz-kola for free Come and see us
  44. 44. AND Oculus Rift Come and see us
  45. 45. Diese Folien und noch viel mehr gibt‘s unter www.bokowsky.net/de/knowledge-base/
  46. 46. Vielen Dank Matthias Proske proske@bokowsky.de Bokowsky + Laymann GmbH www.bokowsky.de @BokowskyLaymann sowie auf Facebook, Slideshare, YouTube, Flickr P.S: Bokowsky + Laymann sucht ColdFusion Entwickler Fest oder Frei. jobs@bokowsky.de oder im Social Network Ihres Vertrauens

×