coldfusion im enterprise umfeld - deep dive
Post on 03-Jul-2015
243 Views
Preview:
DESCRIPTION
TRANSCRIPT
ColdFusion im Enterprise Umfeld - Deep DiveCFCamp, Germering, 20. Oktober 2014
ColdFusion im Enterprise Umfeld
© Richard Carey, Fotolia.com
Coldfusion Configuration
-Star ter Edition-
WebserverColdfusion Server
Datenbank
Developer
All-in-one-Ser ver
Content Management System
(CMS)
Content Management
• Out-of-the-Box Features• Flexibilität (Framework)• Skalierbarkeit• Personalisierung• Web 2.0• Staging• Usability• Zukunftssicherheit
Ein professioneller Auswahlprozeß ist unerläßlich
Front-und Backend immer auf getrennten Servern
Redaktion / StagingWeb
Trennung von Front- und Backend
DB und CF-Server immer trennen
Redaktion / StagingWeb
DB-Ser ver
Zur Ausfallsicherheit Datenbank immer replizieren
Redaktion / StagingWeb
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
Cluster ing
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
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
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 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
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
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, Ziel)• Google Layout• Indiziert dynamischen Content schlecht• Kann hohe Serverlast erzeugen
Externe Suche ist nur eine Notlösung
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
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
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 dem Livesystem • Einheitliche Konfiguration !!!
(komisch, bei mit gings...)• Zentrales Update, Backup etc.
Einheitliche Entwicklungsumgebung für alle
Entwickler schaffen
Zeit was zu entwickeln
Entwicklung
Web1
CDN
Web2
Redaktion
GIT
DEV
RedLive
Dev
Versionsverwaltung
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
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
Kein Update ohne Test
Testing und Q&A
Web1
CDN
Web2
Redaktion
GIT
DEV
RedLive
Dev
Q&AWeb2
Q&A Redaktion
Q&A Web1
Test
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
Bugtracking
Bugtracker
Ticketing
Bugtracker
Ticketing
Bugtracker
Ticketing
Bereit zum Einsatz
Fer tig
Web1
CDN
Web2
Redaktion
GIT
DEV
RedLive
Dev
TestQ&AWeb2
Q&A Redaktion
Q&A Web1
Applikations-entwicklung
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
Entwicklung
• Lokalisierung in CF ist unzureichend• Eigene Datumsformatierungen• Zeitzonen• Alternativfelder vorsehen • Andere Sprachen / Darstellungen
berücksichtigen (RTL)
Komfortfunktionen sind meist zu unflexibel
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
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
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
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
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
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 Proskeproske@bokowsky.de
Bokowsky + Laymann GmbHwww.bokowsky.de@BokowskyLaymannsowie auf Facebook, Slideshare, YouTube, Flickr
P.S: Bokowsky + Laymann sucht ColdFusion EntwicklerFest oder Frei.
jobs@bokowsky.de oder im Social Network Ihres Vertrauens
top related