~/talk

Kotlin Runs Taxes in Norway

Talkat KotlinConf 2019 · 2019-12-04..12-06· [microservices, kotlin]
links:none on file
links:none on file
slides:none on file

Norwegian Tax Administration runs production services in Kotlin across its cloud platform using Kotlin coroutines, Spring Boot (WebFlux), Vertex and Kafka; about 500 services, ~6.5k VMs and ~140k deploys so far this year give scale. A provisioning storyteller service implements async environment creation and works, but suspended functions expose gaps with Spring Security and some libraries. Build scripts move to Kotlin Gradle but suffer sluggishness and plugin quirks (swagger plugin). Internal DSLs (Playground-based test-data generator and tax-rule DSL) let domain experts author many real rules and prove effective.

AI-written summary · about

  1. 0:00Introduction
  2. 1:44Who are we
  3. 2:15About me
  4. 2:48About the talk
  5. 3:17About the Norwegian Tax Administration
  6. 4:13About the NTA
  7. 4:39About NTA
  8. 5:02Sprocket
  9. 5:51Documentation
  10. 6:13Custom configu
  11. 6:27Open source mentality
  12. 6:50Java compatibility
  13. 7:25Developer satisfaction
  14. 8:13NTIA satisfaction
  15. 8:56What we learned
  16. 10:18The Storyteller
  17. 10:39Infrastructure
  18. 11:25Segments
  19. 12:16APIs
  20. 12:43Tech Stack
  21. 13:33General Experience
  22. 14:07General Annoyances
  23. 14:24Injecting
  24. 15:26Auto Wiring
  25. 15:55Spring Security
  26. 17:20Suspended Flows
  27. 17:35Web Flux
  28. 18:23Spring Boot Endpoint
  29. 19:22Spring Boot Extensions
  30. 20:12Web Client
  31. 21:05Weight Exchange
  32. 21:45Mono Exchange
  33. 22:51Summary
  34. 24:09Coupling Gradle
  35. 24:27Cons
  36. 25:06Example
  37. 25:55Advantages
  38. 27:14DomainSpecific Languages
  39. 27:58External vs Internal DSL
  40. 28:54Use Cases
  41. 29:12Background
  42. 30:05Copeland Playground
  43. 31:10Browser
  44. 31:36Domain Expert
  45. 34:02Content Server
  46. 35:17Tax Process
  47. 36:36Rules
  48. 37:35Workinprocess
  49. 38:24Metadata
  50. 38:50Custom solution
  51. 39:07Backend
  52. 39:38Key takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.