Skip to content
View nfrankel's full-sized avatar

Highlights

  • Pro

Organizations

@formations @ajavageek
Block or Report

Block or report nfrankel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
nfrankel/README.adoc
ℹ️

last updated 2024.06 This profile is automatically generated.

If you’re interested in knowing more, please check the code.

Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Also double as a trainer and triples as a book author.

✍️ Most recent blog posts

A refresher on GitHub Pages (2024-06-16)

I moved my blog from WordPress to GitLab Pages in…​ 2016. I’m happy with the solution. However, I used GitHub Pages when I was teaching for both the courses and the exercises, e.g., Java EE. At the time, there was no GitHub Actions: I used Travis CI to build and deploy. Recently, I had to use GitHub Pages to publish my Apache APISIX workshop. Travis is no longer free. GitHub Actions are a thing. I used the now nominal path and faced a few hurdles; here are my findings. GitHu[…​]

Random and fixed routes with Apache APISIX (2024-06-09)

My ideas for blog posts inevitably start to dry up after over two years at Apache APISIX. Hence, I did some triage on the APISIX repo. I stumbled upon this one question: We have a requirement to use a plugin, where we need to route the traffic on percentage basis. I’ll give an example for better understanding. We have an URL https://xyz.com/ca/fr/index.html where ca is country (canada) and fr is french language. Now the traffic needs to routed 10% to https://xyz.com/ca/en/index.html a[…​]

Even more Opentelemetry! (2024-06-02)

I continue to work on my Opentelemetry demo. Its main idea is to showcase traces across various technology stacks, including asynchronous communication via an MQTT queue. This week, I added a couple of components and changed the architecture. Here are some noteworthy learnings; note that some of them might not be entirely connected to OpenTelemetry. Here’s an updated diagram. New components appear in violet, and updated components appear in green. I want to be able to add more comp[…​]

🗣️ Upcoming talks

Chopping the monolith @ Java User Group CH

Micro services are ubiquitous. However, most companies that implement micro services do not reap their full benefits - at best. At worst, it’s an epic failure. There are reasons for micro services: independent deployment of business capabilities. However, the unspoken assumption is that you need to deploy all capabilities all the time. My experience has shown me that it’s plain wrong. Some capabilities need frequent deployment, while some are much more stable. In "the past", we used Rule Engines to allow updating business rules without deployment. While it solved the problem, this approach had issues. Between introducing a Rule Engine and migrating your complete system to micro services, I believe that there’s a middle path, and that this path is Function-as-a-Service. In this talk, I’ll detail every point I’ve made above, and show how one can use Serverless to pragmatically design a system that allows deploying as often as you need.

Die API eines armen Mannes mit dem Ökosystem von PostgreSQL @ Swiss PGDay 2024

Die Entwicklung einer vollwertigen API braucht Ressourcen, sowohl Zeit als auch Geld. Ihr müsst über das Modell, das Design, die REST-Grundsätze usw. nachdenken, ohne eine einzige Zeile Code zu schreiben. Meistens weiß man nicht, ob es sich lohnt: Man möchte ein Minimum Viable Product anbieten und von dort aus iterieren. In diesem Vortrag möchte ich euch zeigen, wie ihr das mit PostgreSQL, PostgREST und Apache APISIX erreichen könnt.

Evolving your APIs, a step-by-step approach @ Java Forum Stuttgart

When you publish your first HTTP API, you’re more focused on short-term issues than planning for the future. However, chances are you’ll be successful, and you’ll hit the wall. How do you evolve your API without breaking the contract with your existing users? In this talk, I’ll first show you some tips and tricks to achieve that: moving your endpoints, deprecating them, monitoring who’s using them, and letting users know about the new endpoints. The talk is demo-based, and I’ll use the Apache APISIX project for it.

🎥 Latest video recording

Latest video recording
Nicolas Fränkel – Practical introduction to OpenTelemetry tracing

Pinned

  1. kaadin kaadin Public

    Kotlin DSL for Vaadin

    Kotlin 45 12

  2. slf4k slf4k Public

    Kotlin 9 3