Durch den Einzug von Cloud Computing erleben wir in der IT ein Wandel von Infrastructure as a Serivce (IaaS) über Software as a Serivce (SaaS) & Platform as a Service (PaaS) bis hin zu Function as a Service (FaaS) – auch bekannt unter dem Begriff Serverless Computing. Die Vorteile liegen dabei auf der Hand: bedarfsgerechte Abrechnung, schnelle und hohe Skalierbarkeit und eine einfache Möglichkeit den Ansatz von Microservices schnell und einfach umzusetzen. Der Einsatz von FaaS nimmt stark zu – auch wenn gleich viele diese Funktionen nur als kleine Helferlein benutzen und selten fester Bestandteil in einer Anwendung sind. Wie die Haufe.Group es geschafft hat, ganze Workflows und eine ganze Applikation rein auf FaaS aufzubauen und über 100 verschiedene Funktionen orchestriert bekommt, wird der Fokus des Vortrags sein. Dabei steht im Mittelpunkt das Analysieren & Importieren mehrere tausend Dokumente pro Sekunde. Zur Bewältigung dieser Aufgabe setzt die Haufe.Group auf die AWS Cloud und deren Services, wie auch das OpenSource Framework „Serverless Framework“ auf die im Vortrag eingegangen wird.
4. From monolith to serverless
Focus on business logic
Levelofabstraction
• Deploy in weeks
• High maintenance
• Limited scaling & “guess“ planing
• Faster provisioning
• Reduced maintenance
• More scale & flexible resources
• Fast & Easy Deployment
• Higher resource utilization
• Platform independent
Physical server
VMs
Containers
Serverless
• Deploy in seconds
• Continous scaling
• Zero Maintenance &
pay per usage
5. From monolith to serverless
No servers to provision
or manage
Scales automatically
with usage
Built-in availability
and fault tolerance Never pay for idle
13. Haufe Redaktionssystem (HRS)
• In-house developed CMS (20 years old)
• Based on old technologies
• (Zope, Python2, Oracle…)
• Large monolith with different subcomponents
• Import, processing, export of content
• Many work aids for the editors & authors
HRS
Artikel-
box
Docu-
ments
Autoren
Tool
EDB
XMetal
Lauf-
listen
Autoren
DB
Normen
DB
Toolbox
Medien
DB
Stichwort
DB
14. Entscheidungsdatenbank (EDB)
• HRS component for court decision
• 500.000 court decision
• 40.000 judgment commenteries
• 20.000 lawsuits
• More than 1.4 Mio. Citiazitions
• Oldest component of the HRS Monolith
• Technology components:
• Backend: Oracle 11 + Python2 + Perl
• Frontend: MS Access XP
• Workflows: Perl Skripten + Office 2010 VB macros
• Complex import and export workflows
HRS
Artikel-
box
Docu-
ments
Autoren
Tool
EDB
XMetal
Lauf-
listen
Autoren
DB
Normen
DB
Toolbox
Medien
DB
Stichwort
DB
16. Re-Engineering of the HRS
• Breaking down the monolith
• First component to replace: EDB
• Future-proof: Use of state-of-the-art technology
• Low maintenance effort: use of services
• Fast and affordable workflows: Process millions of documents
31. Benefits of Serverless
• Cost savings (Never pay for idle)
• 10 imports per month with 1,000 to 10,000 files each - as fast as possible (scalability)
$79,65
$42,92
$0,89
$4,52
$0,97
16 X T2.NANO 1 X T2.MEDIUM 16 LAMBDAS
Idle Needed
~95% payed for IDLE
33. Benefits of Serverless
• Cost savings (Never pay for idle)
• 10 imports per month with 1,000 to 10,000 files each - as fast as possible
(scalability)
• Easy to extend and maintain
• Add, change or delete functions (microservice-approach)
• Configuration of each step (Failure-Handling, Resources)
• „No server is easier to manage than no server“
• Simple transformation of a monolith into microservices
34. Looking forward
• Our Bottleneck:
RDS database and its limited scaling
• Costs associated with failover functions : 5%
• High costs for the operation of ES: 25%
(even ES is only needed for export queries)
35. Thank you!
Nils Rhode // Haufe Group
nils.rhode@haufe-lexware.com
https://www.linkedin.com/in/nils-rhode/
Demo (Data Processing): https://dataprocessing.wildrydes.com/
Demo (Web App): https://github.com/aws-samples/aws-serverless-workshops/tree/master/WebApplication