Spring Cloud Function on Azure run locally

I am busy with a demo application to show the power of Cloud Functions in general and specific Spring Cloud Function.

I was already able to deploy the Demo application on IBM Cloud, next step is to run in it on Azure.

Prepare the application

I found a very good article by Microsoft which explain how to prepare your Spring Cloud Function application before it can be deployed to Azure.

First run it locally

After the preparations I tried to run the application locally. Microsoft did a great job to make this possible. Helps speed up the development of the application before the actual deployment.

But when I tried to run the application locally it failed with a stack trace. After some searching on the internet I found the solution.

I need to the Main Class to the local.settings.json file, which point to the start class of the application. After I added this line I was able to run my demo application locally.

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "java",
"AzureWebJobsDashboard": "",
"MAIN_CLASS":"nl.elstarit.nl.demo.functions.demo.DemoFunction"
}
}

The last step, the actual deployment to Azure was very easy.

Deploy Spring Cloud Function to IBM Cloud

Lately I was playing around with Spring Cloud Functions by building a small demo application.

Locally It runs without any problems. The Spring Cloud team did a great job. Easy to use like most of the Spring Framework projects.

Run it on IBM Cloud

But why run it locally, it should run in the Cloud. Why not run it on IBM Cloud.

To run a JVM based application you need a manifest file with a few settings about the application like host and memory. And push it to the cloud

cf push appname

In the beginning it looks like it was delaying, but it ended with an error, complaining about the build pack. Apparently during deployment it is not possible to determine which build pack needs to be used.

Solution

The solution was pretty easy, by adding the build pack with -b parameter

cf push appname -b liberty-for-java

Happy coding

Speaking (again) at Engage in a Zoo

Today I received a positive confirmation about one of my abstracts for Engage 2020. So after speaking at the Zoo of Antwerp it will be once again in Zoo.

Looking forward to meet all the people, see who they are doing.

My session

Title: Em02. Hello, are you listening! There is stream for everything

Abstract

The world is changing in a event driven world
Event driven architecture is not a new technology. IBM MQ is already 25 years old.
The popularity is increasing, because it is a robust, decoupled way to exchange data.
Today there are new popular ‘new kids on the block’. Kafka is one of them and gets lots of attention also in the enterprise.
The principle however are still the same, called Pub Sub principle.
HCL will add to the App Dev pack the possibility to consume and produce to a broker/stream.
There are frameworks who helps you to focus on the business logic.
In this session I will explain this principle and show you that is not that difficult to make use of it. Connect your existing code to a service bus or queue, producing and consuming.

Looking forward to see you on Wednesday March 4th around 13:30.

engage 2020

Congratulations, you’re an IBM Champion (again)!

Yesterday I received an email from IBM with the above subject, especially from Libby Ingrassia. For me it came as unexpected suprise.

So I will be an IBM Champion again in 2020. This now for the fourth time in row, but for the sixth time in total.

It remains an extreme honour to get such a recognition from IBM. In 2020 I will continue to share my knowledge about development topics.

IBM Champion

Spring One Platform as a first timer

Last week it was the first time I attend Spring One Platform conference in Austin. It is the conference all around the Spring Framework. A very vibrant open source framework which coordinates by Pivotal.

Road to Austin

A friend of my has joined me (again), so we flew on a direct KLM flight to Houston and drove over to Austin. We stayed in a very pleasant hide-away in the very nice neighbourhood Travis Heights. The swimming pool was very useful as the weather was very hot even for Austin.

AirBnB

Spring boot runs everywhere

The power of Spring Boot application was the ability to run almost everywhere. Now they expand it even further.

Good to see that Spring Boots app not only requires a Cloud Foundry environment, as the applications will also natively on Google Cloud, Azure, AWS and even Heroku.

Everything is reactive

The overall theme was reactive. The last years there was a rise of non-blocking way of communicating between front end and back end. Pivotal is taking it to the next level, with introducing the Reactive way in all the Spring modules.

The project Reactor is the base of the JVM based projects. But also by using Rsocket, which is an alternative for http communication. This protocol opens up lots of new possibilities like 2 way communications. And it can ends the use of connection pools.

On the database connection, R2DBC is a new project which makes even the calls and transactions to a relational datastore non-blocking.

In all these Reactive projects Pivotal is heavily involved.

Streams everywhere

Another big topic was Streams. Pivotal have introduced Spring Cloud Stream to make it super easy to connect your application to a Business Event Bus, like Kafka or RabbitMQ.

Eventually it is nothing more a binder. You only have to focus on your business logic and let the Framework worry about to connect.

Conference overall

Over the past years I attend a lot of conferences, like IBM Think or IBM Connect. I must say it was a pleasant new experience. Well organised, good food. BUT the coffee was typical ‘see-through’ American style.

The customer stories were very interesting. JP Morgan shared their shift to Devops on a large scale in the financial world, which has their own compliance challenges. Dick’s Sport Goods did a live failover of their Search service during a key note with a top quote ‘Or we learned something or we are the hero’s.

Netflix shared their experiences with the Spring framework and services they initially developed, who are now inside the core of Spring Cloud. For example Hystrix and Circuit Breaker

Nevertheless I enjoyed it very much and looking forward for Spring One 2020 in Seattle (21-24 September).

Sessions recordings

On YouTube you can view all the sessions, which will be available or in the near future.

Spring One

Unconferencing

After a busy conference I like it do something else before heading home. This year we drove down to Galveston to stay on the beach for more then a day.

On Friday the temperature dropped dramatically with 20 degrees, but nevertheless it was worth to enjoy the beach before we flew back from Houston back home

Galveston

Going electric

