I am not normally a cynic. I trust people’s good intentions. However, I am a little suspicious when an argument in favor or against a specific way of doing something boils down to: “we, the team, have agreed…” (or various flavors that use decided, concluded etc). It may very well […]
Architecture
Mont Blanc is [not] the highest mountain–risk of local optimization
The best solution may not be the best solution. Depending on the scope in which you consider the alternatives, you may arrive at the wrong conclusion. Consider only the problem at hand, there may be an apparently easy solution that in the grander scheme of things is not optimal and […]
Use it .. or lose it. On Application and Feature decommissioning
“Can we let go of that office building?” (we pay rent, utilities, furniture – is that still necessary or justified) “Well, I believe Chris is still making use of that building.” Chris: “my team meets Wednesday morning every other week in one of the conference rooms in that building.” (Chris’ […]
Which tools and technologies are new and exciting, proven, growing stale–report from Devoxx 2022
A conference such as Devoxx is a great opportunity to get inspired into trying out tools and technologies that may not or only be vaguely be known as they are mentioned or even demonstrated by presenters or discussed in the hallways of the movie theater where the conference is taking […]
WebSinker–generic event detection for unhooked systems to trigger WebHook
Quite a few systems – business applications large and small – do not have support for WebHooks. That is: they do not offer the ability to register a URL as HTTP endpoint (WebHook) that the system will send requests to that inform the endpoint about relevant events. However, there are […]
AMIS DataSafe, the answer to Black Swan scenarios
How to be prepared for a black swan scenario?
Dapr and Kafka–easy binding
Dapr is a runtime framework for distributed applications. Dapr also provides a personal assistant to any application and environment that offers standardized access to different facilities (state, secrets, configuration, pub/sub, actors) and technologies. Simply by using Dapr we can leverage a large number of Dapr components that through the Dapr […]
Dumb pipes, smart endpoints–the Post Filter, the register to stop unwanted mail
Many people receive mail at their front door that they do not want to receive. Commercial mail, mail from companies they may perhaps made enquiries with long ago, mail addressed to people who used to live at the address. Mail that should be blocked – like email ending up in […]
Product selection done quickly
Your customer has a specific challenge and wants to have it solved by means of software. They ask you as a software/solution architect to advise them on this topic and they want to be able to choose a solution based on your advise by the end of next week (we’re […]
Scaling [down] the Mountain of Debt – Four dimensions of IT Debt
WYSIWYG may not be true for all IT systems. What you see may be more than what you actually get. As a Product Owner, you have to be very careful to not deceive yourself. The latest iteration of your product may be shiny and new – but all may not […]
Architecture in an agile world
This year I had to work with a colleague for multiple internal poc’s that we could use to show customers. Together we started thinking about the approach and where to start. We planned to approach it in a Scrum way, but soon landed upon the question where architecture would fit […]
Play environment for WebGoat, WebWolf and Juice Shop
In this blog post, I will show how you can install the OWASP training tools WebGoat, WebWolf and JuiceShop on your local laptop using Vagrant.
Measure the Quality of your Source Code!
Quality is something which is hard to define. Different areas of expertise use their own definitions of what quality is. Without an objective standard which carries weight, anyone can claim to provide a quality product or service according to some standard. This makes it difficult to compare products and to […]
The Release Formula: R = ΔF + ΔNF + ΔQ
TL;DR: a software release introduces changes in three areas: functional, non-functional and quality. Each change should contribute to identified objectives – and the contribution should be measurable. Product teams should strive for release statements that identify the changes, the objective they contribute to and the metric used for measuring their […]
The True Cost of a Feature–Kill your darlings
TL;DR: the true cost of a software feature includes a long tail of operational and maintenance cost that should be taken into consideration when first implementing the feature. The continuance or deprecation of features should be evaluated periodically, based on the actual usage and true value of the feature – […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (1)
What’s in a name? A title is important and I hope that it describes well what I do want to share with you in this series of articles. It is not so much about how to use the back-end part (Oracle Database) or the front-end (Oracle APEX, Java, Node, React […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (6)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (5)”, I told you about Git, Subversion, Maven and Flyway. In this final article, I will discuss the following tools & methods: Oracle SQL Developer, utPLSQL, SonarQube, Perl, Ant and DevOps. Oracle […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (5)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (4)”, I told you about the Oracle SQL Developer Data Modeler. This time I will discuss the following tools: Git, Subversion, Maven and Flyway. Flyway The first tool I would like to […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (4)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (3)”, I told you about the Oracle Database and Oracle APEX. This time I will discuss Oracle SQL Developer Data Modeler. Oracle SQL Developer Data Modeler A book I can recommend is Oracle […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (3)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (2)”, I did show you the database structure. This time I will elaborate on the base tools, the Oracle Database and Oracle APEX. Oracle Database How to use it? I can tell […]
How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (2)
Last time in “How to build an Oracle Database application (that supports APEX, Java, React or any other front-end) (1)”, I gave you an introduction. This time I will elaborate on the database structure. Project folder layout The following top level directories may exist for every database application project: Directory Description […]
The Prototype Pitfall
TL;DR Prototyping is an essential way to determine the technical feasibility and functional desirability of features of a software system. There is a clear and present danger that the prototype is considered to be professional code, peer reviewed and production ready. This risk must be mitigated and anyone involved needs […]
Using one-time upload URLs in AWS with S3 versioning
In this blog, I will show how you can use the SAM (Serverless Application Model) to get a presigned upload URL to AWS S3 that can be used exactly once [1]. In AWS it is possible to use a presigned URL to upload files, but the URL is valid for […]
Using one-time upload URLs in AWS with Memcached
In this blog I will show how you can use the SAM (Serverless Application Model) to get a presigned upload URL to AWS S3 that can be used exactly once [1]. In AWS it is possible to use a presigned URL to upload files, but the URL is valid for […]
Using one-time upload URLs in AWS using DynamoDB
In this blog, I will show how you can use the SAM (Serverless Application Model) to get a presigned upload URL to AWS S3 that can be used exactly once [1]. In AWS it is possible to use a presigned URL to upload files where the URL is valid for […]
Performance problems, the Whys.. and Hows.. around them
Introduction Over the last years, as part of my consultancy experience, I had the chance to work on several assignments tackling IT performance problems. In this post I will try to share my experiences on that topic, considering performance problems that I have faced on several (on-premise, cloud, hybrid) and […]
AWS Lambda: shared libraries (and SAM)
In June I wrote a blog series about the AWS Shop Example. In this series, I also wrote about X-Ray [1]. I like X-Ray: you can see how much time each step in a whole concattenation of AWS services takes and how much time it costs to send the response […]
AWS blog series part 5: Start PowerShell script after a reboot when Windows fails to do so
You might have wondered in the second blog of this series [1], why I mentioned the possibility that the Task Scheduler didn’t start after a reboot in the “on-premise” (Hyper-V) environment, but I didn’t do so in the AWS environment. Well, that’s because I used a “trick”, where AWS will […]
Windows Failover Cluster on AWS part 4: Construction of the CloudFormation scripts
Introduction If you follow along in this blog series [1], I can imagine that if you deployed the CloudFormation scripts, that you think “wow, how does it work”. In this blog, I try to answer that question. 1. Windows Failover Clustering Nested stacks When you start the CloudFormationFailover.yml script, you […]
AWS Migration part 3: The technique behind Windows Failover Cluster on AWS
Introduction In the previous two blogs [1], I showed that it is is possible to implement a Windows Failover Cluster in AWS. In this blog, I will explain the differences between a Failover Cluster on-premise and a Failover Cluster in AWS. 1. How does a Windows Failover Cluster work on-premise? […]
AWS Migration part 1: how to migrate Windows Failover Clustering servers to AWS?
Introduction In this series, I will look at the migration from on-premise Windows Failover Clusters to AWS. What is the difference in recovery times between the application on-premise, the 1:1 migration of a Failover Cluster to AWS and the commonly used pattern of an Auto Scaling Group with one node? […]
Heeft kwetsbaarheid verholpen….
Alleen al dit jaar zijn er meer dan 70 ‘adviezen’ geformuleerd door het Nationaal Cyber Security Centrum. Ondanks deze adviezen lezen we met enige regelmaat over grote IT-hacks en of verstoringen. Ze gaan vaak gepaard met grote financiële en of maatschappelijke gevolgen.
Anchore Engine: Container image vulnerability scanning
Applications nowadays, are usually deployed inside containers. A container consists of libraries and tools which allow the application to run inside. Since there can be exploitable vulnerabilities, it is not only important to take security into account for your application, but also for the container it runs in. There are […]
AWS Shop example: unit tests
Introduction In the last six blogs [1], I showed you an application that used AWS to process the sales from a cashing machine. This series continues with tests for this application. Some objects of our solution cannot be tested: we cannot test the API gateway, the SNS topics or DynamoDB […]
AWS Shop example: the API Gateway (1)
Introduction You might have noticed that we skipped the API Gateway up to now [1]. I will write two blogs about the API Gateway. In this one, we follow the simplest route: from sending the message to the API gateway, and let the API Gateway deliver the message at the […]
Example application in AWS using Lambda
Introduction I have to admit: I love serverless. Serverless computing is using the cloud as it is supposed to be used: it scales up when you need more capacity, it scales down to zero when you don’t need resources. That is really good when you have, for example, a shop […]
Migrating an old (10.2.0.4) database to Oracle Cloud with minimal downtime
Unlike most of our posts this post will contain almost no code or examples. But it hopefully will help somebody who ends up to be in the same situation we landed on: migrating data from very old versions to a new environment. Recently we were tasked with the migration of […]
Setup and use of oVirt on CentOS7
Today, I’ll explain how to install and use oVirt: a nice virtualization tool for Linux, which is based on KVM. I installed the current production version 4.3.8 on a test machine, a Medion machine with an extra SSD drive. As usual, you’ll find the installation file for pxe that I […]
Calling an Oracle DB stored procedure from Spring Boot using Apache Camel
There are different ways to create data services. The choice for a specific technology to use, depends on several factors inside the organisation which wishes to realize these services. In this blog post I’ll provide a minimal example of how you can use Spring Boot with Apache Camel to call […]