When deploying a Nuxeo application, we often have some parameters that differ from one environment to another. For instance, the SAML endpoint may be different between production and development. To address that problem there are different solutions:
nuxeo.conf
: the configuration then becomes the responsibility of the ops team and every change needs to be communicated to themIn a cloud-native world, applications are shipped as containerz, and…
What Does It Mean To Generate A Zip Server Side?
One of my reflexes, when I try to do something I’ve never done before, is first to query Google to have an idea if someone already encountered the problem and also get a rough idea about the various strategies to solve my problem. When I query “ generate zip in java servlet”, we quickly end up on solutions that make use of the ZipOutStream
and usually either store the result into an array of bytes (very bad solution) or wrap the servlet response with the ZIP output stream.
The first…
In the DevOps culture, you may often hear about immutable infrastructure. This describes an infrastructure where deployments are reproducible and immutable: if executed twice, it should give the same result. It is important because it guarantees that a given deployment leads to only one given state.
For instance, when the underlying infrastructure needs to be changed (think of a disk failure), it is easy to redeploy our application on a new machine. Another use is when we detect that the application has been compromised, we can just shut down the actual deployment, and run a new one. And finally, when…
While playing recently with serverless technologies and Java, it came to my mind a very stupid idea: could we run Nuxeo in a Lambda? Why would I want that?
There are numerous situations when you may need light access to the document repository, just to get a document and do something quickly with it. Imagine for instance an external workflow engine that just needs to pull and push some metadata when the process is evolving. …
Picture by Randy Fath on Unsplash
The Nuxeo Platform was designed from the beginning to be a Service Oriented Platform. We embraced SOA from the beginning and that’s one of the reason why it’s so easy to do calls like Framework.getService(MyService.class)
from every part of the code in Nuxeo.
We definitely love doing pluggable services, and when we want to introduce a new feature, our DNA tells us: what extension point and what service can we provide? Throughout the years, even the runtime part of the platform has evolved and it’s now even easier to implement a new component.
In…
Picture by Kai Dahms on Unsplash
I used to be a frontend developer in the past. However, life and job made me switch to the backend side and now to the joy of deploying those applications in the cloud.
Nowadays, all frontend applications subscribed to the single page app paradigm, using various frameworks like React, Vue, Angular or TheLastVeryPopularJsToy. They all have in common that they are web applications: all code is HTML, Javascript, CSS, and static assets. As a result, to host this application you just need to serve the static resources. …
In part1 and part2 of this series, we created a small web application and deployed it in AWS lambda.
In this third part, we will take the same JAX-RS application and deploy it in Google Cloud. For that purpose, we will use Google AppEngine and use Google Datastore as a storage mechanism for our Movie objects.
Google App Engine appeared in April 2008, and as a result, is by far the first Serverless application infrastructure. It existed even before the Serverless word appeared for the first time.
As with most Serverless environments, GAE imposes some constraints…
In the first part of this series, we described the small CRUD API that we wanted to build. It ended up by creating a simple web application that can run in every servlet container and stores its data in Memory.
In this second part, we will adapt the application to make it runnable in AWS as a serverless application. For that purpose, we will use the SAM framework, adapt our web application for AWS Lambda and finally use DynamoDB as a storage mechanism.
One of the most difficult thing when developing a serverless application is to keep our application organized…
Concurrency has always been a problem in software development. As soon as you have several paths of execution, some part of your program may access the same resource at the same time… and problems happen at that particular moment.
In Java, we have several synchronization mechanisms that allow preventing problems to occur. When it comes to distributed workload, we are not working inside the same JVM and we may be confronted with the same dangers.
Imagine for instance that you have a cluster of servers that have to access a common resource. Let’s say for instance…
TL;DR; This post is the intro to a series that will explore multi-cloud serverless development in coding in Java.
By far, it’s the new buzz word of the moment, hence this blog post! If we want to be more descriptive we would say that a common definition could be: an infrastructure that lets you build your application without managing any server and that is billed on a usage basis. This last part is important, it can be translated as: if you don’t use it, then you don’t pay for it.
This provides several advantages. First, you do not manage the…