Skip to main content

Posts

Showing posts from June, 2015

Capabilities of deploymens scripts for Azure environments (cloud)

In this post we will talk about the value and the importance of deployments scripts and what a deployment script should contains where we are working with a cloud environments (in our case Azure). A deployment script(s) is a collection of scripts that are used to deploy a solution (in one or multiple environments). In general, deployments scripts are reused between different deployments of the same solutions, the only thing that we need to configure is the custom configuration for that environment (naming, custom folders path, connection strings and so on). A deployment script that serves a cloud application is no very different from a deployment script used for on-premises systems. Sometimes there are small things that are forgotten or ignored for the deployments scripts that serve a cloud application. This happens because we forget that each Azure resource is like an external dependency that should be treated separately.  Visual Studio Deployment With the latest version of Visual S…

Improve employees skills - in working hours of in their free time?

I see in many companies the culture where people should improve their technical and soft skills by they own, especially in their free time. This is not a bad thing but not all the time the skills that needs to be learned by the employee are the same with the one that the company prefers.

 Let’s assume that the employee would like to learn JavaScript and Angular.JS, but based on the company vision and forecast, you need to increase the skills on desktop application. In this case, people will be oriented to learn and increase their knowledge in the area where company needs.
Until now, we could say that we are fine, the need from the market needs to be full field by the company. Because of this there is a direct inters for it, for company and people that are working in that company.
In an ideal world, the company will invest the time from normal working hours to improve and increase the skills on desktop applications or the area where they need.
In reality we all know that the employee…

Branching strategy for a demo

In this post we will talk about source control merging when a demo needs to be prepared.

I expect that all of us knows what a branch is. To be sure that we are talking about the same thing, let's see the definition from Wikipedia:
Branching, in revision control and software configuration management, is the duplication of an object under revision control (such as a source code file or a directory tree) so that modifications can happen in parallel along both branches. I don't want to enter in the different strategies of branching topic. There are multiple ways to do it in different phases of a project.
Usually, during the development of a project we will have multiple branches in parallel or in different moment in time. For example:
MainDevelopmentTestingIntegrationProduction , on top of this if we have multiple versions of a product supported in parallel that we will have for each version another group of branches. And this is not all, based on the team needs or what kind of fea…

Visual Studio Online - Short review after 6 months of usage

There are more than 6 months from the moment when we started to use Visual Studio Online for a real project. Until then we use it only internally on small internal projects. Nothing real.
Initially I wrote a post about our first impression related to VS Online. More about this can be found on the following post http://vunvulearadu.blogspot.ro/2015/01/first-impression-of-visual-studio-online.html
Initially we started with an estimated team of 4-7 people. This was our initial estimation, 6 months ago:
Build Duration: 20 minutes
Working window on a day: 10 hours
Number of build per day: 30 builds
Number of developers: 4-7 people
Number of days per month: 23 days
Total minutes per month: 13.800 minutes
Minutes cost: 60 minutes free + 1140 minutes at 0.0373e + 12600 minutes at 0.0075e
Cost: 0 + 1140*0.0373+12600*0.0075 
Total Cost: 137.022e

Now, let's see how reality looks like. All information is from the billing information and is 100% real. No estimations, actual facts (smile).
Costs (June):

Main difference between Code First, Model First, Entities First

In one of my latests post I wrote about Hybrid Code First. When I started to write about it I realised that it is not very clear and transparent what does Code First, Database First and Model First are and what are differences between them.
The main scope of this post is to define in a few words each of this mechanisms and what are the main difference between them.
Code First - Define the domain first in code. Based on this domain, the database will be created on the fly by Entity Framework. This approach is used very often in combination with DDD (Domain Driven Development)Database First -  Define the database schema first. Based on it, EF generates the code that maps the database to our entities and the access mechanismModel First - Define the model in a design tool. Based on this design, EF will generate the entities and the database structure that is needed Now, that we know what are the available mechanism to define and map our model, let's see what are the main characteristic…

[Post Event] Azure Fundamentals 2 days trainings

This week I had the opportunity to hold a private two day training about Microsoft Azure. This was the first training of a serious of training about Azure, C# and Web development.
During this training, attendees had the opportunity to learn and discover:
VMsWeb RolesWorker RolesWeb AppsAzure StorageAzure Service BusEvent HubStream Analytics Monitoring and deployment cloud solutions If you are interested to find more about the custom trainings that I hold you can contact me directly.

Entity Framework - Hybrid Code First

