[{"data":1,"prerenderedAt":2917},["ShallowReactive",2],{"blog-current-a-tribute-to-our-dev-ops-en":3,"blog-previous-a-tribute-to-our-dev-ops-en":1290,"blog-next-a-tribute-to-our-dev-ops-en":1308,"blog-alt-de-a-tribute-to-our-dev-ops-en":1322,"blog-alt-en-a-tribute-to-our-dev-ops-en":1324,"employee-jens-bornschein":1325,"related-refs-devops--en":1414,"content-query-Dmf1CQj4Id":1442,"content-query-abDu7ax1qT":1513,"content-query-1PFeYVQSzn":2802,"content-query-vhr2h3d1hs":2886},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"author":10,"image":11,"releaseDate":12,"blogCategories":13,"articleTags":15,"tags":17,"body":19,"_type":1284,"_id":1285,"_source":1286,"_file":1287,"_stem":1288,"_extension":1289},"/en/blog/a-tribute-to-our-dev-ops","blog",false,"","A Tribute to Our Dev Ops","Web applications are mostly developed and tested in a dev environment - however the true endurance test comes from practical scenarios on the prod systems.","jens-bornschein","/images/dev-ops-dark.svg","2025-03-31",[14],"What Moves Us",[16],"DevOps",[18],"devops",{"type":20,"children":21,"toc":1273},"root",[22,32,55,62,109,175,187,193,203,244,253,285,325,334,367,386,430,436,445,477,522,548,558,575,581,590,619,741,745,789,795,804,856,887,911,942,960,966,975,1007,1026,1062,1081,1107,1119,1125,1134,1160,1217,1223,1251,1263],{"type":23,"tag":24,"props":25,"children":31},"element","img",{"alt":26,"aspect-ratio":27,"height":28,"object-fit":29,"src":30},"A person holding a sticker with the word \"Dev-ops\" wright in front of the camera","2.07",300,"fill","/blog/person_holding_devops_sticker.jpg",[],{"type":23,"tag":33,"props":34,"children":38},"span",{"className":35},[36,37],"text-right","text-caption",[39],{"type":23,"tag":40,"props":41,"children":42},"p",{},[43],{"type":23,"tag":44,"props":45,"children":46},"em",{},[47],{"type":23,"tag":48,"props":49,"children":51},"a",{"href":50},"https://www.pexels.com/photo/person-holding-a-sticker-11035393/",[52],{"type":53,"value":54},"text","Photo by RealToughCandy.com",{"type":23,"tag":56,"props":57,"children":59},"h2",{"id":58},"why-developing-a-web-application-is-only-the-beginning",[60],{"type":53,"value":61},"Why developing a (web) application is only the beginning",{"type":23,"tag":40,"props":63,"children":64},{},[65,67,72,74,79,81,86,88,93,95,100,102,107],{"type":53,"value":66},"Web applications are mostly developed and tested in a ",{"type":23,"tag":44,"props":68,"children":69},{},[70],{"type":53,"value":71},"Dev",{"type":53,"value":73}," environment (Development environment) - however the\nactual endurance test takes place on the ",{"type":23,"tag":44,"props":75,"children":76},{},[77],{"type":53,"value":78},"Prod",{"type":53,"value":80}," systems (Production environment). Here, ",{"type":23,"tag":82,"props":83,"children":84},"strong",{},[85],{"type":53,"value":16},{"type":53,"value":87}," (short for\n",{"type":23,"tag":44,"props":89,"children":90},{},[91],{"type":53,"value":92},"Development Operations",{"type":53,"value":94},", representing the close integration between development and IT operations) plays a key role.\nEspecially with web applications on ",{"type":23,"tag":82,"props":96,"children":97},{},[98],{"type":53,"value":99},"Linux servers",{"type":53,"value":101}," with complex ",{"type":23,"tag":82,"props":103,"children":104},{},[105],{"type":53,"value":106},"network infrastructures",{"type":53,"value":108},", it often only becomes\nclear on the live system how stable and efficient an application is running. In this article, we take a look at some\npopular theories surrounding DevOps in the web environment and examine their validity. In particular, we will focus on\naspects that are relevant to mid-market customers and partners of a software agency.",{"type":23,"tag":40,"props":110,"children":111},{},[112,114,119,121,126,128,133,135,144,146,155,157,166,168,173],{"type":53,"value":113},"We will shed light on why development environments reach their limits, why genuine load tests and ",{"type":23,"tag":44,"props":115,"children":116},{},[117],{"type":53,"value":118},"Edge Cases",{"type":53,"value":120}," are\ndifficult to simulate, and why work begins properly only after the launch (namely under ",{"type":23,"tag":44,"props":122,"children":123},{},[124],{"type":53,"value":125},"monitoring",{"type":53,"value":127}," and ",{"type":23,"tag":44,"props":129,"children":130},{},[131],{"type":53,"value":132},"continuous\nimprovement",{"type":53,"value":134},"). We will also explore the tools that are indispensable in our daily work, from\n",{"type":23,"tag":48,"props":136,"children":138},{"href":137},"https://sentry.io/",[139],{"type":23,"tag":82,"props":140,"children":141},{},[142],{"type":53,"value":143},"Sentry",{"type":53,"value":145},", ",{"type":23,"tag":48,"props":147,"children":149},{"href":148},"https://grafana.com/",[150],{"type":23,"tag":82,"props":151,"children":152},{},[153],{"type":53,"value":154},"Grafana",{"type":53,"value":156},", to\n",{"type":23,"tag":48,"props":158,"children":160},{"href":159},"https://www.zabbix.com/",[161],{"type":23,"tag":82,"props":162,"children":163},{},[164],{"type":53,"value":165},"Zabbix",{"type":53,"value":167},", and how ",{"type":23,"tag":82,"props":169,"children":170},{},[171],{"type":53,"value":172},"CI/CD pipelines",{"type":53,"value":174}," help even less experienced developers to deploy\nsafely.",{"type":23,"tag":33,"props":176,"children":178},{"className":177},[36],[179],{"type":23,"tag":40,"props":180,"children":181},{},[182],{"type":23,"tag":44,"props":183,"children":184},{},[185],{"type":53,"value":186},"Reading duration: approx. 20 minutes",{"type":23,"tag":56,"props":188,"children":190},{"id":189},"development-environment-vs-reality-limited-performance-and-unknown-edge-cases",[191],{"type":53,"value":192},"Development environment vs. reality: Limited performance and unknown edge cases",{"type":23,"tag":40,"props":194,"children":195},{},[196,201],{"type":23,"tag":82,"props":197,"children":198},{},[199],{"type":53,"value":200},"Thesis:",{"type":53,"value":202}," Software projects and web applications are built in development environments that are limited in performance\nand test data.",{"type":23,"tag":40,"props":204,"children":205},{},[206,208,213,215,220,222,227,229,234,236,242],{"type":53,"value":207},"During the development phase, a web application often runs on a laptop, a desktop PC, or in an isolated\ntest environment of the developers. This ",{"type":23,"tag":82,"props":209,"children":210},{},[211],{"type":53,"value":212},"Dev environment",{"type":53,"value":214}," is typically ",{"type":23,"tag":82,"props":216,"children":217},{},[218],{"type":53,"value":219},"less powerful",{"type":53,"value":221}," than the later\nproduction servers and contains only a fraction of real data. This is normal at first - nobody has a complete\ncopy of the production database on their laptop, and local quick work is also a goal. However,\nthis discrepancy often leads to some problems not becoming visible in the dev environment at all. Also, with\nperformance issues, there's a tendency to quickly assume that the productive system, with its superior performance, will\nnot struggle as much. A ",{"type":23,"tag":82,"props":223,"children":224},{},[225],{"type":53,"value":226},"staging",{"type":53,"value":228}," environment can try to mimic the production environment\nbut it has its ",{"type":23,"tag":82,"props":230,"children":231},{},[232],{"type":53,"value":233},"limits",{"type":53,"value":235},": Production environments have nuances that are difficult to simulate in staging - such as real\nuser behavior, large amounts of data, or complex system interactions\n",{"type":23,"tag":48,"props":237,"children":239},{"href":238},"https://www.browserstack.com/guide/testing-in-production#:~:text=1.%20Real,only%20surface%20under%20specific%20conditions",[240],{"type":53,"value":241},"browserstack.com",{"type":53,"value":243},"\n. In other words: Everything runs \"smoothly\" in the test environment, but reality introduces completely different\nfactors.",{"type":23,"tag":40,"props":245,"children":246},{},[247,251],{"type":23,"tag":82,"props":248,"children":249},{},[250],{"type":53,"value":200},{"type":53,"value":252}," Developers and clients often lack a complete overview of realistic use cases, edge cases, and peak loads.",{"type":23,"tag":40,"props":254,"children":255},{},[256,258,263,265,270,272,276,278,283],{"type":53,"value":257},"Development teams and even clients know the ",{"type":23,"tag":44,"props":259,"children":260},{},[261],{"type":53,"value":262},"major use cases",{"type":53,"value":264}," of their software, but ",{"type":23,"tag":82,"props":266,"children":267},{},[268],{"type":53,"value":269},"real users",{"type":53,"value":271},"\noften push applications to their limits. Suddenly they use features in combinations that nobody had thought of,\nor input unexpected data. Such ",{"type":23,"tag":82,"props":273,"children":274},{},[275],{"type":53,"value":118},{"type":53,"value":277}," (special or boundary cases) often remain undetected in the specification.\nOnly in an actual operation do errors occur, which no one had foreseen before. One reason for this is\nthat some bugs only appear under specific conditions that are not anticipated in pre-production tests.\nFor example, a user profile with an ",{"type":23,"tag":44,"props":279,"children":280},{},[281],{"type":53,"value":282},"emoji",{"type":53,"value":284}," in the name might trigger an error somewhere in the process –\nsomething that did not appear in the test dataset. Or a client uses the web app on an older browser and faces\ndisplay issues. Cases like these often only show up when the application is being used \"in the wild\".",{"type":23,"tag":40,"props":286,"children":287},{},[288,290,295,297,302,304,309,311,316,318,323],{"type":53,"value":289},"In addition, clients might be familiar with their business processes, but ",{"type":23,"tag":82,"props":291,"children":292},{},[293],{"type":53,"value":294},"peak loads",{"type":53,"value":296}," due to marketing actions or\ncompletely atypical\nusage times (e.g., at 3 a.m. on weekends) are easily underestimated. The ",{"type":23,"tag":82,"props":298,"children":299},{},[300],{"type":53,"value":301},"critical view",{"type":53,"value":303}," here:\nModern approaches aim to close this gap by advocating that development and production environments should be as\nsimilar as possible (",{"type":23,"tag":44,"props":305,"children":306},{},[307],{"type":53,"value":308},"dev/prod parity",{"type":53,"value":310},") in order to minimize later surprises.\n",{"type":23,"tag":82,"props":312,"children":313},{},[314],{"type":53,"value":315},"Containerization",{"type":53,"value":317}," (e.g. with Docker) allows to locally create an environment that at least in terms of\ndependencies and requirements of the software factors comes very close to the production environment. However, it\nremains unrealistic to anticipate ",{"type":23,"tag":82,"props":319,"children":320},{},[321],{"type":53,"value":322},"all",{"type":53,"value":324}," real conditions.",{"type":23,"tag":40,"props":326,"children":327},{},[328,332],{"type":23,"tag":82,"props":329,"children":330},{},[331],{"type":53,"value":200},{"type":53,"value":333}," Behavior under prolonged load, external crawlers, penetration tests, or spam-bots are difficult to simulate.",{"type":23,"tag":40,"props":335,"children":336},{},[337,339,344,346,351,353,358,360,365],{"type":53,"value":338},"Performance tests are good practice, but ",{"type":23,"tag":82,"props":340,"children":341},{},[342],{"type":53,"value":343},"constant load 24/7",{"type":53,"value":345}," over weeks cannot be fully replicated “in lab”.\nMost companies conduct stress tests before a launch – yet these often only last a few hours or days. How the application\nbehaves over months (memory leaks? Database grows unexpectedly? Logs fill up the hard disk?) remains open. Also,\n",{"type":23,"tag":82,"props":347,"children":348},{},[349],{"type":53,"value":350},"malicious attacks",{"type":53,"value":352}," are a topic. External ",{"type":23,"tag":82,"props":354,"children":355},{},[356],{"type":53,"value":357},"crawlers",{"type":53,"value":359}," (e.g. by Google, Bing, or others) might massively call up pages\nor ",{"type":23,"tag":82,"props":361,"children":362},{},[363],{"type":53,"value":364},"spam bots",{"type":53,"value":366}," cause atypical entries and calls. A constant barrage by a penetration testing tool or even a real\nattack simulation (DDoS) is only somewhat feasible, without possibly endangering the real systems or rendering them\nunusable for daily operations.",{"type":23,"tag":40,"props":368,"children":369},{},[370,372,377,379,384],{"type":53,"value":371},"The developer and DevOps community are consistent on this: it is ",{"type":23,"tag":82,"props":373,"children":374},{},[375],{"type":53,"value":376},"incredibly difficult to truly simulate the production\nload",{"type":53,"value":378},". Even with test environments that resemble the prod environment, unforeseen effects can occur. An interesting\napproach is therefore almost counterintuitive: sometimes, purposefully ",{"type":23,"tag":82,"props":380,"children":381},{},[382],{"type":53,"value":383},"undersized test environments are used",{"type":53,"value":385}," to\nuncover weaknesses. In the mentioned report, a small test database led to a growing log filling up the disk faster – a\nproblem that would have only been noticed much later in a larger environment.",{"type":23,"tag":40,"props":387,"children":388},{},[389,391,396,398,403,405,410,412,420,422,428],{"type":53,"value":390},"The ",{"type":23,"tag":82,"props":392,"children":393},{},[394],{"type":53,"value":395},"overriding opinion",{"type":53,"value":397}," in the tech community, however, is that ",{"type":23,"tag":82,"props":399,"children":400},{},[401],{"type":53,"value":402},"nothing measures up to real production tests",{"type":53,"value":404},".\nBig players like Netflix even propagate ",{"type":23,"tag":44,"props":406,"children":407},{},[408],{"type":53,"value":409},"chaos engineering",{"type":53,"value":411},", where disruptions are specifically generated in the running\nproduction to test the system robustness. An expert sums it up like this: “To test effectively, the system must be\nrunning in production. Because only ",{"type":23,"tag":44,"props":413,"children":414},{},[415],{"type":23,"tag":82,"props":416,"children":417},{},[418],{"type":53,"value":419},"in production",{"type":53,"value":421}," can one work with factors such as state data, real inputs, and\nthe behavior of external systems“\n",{"type":23,"tag":48,"props":423,"children":425},{"href":424},"https://www.techtarget.com/searchsoftwarequality/tip/9-techniques-for-fixing-bugs-in-production#:~:text=want%20it%20to%2C%20and%20code,and%20how%20external%20systems%20behave",[426],{"type":53,"value":427},"techtarget.com",{"type":53,"value":429},"\n. This means, we will only see some errors once we go live. Then it's important to be able to react quickly –\nand this is exactly where DevOps comes in.",{"type":23,"tag":56,"props":431,"children":433},{"id":432},"after-the-launch-is-before-the-launch-analysis-and-optimization-during-operation",[434],{"type":53,"value":435},"After the launch is before the launch: Analysis and optimization during operation",{"type":23,"tag":40,"props":437,"children":438},{},[439,443],{"type":23,"tag":82,"props":440,"children":441},{},[442],{"type":53,"value":200},{"type":53,"value":444}," Further analysis and optimization after the launch is essential.",{"type":23,"tag":40,"props":446,"children":447},{},[448,450,455,457,462,464,469,475],{"type":53,"value":449},"In the past, a software project was considered finished after the go-live - today we know that ",{"type":23,"tag":82,"props":451,"children":452},{},[453],{"type":53,"value":454},"Continuous Improvement",{"type":53,"value":456},"\nis a critical part of successful software. It's precisely ",{"type":23,"tag":82,"props":458,"children":459},{},[460],{"type":53,"value":461},"after the launch",{"type":53,"value":463}," that the phase begins in which real use\ndata is evaluated, bottlenecks are identified, and optimizations are made. As one expert article emphasizes: ",{"type":23,"tag":44,"props":465,"children":466},{},[467],{"type":53,"value":468},"\"Even with\nrigorous pre-launch testing, actual users can uncover performance problems in practice that were not obvious during\ndevelopment. Post-launch monitoring helps identify these problems before they affect a large number of users.\"",{"type":23,"tag":48,"props":470,"children":472},{"href":471},"https://www.topdevelopers.co/blog/post-launch-support-in-software-development/#:~:text=Even%20with%20rigorous%20pre,a%20large%20number%20of%20users",[473],{"type":53,"value":474},"topdevelopers.co",{"type":53,"value":476},"\n. In other words: A launch without subsequent monitoring is like a maiden voyage without someone at the helm.\nIn practice, especially small and medium-sized companies often underestimate this effort.",{"type":23,"tag":40,"props":478,"children":479},{},[480,485,487,492,494,499,501,506,508,513,515,520],{"type":23,"tag":82,"props":481,"children":482},{},[483],{"type":53,"value":484},"Critical Perspective:",{"type":53,"value":486}," Some people think good software would run “out of the box” - but based on our experience, this\nis extremely rarely the case. It takes time and iterative improvements to ",{"type":23,"tag":82,"props":488,"children":489},{},[490],{"type":53,"value":491},"stabilize and speed up",{"type":53,"value":493}," a (web)\napplication. Studies show that ",{"type":23,"tag":44,"props":495,"children":496},{},[497],{"type":53,"value":498},"continuous maintenance",{"type":53,"value":500}," can significantly increase ",{"type":23,"tag":82,"props":502,"children":503},{},[504],{"type":53,"value":505},"user satisfaction and retention",{"type":53,"value":507},".\nThis includes regular ",{"type":23,"tag":82,"props":509,"children":510},{},[511],{"type":53,"value":512},"bug fixes",{"type":53,"value":514},", performance tuning (e.g., adjusting caching strategies, optimizing database\nindexes), and ",{"type":23,"tag":82,"props":516,"children":517},{},[518],{"type":53,"value":519},"security patches",{"type":53,"value":521},". Security vulnerabilities that only emerge gradually must be immediately sealed off\nto prevent damage.",{"type":23,"tag":40,"props":523,"children":524},{},[525,527,532,534,539,541,546],{"type":53,"value":526},"Another aspect is the ",{"type":23,"tag":82,"props":528,"children":529},{},[530],{"type":53,"value":531},"feedback loop",{"type":53,"value":533},": Through real user feedback, you learn which features are well-received and\nwhere usability problems exist, if any. Ideally, this feedback flows directly into the backlog of the development team.\nA culture of ",{"type":23,"tag":44,"props":535,"children":536},{},[537],{"type":53,"value":538},"continuous deployment",{"type":53,"value":540}," ensures that improvements reach customers promptly and are not postponed until the\nnext major “release”. Modern DevOps teams consider their software as a living product: ",{"type":23,"tag":44,"props":542,"children":543},{},[544],{"type":53,"value":545},"\"Software does not end with the\nlaunch - it should be seen as a living product. Post-launch support enables continuous improvement based on user\nfeedback and performance data.\"",{"type":53,"value":547},".",{"type":23,"tag":40,"props":549,"children":550},{},[551,553],{"type":53,"value":552},"Current practice in successful companies clearly shows: after the launch is before the launch. ",{"type":23,"tag":82,"props":554,"children":555},{},[556],{"type":53,"value":557},"Stagnation is dangerous",{"type":23,"tag":559,"props":560,"children":561},"ul",{},[562],{"type":23,"tag":563,"props":564,"children":565},"li",{},[566,568,573],{"type":53,"value":567},"anyone who does not invest in ",{"type":23,"tag":82,"props":569,"children":570},{},[571],{"type":53,"value":572},"monitoring, troubleshooting, and optimization",{"type":53,"value":574}," after the go-live risks failures,\ndissatisfied users, and outdated software. For medium-sized companies, this specifically means allocating sufficient\nresources for the operational phase or having a competent partner who takes over the monitoring and maintenance.",{"type":23,"tag":56,"props":576,"children":578},{"id":577},"monitoring-and-logging-observation-is-essential",[579],{"type":53,"value":580},"Monitoring and Logging: Observation is essential",{"type":23,"tag":40,"props":582,"children":583},{},[584,588],{"type":23,"tag":82,"props":585,"children":586},{},[587],{"type":53,"value":200},{"type":53,"value":589}," Monitoring tools like Sentry or Grafana are essential for logging and error analysis.",{"type":23,"tag":40,"props":591,"children":592},{},[593,595,600,602,609,610,617],{"type":53,"value":594},"To quickly identify problems in operation, ",{"type":23,"tag":82,"props":596,"children":597},{},[598],{"type":53,"value":599},"monitoring and logging tools",{"type":53,"value":601}," are absolutely crucial. Two prominent\nexamples are ",{"type":23,"tag":48,"props":603,"children":604},{"href":137},[605],{"type":23,"tag":82,"props":606,"children":607},{},[608],{"type":53,"value":143},{"type":53,"value":127},{"type":23,"tag":48,"props":611,"children":612},{"href":148},[613],{"type":23,"tag":82,"props":614,"children":615},{},[616],{"type":53,"value":154},{"type":53,"value":618}," (often in combination with\ntime-series databases like Prometheus or log databases like ElasticSearch/Loki).",{"type":23,"tag":559,"props":620,"children":621},{},[622,674],{"type":23,"tag":563,"props":623,"children":624},{},[625,632,634,639,641,646,648,658,660,665,667,672],{"type":23,"tag":48,"props":626,"children":627},{"href":137},[628],{"type":23,"tag":82,"props":629,"children":630},{},[631],{"type":53,"value":143},{"type":53,"value":633}," is a specialized tool for ",{"type":23,"tag":82,"props":635,"children":636},{},[637],{"type":53,"value":638},"error tracking",{"type":53,"value":640},". It captures errors and exceptions in\nthe application and collects them centrally. Why is this important? In production, a developer cannot just hang out\nwith the debugger on the code. Sentry closes this gap: It delivers detailed error reports (with stack trace, user\ninformation, context variables, etc.) as soon as any exception occurs in the code. In the dev community, Sentry is now\nconsidered an ",{"type":23,"tag":82,"props":642,"children":643},{},[644],{"type":53,"value":645},"industrial standard",{"type":53,"value":647}," when it comes to crash reporting\n",{"type":23,"tag":48,"props":649,"children":651},{"href":650},"https://medium.com/@AndrzejSala/efficient-error-tracking-with-sentry-e975c186947c#:~:text=Sentry%20is%20a%20crash,an%20industry%20standard%20by%20TechRadar",[652,654],{"type":53,"value":653},"medium.com",{"type":23,"tag":655,"props":656,"children":657},"br",{},[],{"type":53,"value":659},".\nEven less experienced developers find errors faster with Sentry because the tool eliminates much of the manual\ndetective work. Without a tool like Sentry, many errors in a complex web application would not be noticed until users\ncomplain. With Sentry, however, the team often finds out ",{"type":23,"tag":82,"props":661,"children":662},{},[663],{"type":53,"value":664},"immediately",{"type":53,"value":666}," when an error happens – and can proactively\nrespond, ",{"type":23,"tag":82,"props":668,"children":669},{},[670],{"type":53,"value":671},"before",{"type":53,"value":673}," all users are affected.",{"type":23,"tag":563,"props":675,"children":676},{},[677,684,686,691,693,698,700,705,707,712,714,719,721,726,728,733,735,740],{"type":23,"tag":48,"props":678,"children":679},{"href":148},[680],{"type":23,"tag":82,"props":681,"children":682},{},[683],{"type":53,"value":154},{"type":53,"value":685},", on the other hand, addresses ",{"type":23,"tag":82,"props":687,"children":688},{},[689],{"type":53,"value":690},"performance monitoring and visualization",{"type":53,"value":692}," of\nsystem metrics. Grafana\nitself is actually a dashboard tool that can integrate various data sources – from server CPU load\nto database performance to application-specific KPIs. In combination with e.g. ",{"type":23,"tag":82,"props":694,"children":695},{},[696],{"type":53,"value":697},"Prometheus",{"type":53,"value":699}," (for\nmetric collection) or ",{"type":23,"tag":82,"props":701,"children":702},{},[703],{"type":53,"value":704},"Loki",{"type":53,"value":706}," (for log collection), a powerful ",{"type":23,"tag":82,"props":708,"children":709},{},[710],{"type":53,"value":711},"monitoring cockpit",{"type":53,"value":713}," is created. You want to be able\nto see ",{"type":23,"tag":44,"props":715,"children":716},{},[717],{"type":53,"value":718},"at a glance",{"type":53,"value":720}," whether all systems are green, where potential bottlenecks may be, or if unusual spikes occur.\nSpecifically, this means: Grafana & Co. help to recognize ",{"type":23,"tag":82,"props":722,"children":723},{},[724],{"type":53,"value":725},"trends",{"type":53,"value":727}," (e.g., steadily increasing memory load), track\n",{"type":23,"tag":82,"props":729,"children":730},{},[731],{"type":53,"value":732},"anomalies",{"type":53,"value":734}," (e.g., sudden traffic increase at midnight), and in the event of an error, quickly identify the ",{"type":23,"tag":82,"props":736,"children":737},{},[738],{"type":53,"value":739},"cause",{"type":53,"value":547},{"type":23,"tag":742,"props":743,"children":744},"icons-dev-ops",{},[],{"type":23,"tag":40,"props":746,"children":747},{},[748,752,754,759,761,766,768,773,775,780,782,787],{"type":23,"tag":82,"props":749,"children":750},{},[751],{"type":53,"value":484},{"type":53,"value":753}," Does every small web application need such an array of tools? Some smaller companies initially\ntry to get by without dedicated monitoring, relying on simple logs or manual checking. However, our personal experience\nshows: ",{"type":23,"tag":82,"props":755,"children":756},{},[757],{"type":53,"value":758},"As soon as the first major problem arises, it becomes clear that monitoring is not a \"nice-to-have\", but a real\nadded value",{"type":53,"value":760},". Without these tools, you can easily be left in the dark for a long time, sifting through log files.\nHowever, it's crucial to properly channel and interpret the ",{"type":23,"tag":82,"props":762,"children":763},{},[764],{"type":53,"value":765},"flood of data",{"type":53,"value":767},". Setting up monitoring correctly takes\ntime initially (and requires some expertise), but it pays off many times over with the first incident. Well-configured\nmonitoring also avoids ",{"type":23,"tag":44,"props":769,"children":770},{},[771],{"type":53,"value":772},"alert fatigue",{"type":53,"value":774}," – too many false alarms. Here, ",{"type":23,"tag":82,"props":776,"children":777},{},[778],{"type":53,"value":779},"quality over quantity",{"type":53,"value":781}," is key. Better a few,\nbut meaningful metrics and alerts. We strongly advise all our customers: ",{"type":23,"tag":44,"props":783,"children":784},{},[785],{"type":53,"value":786},"the investment in monitoring and logging tools\nis essential",{"type":53,"value":788}," in order to remain capable of action in the event of an error!",{"type":23,"tag":56,"props":790,"children":792},{"id":791},"automatic-alerts-zabbix-and-co-as-the-guardians-of-the-systems",[793],{"type":53,"value":794},"Automatic Alerts: Zabbix and Co. as the Guardians of the Systems",{"type":23,"tag":40,"props":796,"children":797},{},[798,802],{"type":23,"tag":82,"props":799,"children":800},{},[801],{"type":53,"value":200},{"type":53,"value":803}," Monitoring tools like Zabbix are necessary for alerts during critical system conditions.",{"type":23,"tag":40,"props":805,"children":806},{},[807,809,814,816,820,821,826,827,832,834,841,843,848,849,854],{"type":53,"value":808},"In addition to just observing metrics, of course, we want to be ",{"type":23,"tag":82,"props":810,"children":811},{},[812],{"type":53,"value":813},"automatically alerted",{"type":53,"value":815}," when something goes awry. This\nis where system monitoring tools like ",{"type":23,"tag":82,"props":817,"children":818},{},[819],{"type":53,"value":165},{"type":53,"value":145},{"type":23,"tag":82,"props":822,"children":823},{},[824],{"type":53,"value":825},"Nagios",{"type":53,"value":145},{"type":23,"tag":82,"props":828,"children":829},{},[830],{"type":53,"value":831},"Icinga",{"type":53,"value":833},", etc., come into play. Let's stick with\n",{"type":23,"tag":48,"props":835,"children":836},{"href":159},[837],{"type":23,"tag":82,"props":838,"children":839},{},[840],{"type":53,"value":165},{"type":53,"value":842}," as an example: Zabbix is an open-source monitoring system that offers predefined\n",{"type":23,"tag":82,"props":844,"children":845},{},[846],{"type":53,"value":847},"triggers",{"type":53,"value":127},{"type":23,"tag":82,"props":850,"children":851},{},[852],{"type":53,"value":853},"notifications",{"type":53,"value":855},". You can set thresholds - e.g., \"CPU load > 90% over 5 minutes\" or \"less than 10% free\ndisk space\" - and as soon as these are reached, Zabbix sends an alarm (via email, SMS, Slack, etc.).",{"type":23,"tag":40,"props":857,"children":858},{},[859,861,865,867,872,874,878,880,885],{"type":53,"value":860},"Why do we need this, didn't we just praise Grafana & Co.? The difference: ",{"type":23,"tag":82,"props":862,"children":863},{},[864],{"type":53,"value":154},{"type":53,"value":866}," is great for visualization and\nanalysis, but ",{"type":23,"tag":82,"props":868,"children":869},{},[870],{"type":53,"value":871},"active alerting",{"type":53,"value":873}," is often taken over by a dedicated tool like Zabbix (or Grafana is combined with an\nalert manager). ",{"type":23,"tag":82,"props":875,"children":876},{},[877],{"type":53,"value":165},{"type":53,"value":879}," and similar tools are essentially the ",{"type":23,"tag":82,"props":881,"children":882},{},[883],{"type":53,"value":884},"night watchmen",{"type":53,"value":886}," who tirelessly monitor for defined\nconditions.",{"type":23,"tag":40,"props":888,"children":889},{},[890,892,897,903,905,909],{"type":53,"value":891},"The importance of such alerts cannot be overstated. A fitting quote from a Linux Journal article: ",{"type":23,"tag":44,"props":893,"children":894},{},[895],{"type":53,"value":896},"\"Alerts and triggers\nare the heartbeat of monitoring. Zabbix lets you define specific conditions, upon the occurrence of which notifications\nare sent over various channels, so that you are immediately informed about critical events that could impact system\nperformance\"",{"type":23,"tag":48,"props":898,"children":900},{"href":899},"https://www.linuxjournal.com/content/how-monitor-your-system-zabbix#:~:text=Alerts%20and%20triggers%20are%20the,that%20could%20impact%20system%20performance",[901],{"type":53,"value":902},"linuxjournal.com",{"type":53,"value":904},"\n. Without an alerting system, a problem can go unnoticed for hours - in the worst case, you hear about it first from the\nirritated customer on the phone. With properly configured alerts, however, the team ",{"type":23,"tag":82,"props":906,"children":907},{},[908],{"type":53,"value":664},{"type":53,"value":910}," knows, for example,\nif the web server has failed or if the response times are critically high.",{"type":23,"tag":40,"props":912,"children":913},{},[914,919,921,926,928,933,935,940],{"type":23,"tag":82,"props":915,"children":916},{},[917],{"type":53,"value":918},"Practical View:",{"type":53,"value":920}," For medium-sized companies that may not have a 24/7 operating team, good alerting is even more\nimportant. It allows small teams to work efficiently because they can rely on the warning messages, instead of\nconstantly manually checking everything. However, even here, a poorly configured system that is constantly crying \"wolf,\nwolf, ...\" (keyword ",{"type":23,"tag":44,"props":922,"children":923},{},[924],{"type":53,"value":925},"false positives",{"type":53,"value":927},"), will quickly be ignored. The trick is to define ",{"type":23,"tag":82,"props":929,"children":930},{},[931],{"type":53,"value":932},"meaningful threshold values",{"type":53,"value":934},"\nand send ",{"type":23,"tag":82,"props":936,"children":937},{},[938],{"type":53,"value":939},"context-rich alerts",{"type":53,"value":941}," (e.g., directly with an indication of which component is affected, attach logs, etc.).",{"type":23,"tag":40,"props":943,"children":944},{},[945,952,954,959],{"type":23,"tag":48,"props":946,"children":947},{"href":159},[948],{"type":23,"tag":82,"props":949,"children":950},{},[951],{"type":53,"value":165},{"type":53,"value":953}," has proven itself in many of our projects and is often referred to internally as\nan ",{"type":23,"tag":82,"props":955,"children":956},{},[957],{"type":53,"value":958},"indispensable tool",{"type":53,"value":547},{"type":23,"tag":56,"props":961,"children":963},{"id":962},"cicd-pipelines-standardized-deployments-also-for-beginners",[964],{"type":53,"value":965},"CI/CD Pipelines: Standardized Deployments - Also for Beginners",{"type":23,"tag":40,"props":967,"children":968},{},[969,973],{"type":23,"tag":82,"props":970,"children":971},{},[972],{"type":53,"value":200},{"type":53,"value":974}," CI/CD Pipelines enable standardized, safe deployments even for less experienced developers.",{"type":23,"tag":40,"props":976,"children":977},{},[978,980,985,987,992,993,998,1000,1005],{"type":53,"value":979},"The terms ",{"type":23,"tag":82,"props":981,"children":982},{},[983],{"type":53,"value":984},"CI/CD",{"type":53,"value":986}," stand for ",{"type":23,"tag":44,"props":988,"children":989},{},[990],{"type":53,"value":991},"Continuous Integration",{"type":53,"value":127},{"type":23,"tag":44,"props":994,"children":995},{},[996],{"type":53,"value":997},"Continuous Delivery/Deployment",{"type":53,"value":999},". A ",{"type":23,"tag":82,"props":1001,"children":1002},{},[1003],{"type":53,"value":1004},"CI/CD pipeline",{"type":53,"value":1006}," is an\nautomated process chain that builds, tests, and eventually deploys code from commit to rollout. Why is this so\nimportant - and how does it help less experienced developers?",{"type":23,"tag":40,"props":1008,"children":1009},{},[1010,1012,1017,1019,1024],{"type":53,"value":1011},"In traditional development workflows, the ",{"type":23,"tag":82,"props":1013,"children":1014},{},[1015],{"type":53,"value":1016},"deployment",{"type":53,"value":1018}," was often manual work carried out by experienced admins or\nDevOps engineers because many things could go wrong (missing dependencies, incorrect configs, avoiding downtime, etc.).\nHowever, with a well-configured CI/CD pipeline, deployment becomes a ",{"type":23,"tag":82,"props":1020,"children":1021},{},[1022],{"type":53,"value":1023},"standardized, repeatable operation",{"type":53,"value":1025}," - ideally at\nthe push of a button. Even if a developer has never manually set up a Linux server before, he can make his code live\nthrough the functionality of the pipeline because the pipeline takes over the necessary steps for him.",{"type":23,"tag":40,"props":1027,"children":1028},{},[1029,1034,1036,1041,1042,1047,1049,1053,1055,1060],{"type":23,"tag":82,"props":1030,"children":1031},{},[1032],{"type":53,"value":1033},"Safety and quality",{"type":53,"value":1035}," are not neglected - on the contrary. Particularly less experienced developers benefit from the\nfact that the pipeline carries out automated ",{"type":23,"tag":82,"props":1037,"children":1038},{},[1039],{"type":53,"value":1040},"tests",{"type":53,"value":127},{"type":23,"tag":82,"props":1043,"children":1044},{},[1045],{"type":53,"value":1046},"code checks",{"type":53,"value":1048}," ",{"type":23,"tag":44,"props":1050,"children":1051},{},[1052],{"type":53,"value":671},{"type":53,"value":1054}," the deployment. This way, errors are\nintercepted before they're released to the user base. Additionally, the pipeline ensures that deployments always happen\nin ",{"type":23,"tag":82,"props":1056,"children":1057},{},[1058],{"type":53,"value":1059},"the same way",{"type":53,"value":1061}," - there are no deviations that occur due to human forgetfulness (e.g., \"Oops, loaded the staging\nconfig on Prod\" - such mistakes are eliminated). For SMEs, this means: faster updates with a simultaneously lower error\nrate.",{"type":23,"tag":40,"props":1063,"children":1064},{},[1065,1067,1072,1074,1079],{"type":53,"value":1066},"Of course, setting up a CI/CD pipeline initially requires ",{"type":23,"tag":82,"props":1068,"children":1069},{},[1070],{"type":53,"value":1071},"know-how and effort",{"type":53,"value":1073},". This is where a DevOps specialist\noften comes into play, who sets up such a pipeline (for example, with Jenkins, GitLab CI, GitHub Actions, or Bitbucket\nPipelines). ",{"type":23,"tag":82,"props":1075,"children":1076},{},[1077],{"type":53,"value":1078},"Upon critical examination",{"type":53,"value":1080},", some argue that in a perfect DevOps team, this distinction between developers\nand DevOps would be unnecessary because everyone would be responsible for the process. However, in reality, it is\nespecially beneficial for less experienced developers when a robust CI/CD system exists - it takes the fear of\ndeployment away from them (that applies to me as well as a project manager). A junior developer can click \"Deploy\" in\ngood conscience because they know, when automated tests have been run and the rollout is controlled, there's a minimum\namount of safety that the production system won't be impacted.",{"type":23,"tag":40,"props":1082,"children":1083},{},[1084,1086,1091,1093,1098,1100,1105],{"type":53,"value":1085},"It's important that CI/CD brings not only technical but also ",{"type":23,"tag":82,"props":1087,"children":1088},{},[1089],{"type":53,"value":1090},"cultural changes",{"type":53,"value":1092},". Deployments become smaller but more\nfrequent. This reduces risk and the impact of errors. Teams get used to deployments being ",{"type":23,"tag":44,"props":1094,"children":1095},{},[1096],{"type":53,"value":1097},"routine",{"type":53,"value":1099}," and not \"major\noperation days\". Especially in ",{"type":23,"tag":82,"props":1101,"children":1102},{},[1103],{"type":53,"value":1104},"Agile Development",{"type":53,"value":1106},", CI/CD is virtually the backbone to enable fast iterations.",{"type":23,"tag":40,"props":1108,"children":1109},{},[1110,1112,1117],{"type":53,"value":1111},"In summary: CI/CD pipelines are a game-changer that enables even less experienced developers to deliver ",{"type":23,"tag":82,"props":1113,"children":1114},{},[1115],{"type":53,"value":1116},"at the push of\na button",{"type":53,"value":1118}," – reliably and repeatably.",{"type":23,"tag":56,"props":1120,"children":1122},{"id":1121},"experience-counts-live-data-specific-errors-and-the-role-of-devops-experts",[1123],{"type":53,"value":1124},"Experience Counts: Live Data, Specific Errors, and the Role of DevOps Experts",{"type":23,"tag":40,"props":1126,"children":1127},{},[1128,1132],{"type":23,"tag":82,"props":1129,"children":1130},{},[1131],{"type":53,"value":200},{"type":53,"value":1133}," Certain errors and performance problems only manifest with live data and require experienced DevOps\nspecialists.",{"type":23,"tag":40,"props":1135,"children":1136},{},[1137,1139,1144,1146,1151,1153,1158],{"type":53,"value":1138},"Despite all automation and testing, the ",{"type":23,"tag":82,"props":1140,"children":1141},{},[1142],{"type":53,"value":1143},"experience",{"type":53,"value":1145}," in dealing with production systems is irreplaceable. There are\nerror patterns that only occur with real ",{"type":23,"tag":82,"props":1147,"children":1148},{},[1149],{"type":53,"value":1150},"live data and loads",{"type":53,"value":1152}," - due to complex data constellations or simply scaling\neffects. A query that is lightning-fast with 100 test data sets can suddenly become a bottleneck with 100 million real\ndata sets. Or a ",{"type":23,"tag":82,"props":1154,"children":1155},{},[1156],{"type":53,"value":1157},"memory leak",{"type":53,"value":1159}," in a certain library only becomes apparent after weeks of continuous operation when the\nprocess increasingly occupies memory. Identifying and fixing such problems often requires an experienced eye.",{"type":23,"tag":40,"props":1161,"children":1162},{},[1163,1165,1170,1172,1179,1180,1186,1188,1194,1196,1201,1203,1208,1210,1215],{"type":53,"value":1164},"A DevOps engineer with a lot of operational experience usually has a repertoire of ",{"type":23,"tag":82,"props":1166,"children":1167},{},[1168],{"type":53,"value":1169},"diagnostic techniques",{"type":53,"value":1171},". For\nexample, experienced people know how to debug on Linux with tools like ",{"type":23,"tag":1173,"props":1174,"children":1176},"code",{"className":1175},[],[1177],{"type":53,"value":1178},"htop",{"type":53,"value":145},{"type":23,"tag":1173,"props":1181,"children":1183},{"className":1182},[],[1184],{"type":53,"value":1185},"iotop",{"type":53,"value":1187},", or ",{"type":23,"tag":1173,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":53,"value":1193},"strace",{"type":53,"value":1195},", which less routine\ndevelopers may never have needed. Experienced DevOps also know ",{"type":23,"tag":82,"props":1197,"children":1198},{},[1199],{"type":53,"value":1200},"duration load phenomena",{"type":53,"value":1202}," (keywords: ",{"type":23,"tag":44,"props":1204,"children":1205},{},[1206],{"type":53,"value":1207},"floating-point\nprecision bugs",{"type":53,"value":1209},", memory-induced rounding errors, etc.) from practice. A drastic but real scenario: A memory error occurs\n",{"type":23,"tag":44,"props":1211,"children":1212},{},[1213],{"type":53,"value":1214},"only",{"type":53,"value":1216}," under proper full load and only in combination with certain hardware conditions - here you need experts who may\nhave seen something similar before or know where to start.",{"type":23,"tag":56,"props":1218,"children":1220},{"id":1219},"conclusion",[1221],{"type":53,"value":1222},"Conclusion",{"type":23,"tag":40,"props":1224,"children":1225},{},[1226,1228,1233,1235,1240,1242,1249],{"type":53,"value":1227},"For (web) applications in productive use, ",{"type":23,"tag":82,"props":1229,"children":1230},{},[1231],{"type":53,"value":1232},"DevOps is not a luxury, but a necessity",{"type":53,"value":1234},". Development environments hit\ntheir limits, real users produce surprises, and without continuous monitoring, you're flying blind. Small and\nmedium-sized companies, which perhaps don't have huge IT departments, can benefit enormously from a DevOps approach.\nMore stable systems, quicker response times to problems, and more satisfied customers. However, you must be willing to\ninvest ",{"type":23,"tag":82,"props":1236,"children":1237},{},[1238],{"type":53,"value":1239},"time and resources",{"type":53,"value":1241}," even after the launch to analyze data and implement improvements. Tools like\n",{"type":23,"tag":48,"props":1243,"children":1244},{"href":137},[1245],{"type":23,"tag":82,"props":1246,"children":1247},{},[1248],{"type":53,"value":143},{"type":53,"value":1250},", Grafana, and Zabbix form the backbone of monitoring - they deliver the necessary data and\nsupporting mechanisms. Automation through CI/CD significantly reduces the risk of deployments and allows even less\nexperienced team members to safely implement changes live.",{"type":23,"tag":40,"props":1252,"children":1253},{},[1254,1256,1261],{"type":53,"value":1255},"In the end, it shows: ",{"type":23,"tag":82,"props":1257,"children":1258},{},[1259],{"type":53,"value":1260},"People",{"type":53,"value":1262}," make the difference. Experienced DevOps specialists can solve tricky live problems and\nbuild a bridge between developers and operations.",{"type":23,"tag":40,"props":1264,"children":1265},{},[1266,1271],{"type":23,"tag":82,"props":1267,"children":1268},{},[1269],{"type":53,"value":1270},"Note:",{"type":53,"value":1272}," This article was also generated with the support of AI (model: GPT-4).",{"title":7,"searchDepth":1274,"depth":1274,"links":1275},2,[1276,1277,1278,1279,1280,1281,1282,1283],{"id":58,"depth":1274,"text":61},{"id":189,"depth":1274,"text":192},{"id":432,"depth":1274,"text":435},{"id":577,"depth":1274,"text":580},{"id":791,"depth":1274,"text":794},{"id":962,"depth":1274,"text":965},{"id":1121,"depth":1274,"text":1124},{"id":1219,"depth":1274,"text":1222},"markdown","common:en:blog:12.a-tribute-to-our-dev-ops.md","common","en/blog/12.a-tribute-to-our-dev-ops.md","en/blog/12.a-tribute-to-our-dev-ops","md",{"_path":1291,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1292,"description":1293,"author":1294,"image":1295,"releaseDate":1296,"blogCategories":1297,"articleTags":1299,"tags":1302,"_type":1284,"_id":1305,"_source":1286,"_file":1306,"_stem":1307,"_extension":1289},"/en/blog/amazon-mws-sp-api-wrapper","Amazon MWS to SP API Wrapper","We have released a wrapper that converts Amazon MWS to SP API, offering developers with outdated systems a simple solution. This open-source project provides a practical alternative to redevelopment and supports the continuation of existing applications.","bernd-helm","/blog/thumbnails/AWS.svg","2024-02-21",[1298,16],"What moves us",[1300,1301],"Amazon","Open Source",[1303,1304],"e-commerce","backend","common:en:blog:11.amazon-mws-sp-api-wrapper.md","en/blog/11.amazon-mws-sp-api-wrapper.md","en/blog/11.amazon-mws-sp-api-wrapper",{"_path":1309,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1310,"description":1311,"author":10,"image":1312,"releaseDate":1313,"blogCategories":1314,"articleTags":1315,"tags":1317,"_type":1284,"_id":1319,"_source":1286,"_file":1320,"_stem":1321,"_extension":1289},"/en/blog/accessibility-will-be-recommended","Accessibility Empowerment Act - Barrier-free Web Services Required for Almost Everyone from July 2025!","From 28th June 2025, Germany's Accessibility Empowerment Act (BFSG) comes into effect. For the first time, this law obliges private companies to offer specific digital products and services in an accessible format. For many operators of websites, online shops and apps, this means that they must optimize their digital offers for accessibility by the deadline.","/images/Accessibility.png","2025-04-13",[1298],[1316],"Accessibility",[1318],"frontend","common:en:blog:13.accessibility-will-be-recommended.md","en/blog/13.accessibility-will-be-recommended.md","en/blog/13.accessibility-will-be-recommended",{"_path":1323},"/blog/a-tribute-to-our-dev-ops",{"_path":4},{"_path":1326,"_dir":1327,"_draft":6,"_partial":6,"_locale":7,"slug":10,"teams":1328,"primaryTeam":1329,"firstName":1330,"lastName":1331,"prefixTitle":1332,"suffixTitle":7,"executiveRole":1333,"education":1334,"role":1342,"workingSince":1341,"inTheCompanySince":1338,"techSkills":1349,"skills":1379,"projects":1392,"contactDetails":1398,"certifications":1402,"image":1408,"_id":1409,"_type":1410,"title":1411,"_source":1327,"_file":1412,"_stem":1413,"_extension":1410},"/employees/jens-bornschein","employees",[1329],"appDev","Jens","Bornschein","Dr. Ing.","Projektmanager | Consultant",[1335,1339],[1336,1337,1338],"Doktor-Ingenieur der Informatik","TU Dresden","2020",[1340,1337,1341],"Diplom-Medieninformatiker (TU)","2010",[1343,1344,1345,1346,1347,1348],"projectManager","softwareDeveloper","fullstackDeveloper","UI/UX","accessibility","consultant",[1350,1353,1356,1360,1363,1366,1368,1371,1374,1377],{"name":1351,"level":1352},"PHP","expert",{"name":1354,"level":1352,"icon":1355},"C#","/images/csharp.svg",{"name":1357,"level":1358,"icon":1359},"CSS","advanced","/images/css.svg",{"name":1361,"level":1358,"icon":1362},"HTML","/images/html.svg",{"name":1364,"level":1358,"icon":1365},"Vue.js","/images/vuejs.svg",{"name":1367,"level":1358},"Java",{"name":1369,"level":1352,"icon":1370},"Adobe Photoshop","/images/adobeps-logo.svg",{"name":1372,"level":1352,"icon":1373},"Adobe Illustrator","/images/adobeai-logo.svg",{"name":1375,"level":1358,"icon":1376},"Adobe XD","/images/adobexd-logo.svg",{"name":1378,"level":1358},"Gitlab",[1380,1382,1383,1384,1386,1388,1390],{"name":1381,"level":1352},"projectManagement",{"name":1347,"level":1352},{"name":1346,"level":1352},{"name":1385,"level":1358},"consulting",{"name":1387,"level":1358},"scrum",{"name":1389,"level":1358},"softwareArchitect",{"name":1391,"level":1358},"training",[1393,1396],{"project":1394,"position":1395},"Montagespezis","project manager",{"project":1397,"position":1395},"Vipr",{"eMail":1399,"phone":1400,"visibility":1401},"jens.bornschein@helmundwalter.de","+49 351 799 035 24","1",[1403],{"image":1404,"link":1405,"title":1406,"pdf":1407},"/images/certifications/KHZG_Badge.svg","https://www.bundesamtsozialesicherung.de/de/themen/innovationsfonds-und-krankenhausstrukturfonds/krankenhausstrukturfonds/","Berechtigung nach § 21 Absatz 5 Satz 1 KHSFV - Management für KHZG geförderte Vorhaben","/certificates/jb_KHSFV_Zertifikat.pdf","images/employees/Portraits/JensBornschein_MS.webp","employees:employees:5.jens-bornschein.json","json","Jens Bornschein","employees/5.jens-bornschein.json","employees/5.jens-bornschein",[1415,1430],{"_path":1416,"_dir":1417,"_draft":6,"_partial":1418,"_locale":7,"name":1419,"slug":1417,"text":1420,"hoverText":1421,"image":1422,"customer":1419,"tags":1423,"_id":1425,"_type":1426,"title":1427,"_source":1286,"_file":1428,"_stem":1429,"_extension":1426},"/en/portfolio/pixelx/_teaser","pixelx",true,"PixelX","IT Security with Precision and Expertise","For PixelX, we conducted a targeted security analysis where, thanks to our deep technical understanding, we were able to identify a critical SQL injection vulnerability. With minimal time investment, we achieved maximum security gain.","/images/portfolio/pixelx/pixelx_secured.png",[1424,18],"security","common:en:portfolio:9010.pixelx:_teaser.yaml","yaml","Teaser","en/portfolio/9010.pixelx/_teaser.yaml","en/portfolio/9010.pixelx/_teaser",{"_path":1431,"_dir":1432,"_draft":6,"_partial":1418,"_locale":7,"name":1433,"slug":1432,"text":1434,"hoverText":1435,"image":1436,"customer":1433,"tags":1437,"_id":1439,"_type":1426,"title":1427,"_source":1286,"_file":1440,"_stem":1441,"_extension":1426},"/en/portfolio/slimspots/_teaser","slimspots","SlimSpots","Processing large amounts of data in real-time","For SlimSpots, a global provider of ad marketing solutions, we developed a highly scalable infrastructure that enables the processing of trillions of data records in real-time.","/images/portfolio/slimspots/slim_spots_prtfolio.png",[1438,18],"databases","common:en:portfolio:9020.slimspots:_teaser.yaml","en/portfolio/9020.slimspots/_teaser.yaml","en/portfolio/9020.slimspots/_teaser",{"_path":1291,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1292,"description":1293,"author":1294,"image":1295,"releaseDate":1296,"blogCategories":1443,"articleTags":1444,"tags":1445,"body":1446,"_type":1284,"_id":1305,"_source":1286,"_file":1306,"_stem":1307,"_extension":1289},[1298,16],[1300,1301],[1303,1304],{"type":20,"children":1447,"toc":1509},[1448,1454,1475,1480,1485,1491,1504],{"type":23,"tag":56,"props":1449,"children":1451},{"id":1450},"what-is-this",[1452],{"type":53,"value":1453},"What is this?",{"type":23,"tag":40,"props":1455,"children":1456},{},[1457,1459,1465,1467,1473],{"type":53,"value":1458},"This wrapper serves as a simple and cost-effective bridge that translates calls from the\n",{"type":23,"tag":48,"props":1460,"children":1462},{"href":1461},"https://docs.developer.amazonservices.com/en_US/dev_guide/index.html",[1463],{"type":53,"value":1464},"Amazon Marketplace Web Service (MWS)",{"type":53,"value":1466},"\nAPI to ",{"type":23,"tag":48,"props":1468,"children":1470},{"href":1469},"https://developer-docs.amazon.com/sp-api",[1471],{"type":53,"value":1472},"Selling Partner (SP) API",{"type":53,"value":1474}," calls. It was specifically developed for customers with outdated systems and limited\nbudgets, for whom a complete redevelopment of the Amazon interface would be economically unfeasible.\nThe wrapper allows these customers to continue their business even after the MWS interface is discontinued.",{"type":23,"tag":40,"props":1476,"children":1477},{},[1478],{"type":53,"value":1479},"Technically, the project is based on a Docker container that functions as a web server. This server receives MWS API calls,\ntranslates them into SP API calls, and converts the responses from the SP API back into the format of the MWS API.",{"type":23,"tag":40,"props":1481,"children":1482},{},[1483],{"type":53,"value":1484},"The idea for this wrapper originated from a proof of concept, with the aim to verify whether the interfaces are\nsufficiently similar to enable a direct translation. Despite concerns that the devil might be in the details,\nthe calls proved to be relatively simple to translate. It was only necessary to adjust some feed names\nand occasionally make two API calls to gather all the necessary information.\nOverall, the project has been surprisingly trouble-free.",{"type":23,"tag":56,"props":1486,"children":1488},{"id":1487},"download",[1489],{"type":53,"value":1490},"Download",{"type":23,"tag":40,"props":1492,"children":1493},{},[1494,1496,1502],{"type":53,"value":1495},"Interested? The project has been published as open-source on GitHub:\n",{"type":23,"tag":48,"props":1497,"children":1499},{"href":1498},"https://github.com/bhelm/Amazon-MWS-SP-Wrapper",[1500],{"type":53,"value":1501},"Amazon-MWS-SP-API-Wrapper",{"type":53,"value":1503},". This offer is aimed at developers\nwho also see the wrapper approach as the most efficient solution and want to contribute to the open-source community.",{"type":23,"tag":40,"props":1505,"children":1506},{},[1507],{"type":53,"value":1508},"If you need support integrating it into your application or if adjustments or extensions to the wrapper\nare necessary, we are happy to help. Since the wrapper is currently used by only a limited number of customers,\nit covers only part of the possible API calls and parameters and is by no means a \"complete solution\".",{"title":7,"searchDepth":1274,"depth":1274,"links":1510},[1511,1512],{"id":1450,"depth":1274,"text":1453},{"id":1487,"depth":1274,"text":1490},{"_path":1309,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":1310,"description":1311,"author":10,"image":1312,"releaseDate":1313,"blogCategories":1514,"articleTags":1515,"tags":1516,"body":1517,"_type":1284,"_id":1319,"_source":1286,"_file":1320,"_stem":1321,"_extension":1289},[1298],[1316],[1318],{"type":20,"children":1518,"toc":2787},[1519,1525,1541,1547,1568,1580,1587,1612,1696,1699,1725,1806,1811,1818,1851,1875,1881,1904,1996,1999,2037,2043,2055,2080,2109,2115,2144,2155,2187,2193,2198,2209,2219,2229,2235,2261,2327,2388,2405,2429,2472,2478,2490,2714,2720,2752,2779],{"type":23,"tag":24,"props":1520,"children":1524},{"alt":1521,"aspect-ratio":1522,"height":28,"object-fit":29,"src":1523},"A woman with a prosthetic hand on her right arm is sitting at a laptop","1.7","/blog/digital-accessibility-with-prosthetic-hand.jpg",[],{"type":23,"tag":33,"props":1526,"children":1528},{"className":1527},[36,37],[1529],{"type":23,"tag":40,"props":1530,"children":1531},{},[1532],{"type":23,"tag":44,"props":1533,"children":1534},{},[1535],{"type":23,"tag":48,"props":1536,"children":1538},{"href":1537},"https://www.pexels.com/photo/a-woman-using-a-laptop-5614124/",[1539],{"type":53,"value":1540},"Photo by Anna Shvets",{"type":23,"tag":56,"props":1542,"children":1544},{"id":1543},"accessibility-will-become-mandatory-what-the-accessibility-empowerment-act-means-for-digital-services-from-2025",[1545],{"type":53,"value":1546},"Accessibility will become mandatory: What the Accessibility Empowerment Act means for digital services from 2025",{"type":23,"tag":40,"props":1548,"children":1549},{},[1550,1552,1558,1560,1566],{"type":53,"value":1551},"From 28 June 2025, the German Accessibility Empowerment Act (BFSG) will come into effect\n",{"type":23,"tag":48,"props":1553,"children":1555},{"href":1554},"https://www.bildungsserver.de/onlineressource.html?onlineressourcen_id=65777#:~:text=Am%2022,Bundesfachstelle%20Barrierefreiheit%20bietet%20auf%20dieser",[1556],{"type":53,"value":1557},"bildungsserver.de",{"type":53,"value":1559},"\n. This law obliges private companies for the first time to offer certain digital products and services in an accessible format\n",{"type":23,"tag":48,"props":1561,"children":1563},{"href":1562},"https://www.visionbites.de/blog/barrierefreie-websites-bfsg-bitv-20-oder-wcag#:~:text=Ab%20dem%2028,W3C%C2%A0in%20den%C2%A0Konformit%C3%A4tsstufen%20A%20und%20AA",[1564],{"type":53,"value":1565},"visionbites.de",{"type":53,"value":1567},".\nBut who does this affect specifically, what does \"accessible\" mean in this context – and how can you implement this without the costs skyrocketing? In this blog article, we would like to shed some light on the new requirements.",{"type":23,"tag":33,"props":1569,"children":1571},{"className":1570},[36],[1572],{"type":23,"tag":40,"props":1573,"children":1574},{},[1575],{"type":23,"tag":44,"props":1576,"children":1577},{},[1578],{"type":53,"value":1579},"Reading duration: approx. 15 minutes",{"type":23,"tag":1581,"props":1582,"children":1584},"h3",{"id":1583},"who-does-the-law-affect-scope-of-application-from-july-2025",[1585],{"type":53,"value":1586},"Who does the law affect? – Scope of application from July 2025",{"type":23,"tag":40,"props":1588,"children":1589},{},[1590,1592,1596,1598,1604,1606,1609],{"type":53,"value":1591},"The BFSG implements the EU directive on accessibility requirements (European Accessibility Act, EAA) into German law. It comes into force on 28 June 2025\n",{"type":23,"tag":48,"props":1593,"children":1594},{"href":1554},[1595],{"type":53,"value":1557},{"type":53,"value":1597},"\n. From then on, the products and services mentioned therein must be provided barrier-free for consumers. However, not every web presence is automatically included! The law conclusively specifies the affected areas (§1 para. 2 and 3 BFSG)",{"type":23,"tag":48,"props":1599,"children":1601},{"href":1600},"https://www.bundesfachstelle-barrierefreiheit.de/SharedDocs/Downloads/DE/Externe-Veroeffentlichungen/bmas-leitlinien-bfsg.pdf?__blob=publicationFile#:~:text=des%20BFSG%20erf%C3%BCllen%20muss%2C%20findet,seine%20Produkte%20und%20Dienstleistungen%20freiwillig",[1602],{"type":53,"value":1603},"bundesfachstelle-barrierefreiheit.de",{"type":53,"value":1605},". From now on, the following digital services are subject to mandatory accessibility:\n",{"type":23,"tag":655,"props":1607,"children":1608},{},[],{"type":23,"tag":655,"props":1610,"children":1611},{},[],{"type":23,"tag":559,"props":1613,"children":1614},{},[1615,1647,1657,1667,1676,1686],{"type":23,"tag":563,"props":1616,"children":1617},{},[1618,1623,1625,1631,1633,1638,1640,1645],{"type":23,"tag":82,"props":1619,"children":1620},{},[1621],{"type":53,"value":1622},"Electronic commerce",{"type":53,"value":1624}," – in other words, online services that facilitate the conclusion of consumer contracts, e.g., online shops ",{"type":23,"tag":48,"props":1626,"children":1628},{"href":1627},"https://www.hwk-dresden.de/recht/aktuelle-themen/detail/barrierefreiheitsstaerkungsgesetz-barrierefreiheit-von-online-shops.html#:~:text=Betreiber%20eines%20Online,Erschwernis%20die%20Onlineangebote%20nutzen%20k%C3%B6nnen",[1629],{"type":53,"value":1630},"hwk-dresden.de",{"type":53,"value":1632},". (",{"type":23,"tag":82,"props":1634,"children":1635},{},[1636],{"type":53,"value":1637},"B2B shops",{"type":53,"value":1639},", which serve only business customers, are not covered by the mandatory requirement ",{"type":23,"tag":48,"props":1641,"children":1643},{"href":1642},"https://www.hwk-dresden.de/recht/aktuelle-themen/detail/barrierefreiheitsstaerkungsgesetz-barrierefreiheit-von-online-shops.html#:~:text=Ausnahmen%3A",[1644],{"type":53,"value":1630},{"type":53,"value":1646},".)",{"type":23,"tag":563,"props":1648,"children":1649},{},[1650,1655],{"type":23,"tag":82,"props":1651,"children":1652},{},[1653],{"type":53,"value":1654},"Consumer banking services",{"type":53,"value":1656}," – in particular, online banking websites and banking apps.",{"type":23,"tag":563,"props":1658,"children":1659},{},[1660,1665],{"type":23,"tag":82,"props":1661,"children":1662},{},[1663],{"type":53,"value":1664},"Telecommunication services",{"type":53,"value":1666}," – for example, phone and messaging apps.",{"type":23,"tag":563,"props":1668,"children":1669},{},[1670,1675],{"type":23,"tag":82,"props":1671,"children":1672},{},[1673],{"type":53,"value":1674},"E-books and their respective distribution platforms",{"type":53,"value":547},{"type":23,"tag":563,"props":1677,"children":1678},{},[1679,1684],{"type":23,"tag":82,"props":1680,"children":1681},{},[1682],{"type":53,"value":1683},"Passenger transport services",{"type":53,"value":1685}," – for instance, digital ticket machines in public transport.",{"type":23,"tag":563,"props":1687,"children":1688},{},[1689,1694],{"type":23,"tag":82,"props":1690,"children":1691},{},[1692],{"type":53,"value":1693},"Mobile apps in passenger transport",{"type":53,"value":1695}," – such as apps from railway or airline companies.",{"type":23,"tag":655,"props":1697,"children":1698},{},[],{"type":23,"tag":40,"props":1700,"children":1701},{},[1702,1704,1709,1711,1716,1718,1723],{"type":53,"value":1703},"Also, various ",{"type":23,"tag":82,"props":1705,"children":1706},{},[1707],{"type":53,"value":1708},"products",{"type":53,"value":1710}," must be barrier-free from 2025, including computers, smartphones, ticket and cash machines, or smart TVs\n",{"type":23,"tag":48,"props":1712,"children":1714},{"href":1713},"https://www.bundesfachstelle-barrierefreiheit.de/DE/Fachwissen/Produkte-und-Dienstleistungen/Barrierefreiheitsstaerkungsgesetz/barrierefreiheitsstaerkungsgesetz_node.html",[1715],{"type":53,"value":1603},{"type":53,"value":1717},".\nFor most of our customers (SMEs with web applications), it is especially crucial to understand that ",{"type":23,"tag":82,"props":1719,"children":1720},{},[1721],{"type":53,"value":1722},"your consumer-facing online service must be barrier-free by July 2025",{"type":53,"value":1724},", provided it falls into one of the above categories.",{"type":23,"tag":40,"props":1726,"children":1727},{},[1728,1730,1735,1737,1742,1744,1749,1751,1756,1761,1763,1768,1770,1775,1777,1782,1784,1789,1791,1796,1800,1805],{"type":53,"value":1729},"However, there is an ",{"type":23,"tag":44,"props":1731,"children":1732},{},[1733],{"type":53,"value":1734},"exception",{"type":53,"value":1736}," for ",{"type":23,"tag":82,"props":1738,"children":1739},{},[1740],{"type":53,"value":1741},"micro-enterprises",{"type":53,"value":1743},"! Companies with ",{"type":23,"tag":82,"props":1745,"children":1746},{},[1747],{"type":53,"value":1748},"fewer than 10 employees and a maximum €2 million annual turnover",{"type":53,"value":1750}," are ",{"type":23,"tag":82,"props":1752,"children":1753},{},[1754],{"type":53,"value":1755},"exempt from the BFSG requirements if they provide services",{"type":23,"tag":48,"props":1757,"children":1759},{"href":1758},"https://www.bundesfachstelle-barrierefreiheit.de/DE/Fachwissen/Produkte-und-Dienstleistungen/Barrierefreiheitsstaerkungsgesetz/barrierefreiheitsstaerkungsgesetz_node.html#:~:text=Unter%20das%20Barrierefreiheitsst%C3%A4rkungsgesetz%20fallen%20Hersteller%2C,fallen%20jedoch%20unter%20das%20BFSG",[1760],{"type":53,"value":1603},{"type":53,"value":1762},".\nA mini start-up that operates an online shop does not necessarily have to retrofit formally\n",{"type":23,"tag":48,"props":1764,"children":1766},{"href":1765},"https://www.hwk-dresden.de/recht/aktuelle-themen/detail/barrierefreiheitsstaerkungsgesetz-barrierefreiheit-von-online-shops.html#:~:text=Beim%20Angebot%20von%20Dienstleistungen%20im,h%C3%B6chstens%202%20Millionen%20Euro%20bel%C3%A4uft",[1767],{"type":53,"value":1630},{"type":53,"value":1769},".\n",{"type":23,"tag":82,"props":1771,"children":1772},{},[1773],{"type":53,"value":1774},"Caution:",{"type":53,"value":1776}," This exception applies ",{"type":23,"tag":82,"props":1778,"children":1779},{},[1780],{"type":53,"value":1781},"only to services",{"type":53,"value":1783},"! Micro-enterprises that ",{"type":23,"tag":82,"props":1785,"children":1786},{},[1787],{"type":53,"value":1788},"introduce products",{"type":53,"value":1790}," (e.g., hardware such as special reading devices) onto the market, ",{"type":23,"tag":82,"props":1792,"children":1793},{},[1794],{"type":53,"value":1795},"still fall under the BFSG",{"type":23,"tag":48,"props":1797,"children":1798},{"href":1758},[1799],{"type":53,"value":1603},{"type":23,"tag":48,"props":1801,"children":1803},{"href":1802},"https://www.hwk-dresden.de/recht/aktuelle-themen/detail/barrierefreiheitsstaerkungsgesetz-barrierefreiheit-von-online-shops.html#:~:text=bel%C3%A4uft",[1804],{"type":53,"value":1630},{"type":53,"value":547},{"type":23,"tag":40,"props":1807,"children":1808},{},[1809],{"type":53,"value":1810},"And let's be honest – even if you are narrowly exempt from the requirement, it still pays off to implement accessibility voluntarily to rule out excluding potential customers and to be prepared for future requirements.",{"type":23,"tag":1812,"props":1813,"children":1815},"h4",{"id":1814},"what-exactly-does-barrier-free-mean",[1816],{"type":53,"value":1817},"What exactly does \"barrier-free\" mean?",{"type":23,"tag":40,"props":1819,"children":1820},{},[1821,1823,1828,1830,1835,1837,1842,1844,1849],{"type":53,"value":1822},"According to the common definition, offers are barrier-free if they are findable, accessible, and usable for people with disabilities in the usual way, without particular difficulty, and basically without the help of others\n",{"type":23,"tag":48,"props":1824,"children":1826},{"href":1825},"https://www.hwk-dresden.de/recht/aktuelle-themen/detail/barrierefreiheitsstaerkungsgesetz-barrierefreiheit-von-online-shops.html#:~:text=Barrierefreiheit%20wird%20gew%C3%A4hrleistet%2C%20wenn%20Produkte,auffindbar%2C%20zug%C3%A4nglich%20und%20nutzbar%20sind",[1827],{"type":53,"value":1630},{"type":53,"value":1829},".\nIn the web area, this specifically means: for example, a website must also be operable via a screen reader (reading software) or solely with the keyboard; there must be no hurdles for visually impaired, hearing-impaired, motor or cognitively challenged people. Technically, the requirements in the ",{"type":23,"tag":44,"props":1831,"children":1832},{},[1833],{"type":53,"value":1834},"BFSG",{"type":53,"value":1836}," are based on the European ",{"type":23,"tag":44,"props":1838,"children":1839},{},[1840],{"type":53,"value":1841},"Standard EN 301 549",{"type":53,"value":1843},", which in turn refers to the ",{"type":23,"tag":44,"props":1845,"children":1846},{},[1847],{"type":53,"value":1848},"Web Content Accessibility Guidelines (WCAG) 2.1",{"type":53,"value":1850}," at level AA.",{"type":23,"tag":40,"props":1852,"children":1853},{},[1854,1856,1861,1863,1867,1869,1874],{"type":53,"value":1855},"This means, if you fulfill the success criteria of WCAG 2.1 AA, you are safe. Public bodies are already familiar with these standards from the ",{"type":23,"tag":44,"props":1857,"children":1858},{},[1859],{"type":53,"value":1860},"BITV 2.0 (Barrierefreie-Informationstechnik-Verordnung)",{"type":53,"value":1862},", which has been applicable to public authority websites since 2018 – there, additional content in easy language and sign language is also required.\nFor private providers, the ",{"type":23,"tag":44,"props":1864,"children":1865},{},[1866],{"type":53,"value":1834},{"type":53,"value":1868}," essentially calls for ",{"type":23,"tag":82,"props":1870,"children":1871},{},[1872],{"type":53,"value":1873},"WCAG 2.1 AA",{"type":53,"value":547},{"type":23,"tag":56,"props":1876,"children":1878},{"id":1877},"what-deadlines-and-consequences-apply-transition-periods-and-penalties",[1879],{"type":53,"value":1880},"What deadlines and consequences apply? - Transition periods and penalties",{"type":23,"tag":40,"props":1882,"children":1883},{},[1884,1889,1891,1896,1898,1901],{"type":23,"tag":82,"props":1885,"children":1886},{},[1887],{"type":53,"value":1888},"Key date 28.06.2025:",{"type":53,"value":1890}," From this date, new products and services must be compliant. However, the law provides for a few transition periods. It is important to know that ",{"type":23,"tag":82,"props":1892,"children":1893},{},[1894],{"type":53,"value":1895},"existing contracts and systems are given partial extensions",{"type":53,"value":1897},":\n",{"type":23,"tag":655,"props":1899,"children":1900},{},[],{"type":23,"tag":655,"props":1902,"children":1903},{},[],{"type":23,"tag":559,"props":1905,"children":1906},{},[1907,1956,1978],{"type":23,"tag":563,"props":1908,"children":1909},{},[1910,1915,1917,1922,1924,1929,1931,1934,1940,1943,1948,1950,1955],{"type":23,"tag":82,"props":1911,"children":1912},{},[1913],{"type":53,"value":1914},"Ongoing services:",{"type":53,"value":1916}," If a long-term contract was concluded ",{"type":23,"tag":82,"props":1918,"children":1919},{},[1920],{"type":53,"value":1921},"before 28.06.2025",{"type":53,"value":1923}," and it is continued without changes, the provider has until ",{"type":23,"tag":82,"props":1925,"children":1926},{},[1927],{"type":53,"value":1928},"27.06.2030",{"type":53,"value":1930}," to make the service accessible",{"type":23,"tag":655,"props":1932,"children":1933},{},[],{"type":23,"tag":48,"props":1935,"children":1937},{"href":1936},"https://www.bfsg-barrierefreiheitsstaerkungsgesetz.de/#:~:text=Laut%20BMAS%20gilt%20die%20%C3%9Cbergangsfrist,und%20nur%20in%20zwei%20F%C3%A4llen",[1938],{"type":53,"value":1939},"bfsg-barrierefreiheitsstaerkungsgesetz.de",{"type":23,"tag":655,"props":1941,"children":1942},{},[],{"type":23,"tag":44,"props":1944,"children":1945},{},[1946],{"type":53,"value":1947},"Example:",{"type":53,"value":1949}," An online banking system that has been in operation for years and is used by existing customers should be converted by 2030 at the latest – ",{"type":23,"tag":82,"props":1951,"children":1952},{},[1953],{"type":53,"value":1954},"but new offers must be accessible immediately from 2025",{"type":53,"value":547},{"type":23,"tag":563,"props":1957,"children":1958},{},[1959,1964,1966,1971,1973,1977],{"type":23,"tag":82,"props":1960,"children":1961},{},[1962],{"type":53,"value":1963},"Older technology in use:",{"type":53,"value":1965}," If a service uses a product that was already ",{"type":23,"tag":82,"props":1967,"children":1968},{},[1969],{"type":53,"value":1970},"in use before June 2025",{"type":53,"value":1972},"\n(e.g., an existing self-service terminal), the deadline until 2030 also applies\n",{"type":23,"tag":48,"props":1974,"children":1975},{"href":1936},[1976],{"type":53,"value":1939},{"type":53,"value":547},{"type":23,"tag":563,"props":1979,"children":1980},{},[1981,1986,1988,1991],{"type":23,"tag":82,"props":1982,"children":1983},{},[1984],{"type":53,"value":1985},"Self-Service Terminals:",{"type":53,"value":1987}," The law allows 15\nyears transition time for ATMs, ticket machines & similar that already exist. These may continue to be used until 2040 before they must be replaced or retrofitted",{"type":23,"tag":655,"props":1989,"children":1990},{},[],{"type":23,"tag":48,"props":1992,"children":1994},{"href":1993},"https://www.bundesfachstelle-barrierefreiheit.de/DE/Fachwissen/Produkte-und-Dienstleistungen/Barrierefreiheitsstaerkungsgesetz/barrierefreiheitsstaerkungsgesetz_node.html#:~:text=F%C3%BCr%20einige%20Produkte%20und%20Dienstleistungen,eine%20%C3%9Cbergangsfrist%20von%2015%20Jahren",[1995],{"type":53,"value":1603},{"type":23,"tag":655,"props":1997,"children":1998},{},[],{"type":23,"tag":40,"props":2000,"children":2001},{},[2002,2007,2009,2014,2016,2021,2023,2028,2030,2035],{"type":23,"tag":82,"props":2003,"children":2004},{},[2005],{"type":53,"value":2006},"Important:",{"type":53,"value":2008}," However, as soon as a provider ",{"type":23,"tag":82,"props":2010,"children":2011},{},[2012],{"type":53,"value":2013},"significantly revises an existing service",{"type":53,"value":2015}," or closes a ",{"type":23,"tag":82,"props":2017,"children":2018},{},[2019],{"type":53,"value":2020},"new contract",{"type":53,"value":2022},"\nwith a consumer ",{"type":23,"tag":82,"props":2024,"children":2025},{},[2026],{"type":53,"value":2027},"after June 2025",{"type":53,"value":2029},", the current parts must be accessible – so you can't\ndemand another 5 years extension for updates\n",{"type":23,"tag":48,"props":2031,"children":2033},{"href":2032},"https://www.bfsg-barrierefreiheitsstaerkungsgesetz.de/#:~:text=match%20at%20L720%20gr%C3%B6%C3%9Feren%20Updates,sie%20m%C3%BCssen%20sofort%20barrierefrei%20sein",[2034],{"type":53,"value":1939},{"type":53,"value":2036},".\nThe transition periods are intended as a grace period for old stocks, not as a loophole for prolongation.",{"type":23,"tag":1581,"props":2038,"children":2040},{"id":2039},"control-and-sanctions",[2041],{"type":53,"value":2042},"Control and Sanctions",{"type":23,"tag":40,"props":2044,"children":2045},{},[2046,2048,2053],{"type":53,"value":2047},"Compliance is checked by market supervision authorities. In the event of violations, there are first warnings to improve and finally severe measures. In extreme cases, the authority can order that a non-accessible online service is taken off the market or shut down\n",{"type":23,"tag":48,"props":2049,"children":2051},{"href":2050},"https://www.bundesfachstelle-barrierefreiheit.de/SharedDocs/Downloads/DE/Externe-Veroeffentlichungen/bmas-leitlinien-bfsg.pdf?__blob=publicationFile#:~:text=Kommt%20der%20Dienstleistungserbringer%20dieser%20Aufforderung,so%20ergreift%20die%20Markt%C3%BCberwachungsbeh%C3%B6rde%20die",[2052],{"type":53,"value":1603},{"type":53,"value":2054},"!",{"type":23,"tag":40,"props":2056,"children":2057},{},[2058,2060,2064,2066,2071,2073,2078],{"type":53,"value":2059},"Additionally, fines can be levied – the ",{"type":23,"tag":44,"props":2061,"children":2062},{},[2063],{"type":53,"value":1834},{"type":53,"value":2065}," proposes amounts ",{"type":23,"tag":82,"props":2067,"children":2068},{},[2069],{"type":53,"value":2070},"up to 100,000 Euros",{"type":53,"value":2072}," depending on the violation\n",{"type":23,"tag":48,"props":2074,"children":2076},{"href":2075},"https://www.bundesfachstelle-barrierefreiheit.de/SharedDocs/Downloads/DE/Externe-Veroeffentlichungen/bmas-leitlinien-bfsg.pdf?__blob=publicationFile#:~:text=Bu%C3%9Fgeld%20von%20bis%20zu%20100,innen%20und%20Verb%C3%A4nde",[2077],{"type":53,"value":1603},{"type":53,"value":2079},".\nAlso, consumers and associations have rights - they can criticize deficiencies and (similar to AGG violations) exert legal pressure if necessary. Therefore, the issue should be taken seriously. Those who continue as before from 2025 risk damage to their image, complaints, and in the worst case loss of sales.",{"type":23,"tag":40,"props":2081,"children":2082},{},[2083,2085,2090,2092,2095,2100,2102,2107],{"type":53,"value":2084},"In addition to the duty of accessibility, the law also requires companies to produce bureaucratic proofs. For each product or service, a declaration of conformity or technical documentation must be created, describing how the requirements are met\n",{"type":23,"tag":48,"props":2086,"children":2088},{"href":2087},"https://www.bfsg-barrierefreiheitsstaerkungsgesetz.de/#:~:text=F%C3%BCr%20jedes%20Produkt%20und%20jede,wie%20die%20Barrierefreiheitsanforderungen%20erf%C3%BCllt%20werden",[2089],{"type":53,"value":1939},{"type":53,"value":2091},".\nService providers must also easily provide information (e.g. on the website or in terms and conditions) and indicate which market surveillance authority is responsible",{"type":23,"tag":655,"props":2093,"children":2094},{},[],{"type":23,"tag":48,"props":2096,"children":2098},{"href":2097},"https://www.bfsg-barrierefreiheitsstaerkungsgesetz.de/#:~:text=Dienstleister%20m%C3%BCssen%20Informationen%20%C3%BCber%20ihre,werden%20und%20folgende%20Elemente%20enthalten",[2099],{"type":53,"value":1939},{"type":53,"value":2101},".\nIn practice, this should run analogously to the official accessibility statement which is already known from public websites – a section ",{"type":23,"tag":82,"props":2103,"children":2104},{},[2105],{"type":53,"value":2106},"\"Accessibility Statement\"",{"type":53,"value":2108}," with information about the implementation status, contact options for feedback and a reference to the enforcement office.",{"type":23,"tag":56,"props":2110,"children":2112},{"id":2111},"plan-for-accessibility-early-vs-implement-it-later-the-cost-comparison",[2113],{"type":53,"value":2114},"Plan for accessibility early vs. implement it later - the cost comparison",{"type":23,"tag":40,"props":2116,"children":2117},{},[2118,2120,2125,2127,2132,2134,2137,2143],{"type":53,"value":2119},"A frequently heard concern is: ",{"type":23,"tag":44,"props":2121,"children":2122},{},[2123],{"type":53,"value":2124},"\"Will it not become incredibly expensive?\"",{"type":53,"value":2126},"\nThe good news is, if you consider accessibility from the start, the additional effort is significantly reduced.\nA study on Barrier-free Building found that a building planned to be barrier-free from the beginning only causes about 1% additional costs\n",{"type":23,"tag":48,"props":2128,"children":2130},{"href":2129},"https://www.bundesfachstelle-barrierefreiheit.de/SharedDocs/Kurzmeldungen/DE/barrierefreies-bauen-neubau-verursacht-kaum-mehrkosten.html#:~:text=Die%20Studie%20von%20Terrogon%20und,durch%20einen%20Umbau%20zu%20realisieren",[2131],{"type":53,"value":1603},{"type":53,"value":2133},"\n– and the same is true for software projects. Designing control functions to be barrier-free from the start is basically no more complex than developing them with barriers",{"type":23,"tag":655,"props":2135,"children":2136},{},[],{"type":23,"tag":48,"props":2138,"children":2140},{"href":2139},"https://www.aktion-mensch.de/inklusion/barrierefreiheit/barrierefreie-website/kosten-barrierefreie-website#:~:text=Denken%20Sie%20Barrierefreiheit%20von%20Anfang,mit",[2141],{"type":53,"value":2142},"aktion-mensch.de",{"type":53,"value":547},{"type":23,"tag":40,"props":2145,"children":2146},{},[2147],{"type":23,"tag":44,"props":2148,"children":2149},{},[2150],{"type":23,"tag":82,"props":2151,"children":2152},{},[2153],{"type":53,"value":2154},"Whether a developer codes a contact form to be accessible or with unnecessary barriers hardly makes a difference, as long as the end goal is known!",{"type":23,"tag":40,"props":2156,"children":2157},{},[2158,2160,2165,2166,2171,2173,2178,2180,2185],{"type":53,"value":2159},"The right mindset in the team is key. If ",{"type":23,"tag":82,"props":2161,"children":2162},{},[2163],{"type":53,"value":2164},"UX designers",{"type":53,"value":145},{"type":23,"tag":82,"props":2167,"children":2168},{},[2169],{"type":53,"value":2170},"developers",{"type":53,"value":2172},", and ",{"type":23,"tag":82,"props":2174,"children":2175},{},[2176],{"type":53,"value":2177},"editors",{"type":53,"value":2179}," are trained and know from the start what matters, ",{"type":23,"tag":44,"props":2181,"children":2182},{},[2183],{"type":53,"value":2184},"barrier-free websites",{"type":53,"value":2186}," will almost develop themselves. Many measures don't cost extra. For example, using well-planned heading structures and alternative texts from the start only requires a bit of attention but no additional budget!",{"type":23,"tag":1581,"props":2188,"children":2190},{"id":2189},"accessibility-usually-becomes-expensive-when-it-has-to-be-added-afterwards",[2191],{"type":53,"value":2192},"Accessibility usually becomes expensive when it has to be added afterwards.",{"type":23,"tag":40,"props":2194,"children":2195},{},[2196],{"type":53,"value":2197},"Suddenly, you discover that adjustments are needed in multiple places: images without alt text, poor color combinations in the design, interactive components that only work with a mouse, videos without subtitles, PDF documents without tags, etc. Each of these barriers requires analysis, design changes, further development, and testing – in short: additional project iterations which could have been avoided. The later in the development process these changes are made, the higher the cost. Experiences in IT (also from our own projects) show that fixing mistakes later on is multiple times more expensive than preventing them. It's the same with accessibility: \"Shift Left\" is the motto – start early in the process.",{"type":23,"tag":40,"props":2199,"children":2200},{},[2201],{"type":23,"tag":44,"props":2202,"children":2203},{},[2204],{"type":23,"tag":82,"props":2205,"children":2206},{},[2207],{"type":53,"value":2208},"If accessibility is an integral part of the project, the additional effort remains nominal –\nbut maintaining and retrofitting afterward can become quite expensive.",{"type":23,"tag":40,"props":2210,"children":2211},{},[2212,2217],{"type":23,"tag":82,"props":2213,"children":2214},{},[2215],{"type":53,"value":2216},"An example from practice:",{"type":53,"value":2218}," A medium-sized company had its existing online shop checked for accessibility.\nMore than 50 individual problems were found, from missing form labels to unusable dropdown menus. The fixes required several developer sprints and sometimes major frontend restructuring – the cost: high four-digit figures. If these standards had been complied with from the start, almost none of these points would have arisen.\nAdditionally, there were opportunity costs, i.e., other features could not be developed during the revision.",{"type":23,"tag":40,"props":2220,"children":2221},{},[2222,2227],{"type":23,"tag":82,"props":2223,"children":2224},{},[2225],{"type":53,"value":2226},"Our tip:",{"type":53,"value":2228}," Plan for accessibility from the beginning in new projects! The costs are manageable and\ncontribute to a better user experience for everyone!",{"type":23,"tag":56,"props":2230,"children":2232},{"id":2231},"how-to-make-it-barrier-free-tests-and-support-for-companies",[2233],{"type":53,"value":2234},"How to make it barrier-free: Tests and Support for Companies",{"type":23,"tag":40,"props":2236,"children":2237},{},[2238,2240,2245,2247,2252,2254,2259],{"type":53,"value":2239},"If you're now thinking ",{"type":23,"tag":44,"props":2241,"children":2242},{},[2243],{"type":53,"value":2244},"“All well and good, but how do I actually determine if my website is accessible – and who will help me?”",{"type":53,"value":2246}," - don't worry, you don't have to reinvent the wheel. There are tried and tested ",{"type":23,"tag":82,"props":2248,"children":2249},{},[2250],{"type":53,"value":2251},"testing procedures",{"type":53,"value":2253}," and many ",{"type":23,"tag":82,"props":2255,"children":2256},{},[2257],{"type":53,"value":2258},"experts",{"type":53,"value":2260},", who assist companies on the path to accessibility.",{"type":23,"tag":40,"props":2262,"children":2263},{},[2264,2269,2271,2276,2278,2283,2285,2290,2292,2297,2299,2304,2306,2311,2313,2318,2320,2325],{"type":23,"tag":82,"props":2265,"children":2266},{},[2267],{"type":53,"value":2268},"1. Self-check with tools:",{"type":53,"value":2270}," A good first step is a simple self-test. There are ",{"type":23,"tag":82,"props":2272,"children":2273},{},[2274],{"type":53,"value":2275},"free testing tools",{"type":53,"value":2277}," available, with which you can identify typical problems. Popular ones are, for example, the ",{"type":23,"tag":82,"props":2279,"children":2280},{},[2281],{"type":53,"value":2282},"WAVE Accessibility Checker",{"type":53,"value":2284}," (browser extension) or ",{"type":23,"tag":82,"props":2286,"children":2287},{},[2288],{"type":53,"value":2289},"axe DevTools",{"type":53,"value":2291},", as well as ",{"type":23,"tag":82,"props":2293,"children":2294},{},[2295],{"type":53,"value":2296},"Google Lighthouse",{"type":53,"value":2298}," (integrated in the Chrome browser). These tools analyze the website code and report, for example, missing alt texts, insufficient contrasts or forms without labels. It's important to know, however, that while automated tests find many ",{"type":23,"tag":82,"props":2300,"children":2301},{},[2302],{"type":53,"value":2303},"technical",{"type":53,"value":2305}," barriers, they don't find everything and not everything they find is meaningful. Some criteria - such as ",{"type":23,"tag":44,"props":2307,"children":2308},{},[2309],{"type":53,"value":2310},"whether alt texts make logical sense",{"type":53,"value":2312}," or ",{"type":23,"tag":44,"props":2314,"children":2315},{},[2316],{"type":53,"value":2317},"whether the operation sequence is logical",{"type":53,"value":2319}," - can ",{"type":23,"tag":82,"props":2321,"children":2322},{},[2323],{"type":53,"value":2324},"only be assessed by human testers",{"type":53,"value":2326},". Nevertheless, such a tool check is worth it. Within a few minutes, you can get a rough overview of quite obvious problem areas.",{"type":23,"tag":40,"props":2328,"children":2329},{},[2330,2335,2337,2342,2344,2352,2354,2358,2360,2365,2367,2372,2374,2379,2381,2386],{"type":23,"tag":82,"props":2331,"children":2332},{},[2333],{"type":53,"value":2334},"2. Expert Audit (BITV-Test):",{"type":53,"value":2336}," For a reliable result, a ",{"type":23,"tag":82,"props":2338,"children":2339},{},[2340],{"type":53,"value":2341},"manual inspection report",{"type":53,"value":2343}," by specialists is recommended. In Germany, the ",{"type":23,"tag":44,"props":2345,"children":2346},{},[2347],{"type":23,"tag":82,"props":2348,"children":2349},{},[2350],{"type":53,"value":2351},"BITV-Test",{"type":53,"value":2353}," has been established as the standard procedure. This test currently includes around 60 test steps, which are adapted to the ",{"type":23,"tag":44,"props":2355,"children":2356},{},[2357],{"type":53,"value":1873},{"type":53,"value":2359}," and the legal requirements (",{"type":23,"tag":44,"props":2361,"children":2362},{},[2363],{"type":53,"value":2364},"EN 301 549",{"type":53,"value":2366},"). It is carried out by trained auditors – many of them offer this service. The result is a detailed report that shows the strengths and weaknesses of the website and provides a percentage rating. For small websites, the effort is often in the range of a few person-days. According to ",{"type":23,"tag":44,"props":2368,"children":2369},{},[2370],{"type":53,"value":2371},"Aktion Mensch",{"type":53,"value":2373},", the cost for a complete expert analysis varies between ",{"type":23,"tag":82,"props":2375,"children":2376},{},[2377],{"type":53,"value":2378},"2,500 and 10,000 Euros",{"type":53,"value":2380},", depending on the volume (from simple page to complex online store)\n",{"type":23,"tag":48,"props":2382,"children":2384},{"href":2383},"https://www.aktion-mensch.de/inklusion/barrierefreiheit/barrierefreie-website/kosten-barrierefreie-website#:~:text=Mehr%20Budget%20brauchen%20Sie%20f%C3%BCr,000%20Euro%20rechnen",[2385],{"type":53,"value":2142},{"type":53,"value":2387},".\nThis is money well spent as you receive a clear to-do list to become legally compliant.",{"type":23,"tag":40,"props":2389,"children":2390},{},[2391,2396,2398,2403],{"type":23,"tag":82,"props":2392,"children":2393},{},[2394],{"type":53,"value":2395},"3. User Feedback:",{"type":53,"value":2397}," Nothing replaces the practical test with real users. Ideally, a barrier-free site should be tried out by people with different disabilities – e.g. a blind user with a screen reader, someone with visual impairment and magnification software, someone with a motor impairment only using a keyboard, etc. These tests can be organized through specialized service providers or you can ask volunteers from your own environment. The findings are incredibly valuable. For instance, you can see where operation is difficult or confusing. Often this also reveals a general benefit for all (keyword ",{"type":23,"tag":44,"props":2399,"children":2400},{},[2401],{"type":53,"value":2402},"Usability",{"type":53,"value":2404},"). For example, if a senior with tremor cannot tap the small dropdown, it is probably not optimally solved for many others as well – here, a simplified UI can make a huge difference.",{"type":23,"tag":40,"props":2406,"children":2407},{},[2408,2413,2415,2420,2422,2427],{"type":23,"tag":82,"props":2409,"children":2410},{},[2411],{"type":53,"value":2412},"4. Support from agencies and consultants:",{"type":53,"value":2414}," If the know-how is lacking in-house, do not hesitate to engage ",{"type":23,"tag":82,"props":2416,"children":2417},{},[2418],{"type":53,"value":2419},"external professionals",{"type":53,"value":2421},". There are consulting firms and agencies (like ours) with expertise in the field or even a focus on digital accessibility. Look for ",{"type":23,"tag":82,"props":2423,"children":2424},{},[2425],{"type":53,"value":2426},"experience and qualification",{"type":53,"value":2428}," when choosing. Good service providers will prioritize with you what needs to be done, and they can also train your developers to ensure accessibility is sustainably anchored in the process.",{"type":23,"tag":40,"props":2430,"children":2431},{},[2432,2436,2438,2443,2445,2450,2452,2457,2459,2464,2466,2471],{"type":23,"tag":82,"props":2433,"children":2434},{},[2435],{"type":53,"value":2226},{"type":53,"value":2437}," Start with a ",{"type":23,"tag":82,"props":2439,"children":2440},{},[2441],{"type":53,"value":2442},"simple self-test",{"type":53,"value":2444}," to get a feel. Then, if necessary, get offers for a professional audit. The ",{"type":23,"tag":82,"props":2446,"children":2447},{},[2448],{"type":53,"value":2449},"Knappschaft-Bahn-See",{"type":53,"value":2451}," or the ",{"type":23,"tag":44,"props":2453,"children":2454},{},[2455],{"type":53,"value":2456},"Federal Specialist Agency for Accessibility",{"type":53,"value":2458}," (a governmental agency, supported by KBS), offers a lot of ",{"type":23,"tag":82,"props":2460,"children":2461},{},[2462],{"type":53,"value":2463},"information and webinars",{"type":53,"value":2465},", which especially make it easier for e-commerce companies to get started\n",{"type":23,"tag":48,"props":2467,"children":2469},{"href":2468},"https://www.bundesfachstelle-barrierefreiheit.de/DE/Fachwissen/Produkte-und-Dienstleistungen/Barrierefreiheitsstaerkungsgesetz/barrierefreiheitsstaerkungsgesetz_node.html#:~:text=Die%20Bundesfachstelle%20Barrierefreiheit%20hat%20speziell,Reihe%20BFSG%202025",[2470],{"type":53,"value":1603},{"type":53,"value":547},{"type":23,"tag":56,"props":2473,"children":2475},{"id":2474},"misunderstandings-special-cases-and-myths-about-the-bfsg",[2476],{"type":53,"value":2477},"Misunderstandings, special cases and “myths” about the BFSG",{"type":23,"tag":40,"props":2479,"children":2480},{},[2481,2483,2488],{"type":53,"value":2482},"Several ",{"type":23,"tag":82,"props":2484,"children":2485},{},[2486],{"type":53,"value":2487},"theories and uncertainties",{"type":53,"value":2489}," are circulating ahead of the coming into force that we would like to address here:",{"type":23,"tag":559,"props":2491,"children":2492},{},[2493,2585,2661],{"type":23,"tag":563,"props":2494,"children":2495},{},[2496,2498,2503,2505,2510,2512,2516,2518,2523,2525,2530,2532,2536,2538,2543,2545,2550,2552,2556,2558,2563,2565,2570,2572,2576,2578,2583],{"type":53,"value":2497},"\"",{"type":23,"tag":82,"props":2499,"children":2500},{},[2501],{"type":53,"value":2502},"By 2025, all websites have to be accessible.",{"type":53,"value":2504},"\" – ",{"type":23,"tag":44,"props":2506,"children":2507},{},[2508],{"type":53,"value":2509},"Not exactly.",{"type":53,"value":2511}," It is true that the ",{"type":23,"tag":44,"props":2513,"children":2514},{},[2515],{"type":53,"value":1834},{"type":53,"value":2517}," will cover many private\nweb offers, but only ",{"type":23,"tag":82,"props":2519,"children":2520},{},[2521],{"type":53,"value":2522},"certain categories",{"type":53,"value":2524},". A purely informational company website without an\nonline shop, for instance, that does not conclude contracts with consumers, is not ",{"type":23,"tag":82,"props":2526,"children":2527},{},[2528],{"type":53,"value":2529},"directly covered",{"type":53,"value":2531}," by the law\n",{"type":23,"tag":48,"props":2533,"children":2534},{"href":1600},[2535],{"type":53,"value":1603},{"type":53,"value":2537},".\nBut that doesn't mean you should ignore it! Accessibility can bring competitive advantages and the legislature may ",{"type":23,"tag":82,"props":2539,"children":2540},{},[2541],{"type":53,"value":2542},"expand",{"type":53,"value":2544}," its scope in the future.\nFor public websites of authorities, there has been an obligation (",{"type":23,"tag":44,"props":2546,"children":2547},{},[2548],{"type":53,"value":2549},"BITV 2.0",{"type":53,"value":2551},") for years - the ",{"type":23,"tag":44,"props":2553,"children":2554},{},[2555],{"type":53,"value":1834},{"type":53,"value":2557}," now closes\nthe big gap in the ",{"type":23,"tag":82,"props":2559,"children":2560},{},[2561],{"type":53,"value":2562},"private sector",{"type":53,"value":2564}," for consumer offers. ",{"type":23,"tag":82,"props":2566,"children":2567},{},[2568],{"type":53,"value":2569},"Our advice:",{"type":53,"value":2571}," If your website is not currently covered\nby ",{"type":23,"tag":44,"props":2573,"children":2574},{},[2575],{"type":53,"value":1834},{"type":53,"value":2577},", take this opportunity to voluntarily implement accessibility. This will improve your image and\nprepare you in case ",{"type":23,"tag":82,"props":2579,"children":2580},{},[2581],{"type":53,"value":2582},"all websites",{"type":53,"value":2584}," should be covered soon.",{"type":23,"tag":563,"props":2586,"children":2587},{},[2588,2589,2594,2595,2600,2602,2607,2609,2614,2618,2620,2629,2631,2635,2637,2642,2644,2649,2653,2655,2659],{"type":53,"value":2497},{"type":23,"tag":82,"props":2590,"children":2591},{},[2592],{"type":53,"value":2593},"Small businesses are exempted – this will not affect us.",{"type":53,"value":2504},{"type":23,"tag":44,"props":2596,"children":2597},{},[2598],{"type":53,"value":2599},"Beware:",{"type":53,"value":2601}," The ",{"type":23,"tag":82,"props":2603,"children":2604},{},[2605],{"type":53,"value":2606},"micro-enterprise rule",{"type":53,"value":2608},"\n(less than 10 employees, \u003C2 Mio € turnover) applies ",{"type":23,"tag":44,"props":2610,"children":2611},{},[2612],{"type":53,"value":2613},"only to service providers",{"type":23,"tag":48,"props":2615,"children":2616},{"href":1758},[2617],{"type":53,"value":1603},{"type":53,"value":2619},".\nAs soon as your company exceeds this threshold - as many small medium-sized companies do - you ",{"type":23,"tag":82,"props":2621,"children":2622},{},[2623,2625],{"type":53,"value":2624},"must\ncomply with the ",{"type":23,"tag":44,"props":2626,"children":2627},{},[2628],{"type":53,"value":1834},{"type":53,"value":2630}," if you operate relevant offers. An online retailer with 15 employees, for example, is\ndefinitely obligated. The ",{"type":23,"tag":44,"props":2632,"children":2633},{},[2634],{"type":53,"value":1834},{"type":53,"value":2636}," also applies if you formally qualify as a micro-enterprise, but have a\n",{"type":23,"tag":82,"props":2638,"children":2639},{},[2640],{"type":53,"value":2641},"physical sales channel",{"type":53,"value":2643}," (product) in the BFSG area, then the exception ",{"type":23,"tag":82,"props":2645,"children":2646},{},[2647],{"type":53,"value":2648},"does not apply",{"type":23,"tag":48,"props":2650,"children":2651},{"href":1802},[2652],{"type":53,"value":1630},{"type":53,"value":2654},".\nSo check accurately if you are really exempted. In most cases,\nmore ",{"type":23,"tag":82,"props":2656,"children":2657},{},[2658],{"type":53,"value":1741},{"type":53,"value":2660}," like one-man online shops are exempted. For growth-oriented start-ups and SMEs, this\nissue is indeed relevant.",{"type":23,"tag":563,"props":2662,"children":2663},{},[2664,2665,2670,2672,2677,2679,2684,2686,2691,2693,2698,2700,2705,2707,2712],{"type":53,"value":2497},{"type":23,"tag":82,"props":2666,"children":2667},{},[2668],{"type":53,"value":2669},"We would like to, but it's not economically viable.",{"type":53,"value":2671},"\" – The law includes a clause on\n",{"type":23,"tag":82,"props":2673,"children":2674},{},[2675],{"type":53,"value":2676},"disproportionate burden",{"type":53,"value":2678},"! If meeting the requirements poses an ",{"type":23,"tag":44,"props":2680,"children":2681},{},[2682],{"type":53,"value":2683},"unbearable",{"type":53,"value":2685}," financial risk,\nyou can refer to this in exceptional cases\n",{"type":23,"tag":48,"props":2687,"children":2689},{"href":2688},"https://www.bundesfachstelle-barrierefreiheit.de/SharedDocs/Downloads/DE/Externe-Veroeffentlichungen/bmas-leitlinien-bfsg.pdf?__blob=publicationFile#:~:text=Einhaltung%20der%20Barrierefreiheitsanforderungen%20eine%20unverh%C3%A4ltnism%C3%A4%C3%9Fige,oder%20mehrere%20der%20Barrierefreiheitsanforderungen%20dieses",[2690],{"type":53,"value":1603},{"type":53,"value":2692},".\nBut be careful – the hurdles are high. You need to prepare a ",{"type":23,"tag":82,"props":2694,"children":2695},{},[2696],{"type":53,"value":2697},"detailed documentation",{"type":53,"value":2699}," according to certain criteria\nand review it regularly (at least every 5 years). In addition, you need to inform the market surveillance authority and provide all facts upon request.\nFor the vast majority of companies, however, accessibility is likely to be ",{"type":23,"tag":82,"props":2701,"children":2702},{},[2703],{"type":53,"value":2704},"reasonable",{"type":53,"value":2706},", as it also opens up\n",{"type":23,"tag":82,"props":2708,"children":2709},{},[2710],{"type":53,"value":2711},"additional customer groups",{"type":53,"value":2713}," in the long term.",{"type":23,"tag":56,"props":2715,"children":2717},{"id":2716},"conclusion-understand-accessibility-as-an-opportunity",[2718],{"type":53,"value":2719},"Conclusion: Understand accessibility as an opportunity",{"type":23,"tag":40,"props":2721,"children":2722},{},[2723,2725,2729,2731,2736,2738,2743,2745,2750],{"type":53,"value":2724},"Instead of seeing the ",{"type":23,"tag":44,"props":2726,"children":2727},{},[2728],{"type":53,"value":1834},{"type":53,"value":2730}," only as a burdensome obligation, it is worth recognizing the ",{"type":23,"tag":82,"props":2732,"children":2733},{},[2734],{"type":53,"value":2735},"potentials",{"type":53,"value":2737},": About 10\nmillion people in Germany live with a recognized disability – a huge market segment. This includes many\nolder people with dwindling sensory abilities, temporarily restricted persons (broken arm, etc.) and users with\nsituational handicaps (blinding sunlight on the mobile phone, loud surroundings, …). ",{"type":23,"tag":82,"props":2739,"children":2740},{},[2741],{"type":53,"value":2742},"An accessible offer reaches\nmore customers and is often more comfortable for all users.",{"type":53,"value":2744}," Many accessibility principles are simply ",{"type":23,"tag":44,"props":2746,"children":2747},{},[2748],{"type":53,"value":2749},"best\npractices",{"type":53,"value":2751}," for good web design (clear structure, meaningful links, sufficient contrast, etc.). Companies that lead the way\nhere, can profile themselves with an inclusive image and simultaneously minimize legal risks.",{"type":23,"tag":40,"props":2753,"children":2754},{},[2755,2756,2764,2766,2771,2773,2777],{"type":53,"value":390},{"type":23,"tag":82,"props":2757,"children":2758},{},[2759],{"type":23,"tag":44,"props":2760,"children":2761},{},[2762],{"type":53,"value":2763},"Accessibility Strengthening Act",{"type":53,"value":2765}," may initially appear to be another compliance hurdle. However, with the right\npartner and approach, it can be managed – without your budget exploding or your team getting desperate. ",{"type":23,"tag":82,"props":2767,"children":2768},{},[2769],{"type":53,"value":2770},"We\nare happy to support",{"type":53,"value":2772}," you in setting the course early so that your web project is not only legally compliant,\nbut provides a real added value for ",{"type":23,"tag":44,"props":2774,"children":2775},{},[2776],{"type":53,"value":322},{"type":53,"value":2778}," users!",{"type":23,"tag":40,"props":2780,"children":2781},{},[2782,2786],{"type":23,"tag":82,"props":2783,"children":2784},{},[2785],{"type":53,"value":1270},{"type":53,"value":1272},{"title":7,"searchDepth":1274,"depth":1274,"links":2788},[2789,2793,2796,2799,2800,2801],{"id":1543,"depth":1274,"text":1546,"children":2790},[2791],{"id":1583,"depth":2792,"text":1586},3,{"id":1877,"depth":1274,"text":1880,"children":2794},[2795],{"id":2039,"depth":2792,"text":2042},{"id":2111,"depth":1274,"text":2114,"children":2797},[2798],{"id":2189,"depth":2792,"text":2192},{"id":2231,"depth":1274,"text":2234},{"id":2474,"depth":1274,"text":2477},{"id":2716,"depth":1274,"text":2719},{"_path":2803,"_dir":1327,"_draft":6,"_partial":6,"_locale":7,"slug":1294,"teams":2804,"primaryTeam":2806,"firstName":2807,"lastName":2808,"prefixTitle":7,"suffixTitle":7,"education":2809,"executiveRole":2813,"role":2814,"workingSince":2820,"inTheCompanySince":2821,"techSkills":2822,"skills":2855,"projects":2866,"contactDetails":2877,"_image":2880,"image":2881,"_id":2882,"_type":1410,"title":2883,"_source":1327,"_file":2884,"_stem":2885,"_extension":1410},"/employees/bernd-helm",[2805,2806],"ai","devOps","Bernd","Helm",[2810],[2811,2812,1341],"B. Sc. Angewandte Informatik","FHDW Dresden","CTO",[2815,2816,2806,2817,2818,1344,2819,1348],"founder","chiefTechnologyOfficer","databaseSpecialist","admin","backendDeveloper","2005","2008",[2823,2826,2829,2830,2833,2835,2838,2839,2840,2842,2845,2848,2849,2850,2851,2854],{"name":2824,"level":1352,"icon":2825},"Docker","/images/Docker.svg",{"name":2827,"level":1352,"icon":2828},"Linux","/images/linux_os-mono.svg",{"name":165,"level":1352},{"name":2831,"level":1352,"icon":2832},"MariaDB ColumnStore","/images/maria-db-logo.svg",{"name":2834,"level":1352},"OpenAI",{"name":2836,"level":1352,"icon":2837},"Pytorch","/images/PyTorch.svg",{"name":1351,"level":1352},{"name":1367,"level":1352},{"name":2841,"level":1352},"Python",{"name":2843,"level":1352,"icon":2844},"SQL","/images/SQL.svg",{"name":2846,"level":1358,"icon":2847},"C++","/images/cpp-logo.svg",{"name":1354,"level":1358,"icon":1355},{"name":1357,"level":1358,"icon":1359},{"name":1361,"level":1358,"icon":1362},{"name":2852,"level":1358,"icon":2853},"OpenCV","/images/OpenCV.svg",{"name":1364,"level":1358,"icon":1365},[2856,2858,2860,2861,2863,2864],{"name":2857,"level":1352},"artificialIntelligence",{"name":2859,"level":1352},"codingGuidelines",{"name":1438,"level":1352},{"name":2862,"level":1352},"linuxServerAdministration",{"name":1389,"level":1352},{"name":2865,"level":1358},"qualityAssurance",[2867,2870,2872,2873,2876],{"project":2868,"position":2869},"Gridside","Technical Consultant",{"project":2871,"position":2869},"Herole",{"project":1394,"position":2869},{"project":2874,"position":2875},"Orsee","Technical Manager",{"project":1397,"position":2869},{"eMail":2878,"phone":2879,"visibility":1401},"bernd.helm@helmundwalter.de","+49 351 799 035 20","images/employees/Portraits/bernd_helm.webp","images/employees/Portraits/BerndHelm_MS.webp","employees:employees:1.bernd-helm.json","Bernd Helm","employees/1.bernd-helm.json","employees/1.bernd-helm",{"_path":1326,"_dir":1327,"_draft":6,"_partial":6,"_locale":7,"slug":10,"teams":2887,"primaryTeam":1329,"firstName":1330,"lastName":1331,"prefixTitle":1332,"suffixTitle":7,"executiveRole":1333,"education":2888,"role":2891,"workingSince":1341,"inTheCompanySince":1338,"techSkills":2892,"skills":2903,"projects":2911,"contactDetails":2914,"certifications":2915,"image":1408,"_id":1409,"_type":1410,"title":1411,"_source":1327,"_file":1412,"_stem":1413,"_extension":1410},[1329],[2889,2890],[1336,1337,1338],[1340,1337,1341],[1343,1344,1345,1346,1347,1348],[2893,2894,2895,2896,2897,2898,2899,2900,2901,2902],{"name":1351,"level":1352},{"name":1354,"level":1352,"icon":1355},{"name":1357,"level":1358,"icon":1359},{"name":1361,"level":1358,"icon":1362},{"name":1364,"level":1358,"icon":1365},{"name":1367,"level":1358},{"name":1369,"level":1352,"icon":1370},{"name":1372,"level":1352,"icon":1373},{"name":1375,"level":1358,"icon":1376},{"name":1378,"level":1358},[2904,2905,2906,2907,2908,2909,2910],{"name":1381,"level":1352},{"name":1347,"level":1352},{"name":1346,"level":1352},{"name":1385,"level":1358},{"name":1387,"level":1358},{"name":1389,"level":1358},{"name":1391,"level":1358},[2912,2913],{"project":1394,"position":1395},{"project":1397,"position":1395},{"eMail":1399,"phone":1400,"visibility":1401},[2916],{"image":1404,"link":1405,"title":1406,"pdf":1407},1782284057068]