all Codit insights

Learning about the latest & greatest at Techorama 2015 - Day 1 Recap

The second edition of Techorama, which is being hosted at Utopolis Mechelen, provided a large range of interesting sessions covering all kind of topics. Read more about some of the sessions from the first day in this post.

Techorama 2015

The second edition of Techorama again promises to be an interesting event, grouping experts in all kind of technologies to share their knowledge and experiences. Split over two days, there are over 70 sessions. A short summary on some of the sessions of this first day can be found below.

Keynote by Hadi Hariri

The honor of kicking off the entire event went to Hadi Hariri, who got to give an inspiring presentation about the constant chase of developers and tech companies for the mythical “silver bullet”. In other words, developers keep looking for the ultimate framework that allows them to build any kind of great application. Because of this constant chase, new frameworks keep popping up and people have been moving from framework to framework, only to discover that this brand-new technology is not perfect as well. Since every framework will have its limitations, the goal to find this silver bullet, remains unreachable.

But with any type of project, the most important idea to keep in mind is to think before you act. Don’t just start developing your apps using the newest technology, but consider what would be the best choice for your specific situation.

Keeping in mind that several types of frameworks, technologies and tools are to be subject of several sessions, this keynote started the event off in a very fitting way.

SELECT VALUE FROM DATASTREAM by Alan Smith

For those who were present at the first edition of Techorama, you’ll notice a first familiar face. Alan Smith is back, this time giving an insight in the usage of Azure Streaming Analytics by collecting the telemetry data from…, yes, the racing game, he loves using at any demo 🙂

By sending all of the telemetry data to an event hub, Alan was able to process this data through Streaming analytics to get the average speed, gear, best lap time,… but also to figure out if anyone is cheating. Streaming analytics makes it possible to query the data in any sort of way, allowing you to look for strange/abnormal values, therefore finding cheaters.

As Sam Vanhoutte already gave an extensive description of streaming analytics in this blog post, I will not be diving into this subject, but the demo given by Alan made sure that all of the possibilities were very well illustrated. 

In overall, yet again an interesting and entertaining presentation.

Messaging patterns by Mike Wood

After his talk last year I was looking forward to see Mike Wood in action again! He gave a good session on using a messaging approach in your project and what problems it can fix for you but also what the downsides are.

During the session Mike walked us through some of the concept & patterns used in messaging.
Here are some examples of those discussed :

  • Handle your Poison messages, you don’t want to waste resources by trying to process these messages and block everything. It’s a best practice to send them to a seperate queue, i.e. a dead-letter queue, so you can keep on processing the other messages.
  • Support Test messages when possible. This allows you to test a specific behavior on a production system while not changing the live-data.
  • Trace your messages so you can visualize the flow of a message. This can help you determine what happens to your messages and where the culprit is when it was lost.
  • Don’t lose your messages! By tracing your messages you can follow the trail which a message follows. When using Service Bus Topics, it’s possible that the topic swallows your message if there is no matching subscription. One option to handle this is to create a catch-all-subscription.
  • Provide functional transparency in a way that you know what the average processing time is for a specific action so you can pin-point issues and provide alerting on this.
  • Use idempotent processing or provide decompensating logic as an alternative. If your processing is not idempotent you should provide an alternative flow that allows you to rollback the state.

In general, messaging can help you improve the scalability & flexibility by decoupling your solution but this comes with the downside that your complexity increases. Also processing in sequence or using ordering is not easy.

Although I have some experience with messaging it was still a nice session where he give some additional tips on how you can trace your messages better or pinpointing the issues by using the average processing refrences.

Great speaker & great content!

Docker and why it is relevant for developers by Rainer Stropek

docker_small

One of the benefits of going to a conference is to learn about technologies you would otherwise not pickup easily. It’s also an opportunity to learn about speakers unknown to you. Since I didn’t know Rainer and only had a very (very) high-level knowledge of Docker, this seemed like a good session.

Docker is a platform to facilitate building, shipping and running your application, anywhere. It uses a concept called Container virtualization. This is a level above virtual machines, the container reuses the host operating system. It has the benefit that deployment using Docker is much faster than spinning up a new VM (it can be as little as a second).

What you deploy with Docker is a Docker image. An image is not a monolithic entitity. You can build upon existing images (which can be found on Docker Hub), and only the modifications you do are in your image, the baseimage is referenced in the dockerfile.

Once you setup your Docker image, you can easily deploy it to another environment and be sure it’s setup identically to your Development machine.

All of this and more was covered in Rainer’s session. At the end an ASP.NET 5 application was deployed with Docker, on an Ubuntu machine.

What about Windows one might ask? Docker uses Linux-specific kernel features, which means you’d need to use a lightweight VM to run Docker in a Linux virtual machine. 
However, with the recent announcements of Windows Server Containers and Hyper-V Containers, I think it’ll be very interesting how Microsoft incorporates the container model in both their cloud and on-prem solutions.

The slides of this excellent talk can already be found on his blog.

 

 

That was it for day one, stay tuned for more Techorama action tomorrow!!

 

Thanks for reading,

 

Tom, Sam & Maxim

Subscribe to our RSS feed