grain-silos

Les architectures émergentes, l’innovation en architecture et les nouvelles tendances

Samedi 10 mai 2014 sera une journée dédiée aux architectures émergentes, l’innovation en architecture et les nouvelles tendances. Étant passionné par le cloud et les nouveaux défis apportés par cette nouvelle approche, je vous parlerais d’Orleans le nouveau modèle de programmation bâti pour Microsoft Azure. Ce modèle de programmation a été imaginé dans les années 70 et a fait ses preuves dans plusieurs projets d’envergure. L’équipe de recherches chez Microsoft pensait qu’ils étaient fous, mais ils ont réussi et Halo 4 est née!

Grâce à Orleans, ils ont réussi à traiter des millions de transactions par secondes. Orleans a été bâti pour faciliter la construction de systèmes distribuée capable de traiter de hauts volumes de transactions tout en réduisant les latences qui empoisonnent l’expérience utilisateur de nos systèmes conventionnels. Pour les curieux, j’ai écrit un premier article au sujet d’Orleans suite à son dévoilement au Build 2014.

Inscrivez-vous sur notre page Meetup http://www.meetup.com/dotnetmontreal/events/134828202/

Agenda de la journée

  • 9h00 Introduction
  • 9h15 – 10h00 Les Design Patterns appliqués au Cloud (Pascal Laurin)
  • 10h15 – 11h00 Orleans (Alexandre Brisebois)
  • 11h15 – 12h00 Sujet à confirmer (Erik Renaud)
  • 12h00 – 13h30 Pause pour le dîner (non inclus)
  • 13h30 – 14h15 Vers une architecture soutenu par les événements (Event Sourcing) (Eric De Carufel)
  • 14h30 – 15h15 CQRS et Event Sourcing: Les Process Managers (Simon Laroche)
  • 15h15 Conclusion et Tirages

Plusieurs licenses de Telerik, Mindscape, Cerebrata et Jetbrains à faire tirer en plus de quelques livres.

 

baby_elephant_1024x768

Size Matters… A LOT!

A few months ago I wrote about resource contention and how the size of data matters on the cloud. Today I decided to share a true story that happened to a friend of mine.

Things that work during development and quality assurance can yield unexpected results at scale. It’s no surprise that we often say that Microsoft Azure is there to help your applications survive instant success. Going from 1 to 100 000 users overnight is a problem that we all dream to have!

Let’s look at the following line item from my friend’s bill.


Last month, the bandwidth generated by his apps totaled 783 Gigabytes. To some this number looks really small, to others this number looks astronomical. So let’s put some perspective on this story.

The apps that consumed this data, were mobile apps. Think about it for a second, that’s a lot of mobile devices! The data in question was Json. That’s not what you expected right? So how did so much Json go over the wire? Well whenever an app started, it would downloaded a Json from Azure Blob Storage that was then used to locate resources to display. Each Json file wasn’t that big, but the sheer success of his apps generated a staggering amount of traffic.

To be honest, this is the kind of surprise we all dream of! We all want our apps to go viral, but are we ready?

In this specific situation, there are a couple of things that can be done to reduce the app’s monthly bandwidth requirements.

  1. Setting Cache-Control on blobs can help reduce bandwidth
  2. Using ETags to identify whether the blob on the server has changed since it was last downloaded.
  3. Use a different serialization protocol. Protobuf could reduce the overall bandwidth consumption generated by his apps.
  4. Use Json minification to reduce the size of each blob. Remember blank spaces eat precious bytes.
  5. Partition the data into smaller blobs, my guess is that most users will not stray far from the first pages.
  6. If we can’t partition the blobs we might want to consider the use of compression.

 


Lundi le 28 Avril 2014, nous sommes heureux d’accueillir Bill Wilder, auteur du livre « Cloud Architecture Patterns: Using Microsoft Azure », pour une présentation qui nous fera découvrir les meilleures facettes de la plateforme Microsoft Azure tout en mettent l’emphase sur le développement ASP.NET.

Bill adore partager et apprendre sur une multitude de sujets. Profitez-en pour lui poser vos questions à propos des patterns, des meilleur pratiques et des technologies qui en tour le cloud.

Inscrivez-vous sur notre page Meetup http://www.meetup.com/dotnetmontreal/events/135071842/

NOTE: Cette présentation sera en anglais

Sujet: Top Azure Features Every ASP.NET Developer Should Know About

Let’s face it: as technologists, “the cloud” is in the future for all of us, and resistance is futile. For many of us who predominantly develop on Microsoft technologies, adopting the Microsoft Azure cloud platform will be a natural progression.

