Skip to main content

Posts

Showing posts with the label microservices

Containerization without a microservices approach

The current trends are clear. We should develop software applications using only microservice approach. This sounds goods for new application, where system requirements guides us to go with a microservice approach. But what happens for the other types of systems. We might need to develop a normal web application, with some backend processing behind it. No crazy NFR, no need to scale to 100.000 RPS or similar stuff. Monolithic application As an example let us imagine that, we need to develop a web application that resize our pictures to Instagram size (1x1). There are no special requirements related to availability or scalability and the load on the system is a low. The system is used just by our employees (less than 5.000) for company images that needs to be published on commercial web sites. Of course, we can imagine a state of the art microservice implementation, with different services that scale by themselves. What if we do not need something like this, but is very appealing...

Microservices and Team Setup - Is not only about code

Solutions that are based on microservices architecture become a commodity. Teams are not afraid anymore when they found out that the next projects is based on micro-service architecture. The transition from messaging base architecture to microservices architectures was very useful for team to understand the main concept and how a solution should look like.  Trigger Working with different frameworks or tools specific to microservices will make the team curious and happy at the beginning. Most of the people are happy when they have team allocated to learn new stuff. But after this phase, I identify that there is usually a collapse. In the first moment when we are ready to start 'production' code, people starts to have hiccups and each of them have problems when they need to make a deploy, run their code in containers and so on. Cause It is easily to forgot or to ignore that microservices is not only at service/code level. It is also at infrastructure level. There i...

[Post Event] ITCamp Community Event - Timisoara July 2, 2016

At the beginning of this month I had the opportunity to be invited as speaker at a local ITCamp Community event in TimiÈ™oara . This kind of local community events are so great because you can meet greeat people, that are working for different clients and industries. In this way you can take the real pulse of the IT industry and what is happning in different cities. The event was organized by ITCamp Community . At this event, there were 5 sessions that talked about different things like mobile development, Azure SQL, security, system center and microservices. At this event I talked abot Service Fabric and how we can use it to develop microservices solution not only for Azure, but also for on-premises – running them on Windows or Linux. Below you can find more information related to my presentation and some pictures from the event. Titile: Azure Microservices in Practice Abstract: In this session we will take a look on Azure Service Fabric and how we can create a web application us...

[Post-Event] Keyboard and Mice Event, June 2, 2016, Sibiu

This week I had the opportunity to speak at Keyboard and Mice event in Sibiu. This event  is one the iQuest  events for local IT communities. As usually, Sibiu didn't disappointed us and more than 115 people joined this events. It was an event with full house. It was a pleasure to speak in front of so many people about what Microsoft is doing related to microservices from Service Fabric and Azure Service Fabric perspective. At the end of the event, there were some very interesting round table discussion around mobile development, automated testing and over-engineering. Feel free to take a look on the slides. Don't forget that you can contact me directly if you have any questions related to this topic. Also, at the end of this postyou can find some pictures from this event. Slides: Service Fabric – Microservices in Microsoft World, Radu Vunvulea 30 may 2016 SIbiu from Radu Vunvulea Pictures :

[Post Event] ITCamp 2016, Cluj-Napoca

The 6th edition of ITCamp conference took place in Cluj-Napoca at the end of this week. For 2 days, more than 600 people were connected to the latest software development and devops trends. More than 40 speakers had offered high quality content to ITCamp attends. Having 5 tracks in parallel is awesome, but sometimes is so hard to decide to what session to attend. There were a lot of interesting topics that were presented and discussed during this two days. From Security and Development Best Practices, to .NET Core, Cloud and IoT. I really felt that IoT era already started during the sessions where many speakers had with them different smart devices that can improve our life. The second day of ITCamp brought for the first time in Cluj-Napoca and Romania Microsoft HoloLens. This glasses are like the one from Start Trek that not only creates a virtual reality like other devices on the market, but offers to the user an augmentative reality. I had the opportunity to test them and it...

[Post Event] DevTalks 2016, Cluj-Napoca

This week we had another great conference in Cluj-Napoca - DevTalks . It seems that this month Cluj-Napoca is the hotspot of IT Conference in Transilvania. We have in only one month 4 conference with more than 500 attendees - what a crazy month. At DevTalks Cluj-Napoca more than 600 people attended. There were 4 tracks in parallel, one of the track was 'Transition to 2020', where I was invited to talk about microservices. Because we will not have all the time the opportunity to write an application from scratch, I decided that the best topic is how to migrate a monolithic application to microservices. At the end of this post you can find my slide deck. Title:  How to migrate a Monolithic system to Microservices Abstract:  This is the story of how we need to change an existing monolithic system to be able to run over microservices. Lessons learned and best practices will be presented together with the most important architecture patterns that we need to take into account w...

[Post Event] Codecamp Conference, Cluj-Napoca - May 7, 2016

After IaÈ™i, Codecamp Conference came in Cluj-Napoca. In May 7, 2016, more than 60 speakers had the opportunity to share their knowledge to local IT Community. There were 8 tracks in parallel that brought more than 700 people during the entire day. The sessions were very interesting and the topics were vast, from developing methodologies, to technical subjects and  project management. At this conference I was invited to speak about Microservices and Azure Service Fabric. Below you can find information about my session and slides. Title:  First 13 steps to be able to design an application for Azure Service Fabric Abstract:  Welcome to a session where we will talk about the most important thing that we need to know about Azure Service Fabric and microservices. This presentation will introduce you in the most important concept of Azure Service Fabric with real life examples and demos. This is not a how to session, this is a session with the pillars of Azure Service Fabr...