Let's talk about an interesting subject related to Entity Framework (EF). When you are using EF there are different mechanism to map your model:
Code First - we write the code first and the DB is generated automatically based on the codeDatabase First - we define the DB structure and POCO entities are created automaticallyModel First - we design the model in a 'nice' designer. This designer will generate the classes and the database model All of them are perfect and works great. Based on our needs, preferences and team skills we can decide to go with an approach or another, but in the end we will end up with the same thing. I will follow up later on with a different post where I will compare them.
Now, let's talk about different scenarios that is used by people. I saw in a lot of implementation where people are afraid of Code First or Model First. Because of this I realize that most of them are using a hybrid solution that I called Hybrid Code First.
Why I called Hybrid …

[Post Event] Innovation Conference SIBIU, June 10, 2015

Yesterday (June 10, 2015) I was invited to speak at IT Innovation Conference SIBIU, about IoT from Azure perspective. The official name of "Internet of Things in Practice". I replaced one of my colleagues (Petru J.) that was not able to attend to this conference.
There were around 60 people that attend to my session.
I had 2 full hours to talk about Azure and IoT. We discussed the past solutions that were available on Azure, what are the current services that can help us to create a IoT solution. At the end of course we talked about the future and what Microsoft is preparing for us - big things will happen. Also, we realised together that Machine Learning is very important and this is the perfect moment to start understand the concept and try it.

The slides from the first part of the session can be found below:
IoT from an Azure Developer perspective - Radu Vunvulea from Radu Vunvulea

9-10 July, 2015 – Implementing effective web applications with Microsoft web stack

Next month, ITCamp will organize a free workshop about web development with Microsoft Technologies. During the two day workshop we'll talk about ASP.NET MVC, REST API, Angular.JS, Web Security and of course vNext.

More information about this workshop can be found in the fallowing link: http://community.itcamp.ro/2015/06/9-10-july-implementing-effective-web-applications-with-microsoft-web-stack/
Registration link: https://itcamp2015webworkshop.eventbrite.com/

When: 9-10 July, 2015
Where: Cluj-Napoca
Trainer: Andrea Saltarello
Participation fee: 0 (the workshop is free)
Number of available seats: 40 

Target audience: People that are working on web projects with/without a large experience. Before you attended to this workshop, you should have a minimal knowledge about ASP.MVC, EF and Angular.JS. If you are an expert in this technologies or you worked with them on projects for long time, than this workshop would not bring an extra value for you.

Abstract: This two day workshop is dedicated bot…

Azure App Service support now vulnerability scanning

A new great feature is available for Azure App starting from today. How nice would be if you could scan your Azure App to check if you have any kind of security issues.
For example if you develop a web application, it would be nice to be able to scan your application and check if there are any kind of security vulnerabilities.
Until now, this could be made with external partners, not directly from Azure Portal. Starting from now we can do this using Tinfoil Security. You can activate this service directly from Azure Portal. This service is offered using the Marketplace.
There are different tires, that allow you to check your site from one time per week (for 3$/month), and you can scan even twice per day for 500$/month. This feature go hand in hand with if you are using different deployments slots for your web applications. You can scan for integration or pre-production environment for security vulnerabilities before releasing a new version or a hot fix.
In this way, the development …

Different ways to access Azure instances using Public IP

Let's talk about IP Addressing in Microsoft Azure. In this post we will talk about ILPIP (Instance-Level Public IP, used to be known as PIP - Public IP) and Reserved  Public IP (that is a new feature of offered by Microsoft Azure).

Virtual IP (VIP)
Before jumping into this subject, we need to understand what is a Virtual IP (VIP).
A Virtual IP is a public IP that is assigned to a resource like Web Role, Worker Role or Virtual Machine in the moment when we create a cloud service. This VIP is allocated automatically and allow our resource to communicate with external resource. Using VIP, a request from internet can access our Azure Resource.
This VIP will never change as long as the cloud contains at least one instance of that resources. For example we can have 10 instances of Web Roles with a specific deployment. As long as we have at least one, we will not lose the IP. Only when we deprovision the resource we will lose the VIP.
A "fix" for this issue, before having Reserv…

Azure Subscription - Lesson learned related to credi card

One of my first project on Microsoft Azure is in production from 2011. More than 4 years the system ran without major issues. Every 4-5 months we released a new version of the product.
We have a maintenance and a support team that has a clear list of check lists that needs to be checked every day, week or month. For example, a health check similar with a smoke test is done every day. Every week, the available space of the storage account is checked. At the end of each month we check the expiration date of certificates and so on.

Running a product on an Azure subscription for so long will force you to have a very good process for maintenance and support team. Of course, this process was not perfect from the first day. The checklist was changed and improved in time.

Last week we discovered that an important check was... forgotten....

You know, each Azure subscription is connected to a credit card that is used for billing. And this credit card expires after 2 or 3 years.
What do you thi…