How to get started? In this talk we will cover some easy ways to get started with the cloud, progressing from simple ideas to more ambitious ones as we go. Similar to how learning a new programming paradigm tends to stretch the mind (e.g., a C# developer learning functional programming with F#), you will also see that learning how to develop for the cloud will inform and shape how you go about developing day to day – even if not (yet) for the cloud.

Some of the topics we will cover (in varying depths) include devops, dev-test, non-.NET tool stacks, federated identity, semantic logging, and cloud-friendly architecture patterns – all while touching on a variety of Azure features and services on the way.

Conférencier: Bill Wilder, MVP Azure, Boston USA

Bill Wilder (Principal Cloud Architect for Development Partners Software Corporation) is a hands-on developer, architect, consultant, trainer, speaker, writer, and community leader focused on helping companies and individuals succeed with the cloud using the Microsoft Azure Platform. Bill began working with Microsoft Azure when it was unveiled at the Microsoft PDC in 2008 and subsequently founded Boston Azure, the first/oldest Microsoft Azure user group in the world in October 2009. Bill is recognized by Microsoft as a Microsoft Azure MVP and an Azure Insider, and is the author of the book Cloud Architecture Patterns, published by O’Reilly in September 2012. Bill can be found blogging at blog.codingoutloud.com and on Twitter at @codingoutloud. You can also check out the Boston Azure cloud user group at www.bostonazure.org and @bostonazure.


A few weeks ago I wrote about the importance of being stateful. So you can imagine that I’m quite excited about the Public Preview of Orleans that Microsoft announced at Build 2014.

Orleans is a new cloud programming model that was designed for use in the cloud, and that has been used extensively in Microsoft Azure.

Orleans was created to solve the problem of building high performance concurrent applications that run on the cloud. It really shines when it’s used in social graphs, mobile backends, Internet of things and with real-time analytics. Of course, the use of Orleans isn’t limited to these specific scenarios. In fact Orleans lends itself pretty well for applications who work with free-form relationships, who require high throughput and where low-latency is crucial. Furthermore, it’s a great fit for solutions where data and Actors naturally partitions themselves into manageable pieces.

Building cloud-based solutions that scale out to meet the workload demand is becoming the new way of doing things. Forget about 3-tier architecture, it just doesn’t scale. Because stateless solutions need to rebuild their internal state for each call, they can generate tremendous pressure on our data stores. Consequently, this generates back pressure that bubbles up through the layers and reaches out to the edge. Back pressure then translates into unavailable services and is often the cause of downtime for Cloud Services. A great example of back pressure in action, is the all too familiar Fail Whale that was used during periods of downtime by Twitter.com.

The situation I described above probably isn’t new to most of us. We actually experience these interesting moments as developers and sometimes as consumers and believe me its irritating for everyone. Continue Reading…


We were a team that finally worked as a team! Identifying and removing blocking issues from the work in progress (WIP) became everyone’s focus. Our communication improved and knowledge was shared. This resulted in more contributions from everyone on the team.

Continue Reading...

This shift in Microsoft’s strategy just makes sense, because it’s Cloud ecosystem has outgrown the “Windows” label.

Microsoft Azure is about being able to host your solutions at scale. Whether we develop using Java, Node, PHP, .NET… we should be able to deploy to the cloud and benefit from its rich ecosystem.

I for one, can’t wait to see the new branding. But for now, I will leave you with a quote from the blog post by the Microsoft Azure Team (http://blogs.msdn.com/b/windowsazure/archive/2014/03/25/upcoming-name-change-for-windows-azure.aspx):

Today we are announcing that Windows Azure will be renamed to Microsoft Azure, beginning April 3, 2014. This change reflects Microsoft’s strategy and focus on Azure as the public cloud platform for customers as well as for our own services Office 365, Dynamics CRM, Bing, OneDrive, Skype, and Xbox Live.

Our commitment to deliver an enterprise-grade cloud platform for the world’s applications is greater than ever. Today we support one of  the broadest set of operating systems, languages, and services of any public cloud—from Windows, SQL and .NET to Python, Ruby, Node.js, Java, Hadoop, Linux, and Oracle. In today’s mobile-first, cloud-first, data-powered world, customers want a public cloud platform that supports their needs—whatever they may be—and that public cloud is Microsoft Azure.


SQL Database Web and Business editions are charged based on the actual volume of the database, measured in GB.

Continue Reading...

SQL-Server-2014-Logo

Microsoft has announced that SQL Server 2014 will be available on April 1st, 2014. Excited? I know I am, I’ve been waiting for SQL Server 2014 because it’s got some great features!

Microsoft Canada has asked the Montreal SQL Server User Group (part of the Montreal .NET Community) to organize the Montreal and Quebec City launches.

We’re in for a treat!

  • SQL Server 2014 – What’s new (Frank Wiemer, Technology Specialist, Data Platform & BI at Microsoft)
  • Performance with SQL Server 2014 with the in-memory OLTP (Frank Wiemer, Technology Specialist, Data Platform & BI atMicrosoft)
  • Disaster Recovery and backup with SQL Server 2014 and Azure (Éric Moreau, Senior .NET consultant at Moer inc.)
  • Lunch (free, thanks to Microsoft) pizza selection
  • Powerful BI with Power BI (Charles Verdon, Technology Solutions Professional, Data Platform & BI at Microsoft)
  • HD Insight (Christian Côté, BI Architect at IA-TechConsulting)

Montreal

Presentations in French
Saturday April 12, 2014
http://www.meetup.com/dotnetmontreal/events/139950192/

Quebec City

Presentations in French
Saturday April 26, 2014
http://www.meetup.com/dotnetmontreal/events/172261112/

These events are free (pizza is included!). On a side note, if SQL Server 2014 interests you, be sure to join us at the Montreal .NET Community, because the SQL Server User Group organizes regular presentations about these technologies.


You’re probably already using some of them because the Windows Azure SDK ships with five plugins. The ones we probably use the most are Diagnostics, Caching and RemoteAccess. The other plugins that ship with the SDK are RemoteForwarder, WebDeploy.

Continue Reading...

Using XPath we can pass configuration values from the Cloud Service configurations to Environment Variables that can then be used as parameters for the Startup Task executable.

Continue Reading...