Skip to main content

Posts

Losing control of your web application in the world of nearshore IT model

Recent posts

[Post Event] DevTalks Cluj-Napoca 2018

Today (May 16th, 2018) I had the opportunity to participate at DevTalks as an attendee but also as a speaker. I was surprised to discover a conference with more than 1200 people and 7 tracks in parallel. Besides this, the event took place in Polyvalent Hall, a beautiful location that can handle more than 1000 people without a problem.

My session was different from the ones that I had until now. I had to talk about Azure to a Java audience. It was not an easy task to do, and at least nobody said Azure sucks. You can find below session details and slides.

Title:
RUNNING JAVA APPS INSIDE AZUREAbstract:
In this session, we will NOT talk about how much Microsoft loves Linux or how much Azure loves Java. This session will focus on how an application written in Java using tools available for Java environment can survive inside Azure. Together we will take a look at how we can create a similar environment as you have on AWS or on-premises to run your Java applications. We will try to cover topi…

IoT Home Automation | Basic plant watering system

Almost 3 months past without working on the own IoT home solution. In the meantime, I was able to lose the UI implementation. Because of this in the next 1-2 weeks, I will try to rewrite it.
The previous post about my IoT solution: IoT Home Automation | Stabilize the garage doors solution after power break (resistors and capacitors) http://vunvulearadu.blogspot.ro/2018/02/iot-home-automation-stabilize-garage.html

Because summer holidays are here and I didn't want to bother my neighbors to water the flowers I decided to come up with a fast and cheap solution based on ESP8266. For grass I already have an automation solution from Gardena, but if you can do it yourself why not. Especially if you take into account the price of Gardena controller.

The first version is pretty basic, from the features perspective. No internet connection, no reporting, no humidity sensors and other stuff like this. Lack of time forced me to keep things super necessary, but I've replicated 100% the Gard…

[Post Event] Global Azure Bootcamp 2018, Cluj-Napoca

Last Saturday (April 21, 2018), ITCamp Community hosted Global Azure Bootcamp in Cluj-Napoca. This year we tried to do things a little different and offering a functional application inside Azure after workshops.
We decided to implement a weather alert system end-to-end. From ingesting alerts from an external system to a web application that can notify users when a warning appears in their region. We had not only the app but also the ARM Templates and CD configured for it.
From Azure Services perspective we used the following:

Azure Service BusAzure Function AppsAzure Web AppsAzure Redis Cache
There were 3 workshops that covered:

Developing backend application inside Azure Functions (Radu Vunvulea) Designing the web application (Radu Pascal) Create the automation scripts using ARM (Florin Loghiade)

Slides and pictures can be found below. See you next year!

Global azure bootcamp 2018 from Radu Vunvulea

Pictures:

























[Post Event] Cloud Conference 2018, Bucharest

Today (April 19th, 2018) I had the great opportunity to be invited as a speaker at "Conferinta de Cloud." I was amazed to find out that around 300 people join this event, that it is dedicated to cloud and Microsoft Azure.
The event has two tracks, one dedicated to the business side and a second one dedicated to technical one. I was surprised to discover that almost half of them were interested in the business track. This is a good indicator that confirms us that cloud is here to stay and Microsoft Azure it is used more and [more in business.

I delivered a session focused on things that we need to take into account at the moment when we start a project on the cloud. People forget to check the most basic things when they kick-off the project. Because of this, they are ending in situations where the consumption is over the limits or data is public accessible.

Session slides can be found below:
Title: Day Zero In A Cloud Project
Abstract: In this session, we will take a look at w…

Read-only replicas - Taking advantage of free DTUs

A new feature of Azure SQL enables us to simplify how we do our day to day business when we need to have analytics capabilities in near-real time on our databases.

Scenarios
A common scenario is when you have an Azure SQL database that is heavy hit by the clients, and we need reporting or analytics capabilities at the same time. A common solution is to create a read-only replica that it is used for reporting, data aggregation and other daily or weekly small things that you have to do with data.
Even when you have a data warehouse or a reporting layer, you still need for some narrow cases to go directly to the live database for real (near) time analytics.
Another case is when you have many read operations on data that are not changed so often, and you cannot integrate a cache level. Sounds odd, but there are some country regulations that might force you to do that.

Current solution
For all these scenarios usually, it involves creating a replica in the same or another Azure Region that it…

Azure Redis Cache and connection management

These days I encountered an application deployed on Azure that had connectivity issues with Azure Redis Cache.
The application is a web-based application with most of the logic inside Azure Functions. The system it is using Azure Redis Cache for data exchange between the web-application and the functions behind the scene that is crunching the data.
The deployment is stable and working as expected for 5-10 minutes. After that, it is down for the next 20-30 minutes. The cycle repeats over and over again with a generic error on both sides (Azure Web Application and Azure Functions) that indicates that the source of the problem is Azure Redis Cache.

The errors are similar to the one below:
No connection is available to service this operation: RPUSH ST; UnableToConnect on lola.redis.cache.windows.net:6380/Interactive, origin: ResetNonConnected, input-buffer: 0, outstanding: 0, last-read: 5s ago, last-write: 5s ago, unanswered-write: 459810s ago, keep-alive: 60s, pending: 0, state: Connect…