At the end of 2018 we were looking around for a replacement for our Skoda Octavia. A very nice car, but as we are almost commute to work by bicycle and train, the car is a not making lots of kilometers. Then a diesel car not to expensive to have in operation.

But what next

A few years ago we had installed solar panels, may be an electric car? The downside was always the actieradius of the a full battery. I was always amazed by Tesla and their different approach on electric cars. They really disrupt the car industry. But the price….

End of 2018 there was new promising models on the market in the Netherlands. Hyundai has their Kona and their sister company Kia has a bit larger e-Niro. Both with a ideal range around 400 km. Now we are talking 😉

And the price was very attractive, below 50.000 euros. Which gives you here in the Netherlands a very attractive tax cut.

Will I fit

The next step was to see if I fit in the car, and my kids could still sit comfortably at the back bench. In the Kia that was the case. So we did a test drive.

Driving electric is very different experience compared to the traditional cars. In short we made a reservation for the next batch, expected end of 2019. No problem at that time.

Times goes on

In the first half year we did not expect any news from Kia about our e-Niro. After our great vacation through Central America we returned end of August back home.

I was wondering what the status of our reservation. Still no good news. They have really delivery problems, to keep up with the demand. Especially after the government has announced new plans around the popular electric cars.

New plans

As Kia good not meet the expectations I was reading about other electric cars. And there was Tesla again. Their Model 3 was very popular as their other models.

In 2019 they decreased the price below the important 50.000 level, but the most important thing was THEY COULD DELIVER.

So we went to Tesla in Amsterdam, because the first requirement was that I must fit with enough room for the rest of the family. I was really surprised by inner room of the Model 3. I could easily fit in the driver seat, and it leaves enough room in the back so my 15 years, not so short, daughter could sit comfortable. Will I get a real Tesla of my own??

Lets order the car

So fast forward, I ordered the car. A Standard Range, which easily meets our range requirements.

At Tesla almost everything goes through your account. Upload of required documents and so on.

Will it be delivered

Yesterday I received a SMS, and later an email, that next Saturday I am invite to get my Tesla Model 3 at the Tesla Delivery Center in Tilburg.

Now it is time to read the manual and looking at video’s about what to expect and how to drive the car.

A very good blog, in Dutch, about everything around a Model 3

Referral Program

Tesla has a referral program to promote Tesla. If you order through such a referral URL you get free Tesla supercharger kilometers. But also the person who’s referral code you use will get extra supercharger kilometers. Very nice program.

So if you want to order a Tesla, feel free to use my referral code 😉

https://ts.la/frank28712

5 years as a freelancer

As of today I have my 5 years anniversary as a freelancer

How it starts

In the beginning of 2014 I was thinking to go freelance. At Lotusphere, or what ever name it has back then, in Orlando I remember I had a short conversation with Stuart McIntyre and later via Skype a longer one with Bruce Elgort.

These 2 conventions gave me the confidence to make the big step to go freelance

Times flies when you having fun

See now it is already 5 years. I enjoyed till now every day. Learned a lot, did a lot of interesting projects. Had a great and long holidays with my family to destinations around the globe.

Next

Tomorrow I will start a new project at a small bank in Amsterdam after almost 3 years at Rabobank.

And will continue to enjoy life and planning our next family adventure.

Social Connections 15: New technology track

Social Connections is THE user group event about everything around IBM Connections. This year will be edition 15 in Munich on September 16 and 17.

New Technology Track

Since last edition, as far I know, there is a new track, New Technology. In this track you can share all your experience about new technology and don’t have to be related of IBM Connections.

Last edition I shared my experience about Reactive Programming. So if you want share some thing new, submit an abstract. The deadline is 30th of June

May be I will see you in Munich, as I hope that my abstract will be accepted.

The slides of my 2 sessions at NCUG 2019

I had the pleasure to do 2 presentations at NCUG, formerly known as ISBG. It were very technical questions, but was happy that people where brave enough to attend 😉

Spring forward: an introduction to Spring boot and Thymeleaf for (XPages) developers

The world of (XPages) developer is moving fast. Customers rethinking platforms and solutions. Spring Bootmakes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. In combination with Thymeleaf can it be good alternative for your XPages applications.

In this session I give an introduction of Spring Boot and Thymeleaf and how to get started. I will show the differences and similarities between Spring Boot in combination with Thymeleaf and XPages.

I will explain the challenges I faced when moving an application.

The demo application can be found here: https://github.com/flinden68/spring-forward-starter

Super charge your API’s with Reactive streams

Today almost every product has an API, to integrate in other products or to  made the data available to the outside world. Most API’s are using traditional patterns and technology. With the rise of Angular, React and other modern frameworks there is a need for non blocking API’s. Meet Reactive streams, like Spring Webflux, to super charge your API.

In this session I will tell about and show you Reactive API’s and more

I created a demo application application with a Angular frontend, it can be found here: https://github.com/flinden68/reactive-streams-starter

Hope it will help you to get started in the Spring Boot / Webflux world. If you needs help, let me know

Engage 2019: The good, the bad and the ugly: a not so objective view on front end development

This week was Engage 2019 in Autoworld in Brussels.

Theo Heselmans and crew did an amazing job, again, in a stunning venue. I was privileged to be speaking again.

My Session

I was really surprised to have a full room. I enjoyed it very much to deliver my opinion on the current most populair front end frameworks, VueJS, React and Angular.

Demo application

For this session I created a demo application to show how you can use React, Vue or Angular to build the exact same application. As API layer I created a Spring Boot and NodeJS version. Inside the repository is also a Python version, but be aware that there is the Account CRUD operations are missing.

The repository can be found here, https://github.com/flinden68/my-events-demo-application.

Feel free to fork, clone or enhance the repository. Keep in mind it was my way to build the front ends, there are more ways to reach a goal.