Service Fabric - Custom location for logs and data on DEV Env

The current DEV environment that I'm using when I play with Service Fabric had a SSD of 256GB and a normal HDD (512GB). The problem with the current configuration is that I don't have enough space on SSD for everything I would like to put there. Service Fabric Development Cluster can use a lot of this space and you might want to put it on another partition or HDD, where there is enough space. The location where the cluster data are stored can be specified through the Power Shell script that is used to setup the DEV environment for our cluster. In the above example, I specify that all the data for my local cluster to be copied to D:\cluster\data and logs to D:\cluster\logs. C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup>  .\DevClusterSetup.ps1  -PathToClusterLogRoot D:\cluster\log  -PathToClusterDataRoot D:\cluster\data

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

This was the 4th year when Cluj-Napoca was on map of Global Azure Bootcamp , by ITCamp Community. As usually, the event was focused on hands-on and coding. The number of slides were kept at minimal, at the number of lines of code written during the 5 hours of the event were maximized. During the event, there were the following 3 workshops: Azure Service Fabric in Action (Radu Vunvulea) Service Bus hands-on (Radu Pascal) Azure SQL Database - Everyone's intelligent cloud database (Silviu Niculiță) Each workshop length was 90 minutes and it was full with code and samples. In total there were more than 60 people that participate at this event and learned something new about Azure and Microsoft Technologies  As usually, local IT company offered us the full support to organize this event. A big THANK YOU for our local sponsors that made this events possible (and free): You can find below my slides from the event. I will add also the other sessions slides, once I ...

Azure Service Fabric: State of an Actor is not persisted | Actor ID

We have in our Azure Service Fabric cluster an actor called SmsActorService that haves a method that allow us to get the next SMS. The actor works great, when we want to send an SMS to our actor works great, but when we want to get a SMS, surprise, we have null reference exception when we want to access the actor state. Send SMS to actor IAct0r mobileDevice = ActorProxy.Create<IAct0r>( new ActorId(smsToSent.Value.PhoneNumber), new Uri("fabric:/ITCamp.SF/Act0rActorService")); await mobileDevice.ReceiveSmsAsync(smsToSent.Value); Get SMS from actor int id = 1000; IAct0r mobileDevice = ActorProxy.Create<IAct0r>( new ActorId(id), new Uri("fabric:/ITCamp.SF/Act0rActorService")); Sms sms = mobileDevice.GetNextSms().Result; Even if we know that we already created the actor with the given ID and we have our state saved, when we access it, surprise, th...

[Post Event] Microsoft TechDay Baltics 2016

What a week! This week I had the great opportunity to be invited as speaker at Microsoft TechDay Baltics 2016. The most interesting part was that we were in 3 days in 3 different countries (Estonia Letonia Lituania). It was pretty challenge, because we had to take the airplane every evening to go to the next location and we were around 30 persons. I assume that more than half of the people from the airplane were part of TechDay Stuff. During this week I meet wonderful people, that love what they are doing and share there knowledge with others. For me, it was the first time in Baltic countries and I was surprised to discover beautiful cities like Vilnius, Riga and Tallinn. At this events, I talked about Service Fabric and the most important things that we should about it before starting to write our first application. You can find the slides below and if you want more information about this topic, please contact me. Radu Vunvulea - Microsoft TechDay Baltic 2016 | First 13 ...

[Post Event] CEE Community Open Days 2016, Prague

This week I had the great opportunity to participate at  CEE Community Open Days 2016 . The CEE Community Open Days is an annual local event for Microsoft MVP Award and Regional Director Programs in Central and Eastern Europe, Russia and CIS countries. This year, the event was organized Prague, a great city, full with history and beautiful places to visit. On top of this, I had the opportunity to meet other MVPs from CEE (Central and Eastern Europe). At this event I was invited to speak about Azure Service Fabric. You can find the slide desk below. Also, I added some pictures from this event (made by others). First 13 steps to be able to design an application for Azure Service Fabric from Radu Vunvulea Pictures (all credits to the other MVPs:

(Part 1) Azure Service Fabric - Parent Child communication and cancellation

Part 1 -  http://vunvulearadu.blogspot.ro/2016/03/azure-service-fabric-parent-child.html Part 2 -  http://vunvulearadu.blogspot.ro/2016/03/part-2-azure-service-fabric-parent.html A few weeks ago I so an interesting question on MSDN forum that I think that is pretty common. In this post I will try to give a possible solution to this problem. Context : There are multiple instances of the same Restful Stateful Services that are running in parallel. A new instance is created by a 'parent service that also might specifies the action that needs to be executed. Problem : The parent service needs to be able to cancel the instance of our Restful Stateless Service based on external factors or based on the current state of the child. What we need Basically we need to: Store and map all the service instances that are created by a service Store in a specific location a state related to them Share their state with the parent service Give the ability to the parent to canc...