//Build 2018 – day 1 – Keynote part 1

Not for the first time (and hopefully not the last Smile) I was a happy participant at Microsoft’s annual Build conference – you know, the conference called “Christmas in May for Microsoft developers”. I started the participation on these conferences a long time ago – to be specific, I was there when .NET was announced, or was there when WPF was christened – yes, they weren’t touted as ‘Build’, rather ‘Professional Developer Conference’, but close enough. Later, was part of ‘TechReady’, the internal Microsoft conferences tailored for the ‘field’ part of Microsoft, but nevertheless similar to Build/PDC, and been participating/presenting on TechEd as well.

After this short intro, what do I think about the 2018 Build? It’s different and it’s the same. The same energy was there – save for the keynote, but more about that later – many of the same presenters (sometimes about a completely new topic), same and new friends to meet. Why it’s different? Because it’s no longer the same company, not even the same company compared to a year ago. With some more execs leaving from the ‘old’, ‘Ballmer’ era, now the company can completely tear off the old wounds, and can change trajectory; although they are little like the Titanic (hopefully not by hitting the iceberg, rather than the way how it’s hard to change direction), so there are areas which are slower to understand – everything has changed.

It started for MVPs and RDs a day earlier – I’m neither of that –, but this meant good news for Oren Novotny, my old friend and ex-mate – not only his project (RX.NET) got moved to the .NET Foundation (becoming https://github.com/dotnet/reactive), was he appointed to join the Microsoft Regional Director program, but he was also honored to become the Ninja Cat of the Year! Btw, do you know where Ninja Cat is coming from? Originally it was featured in an internal powerpoint deck about Windows 10, and quickly became the logo to celebrate and symbolize the passion and energy of the people behind code. Unofficially, it represents the spirit of Microsoft employees. Officially, the award, one of the 2018 Windows Developer Awards decided by voting, recognizes the Developer (with capital D), who demonstrates the core values of Microsoft the best and made one or more significant contributions to Windows development in the past year. So, Oren ‘NinjaCat’ Novotny – congratulations! Well Done!

So, on day 1, as I was standing in the registration line (one of the first in line), I tried to summarize my expectations for the conference and for the announcements. As Morgan Stanley is heavily involved in the early discussions for many of the products (whether that is the next version of .NET, .NET Core, Azure, Azure Stack, etc.), many of the announcements coming up I was already aware, or in some cases, already played with. So I was more to look forward meeting with some of the industry leaders, meeting with the product groups, meeting with the decision makers and to learn more broader term next steps the industry and Microsoft is going to take. It also gave me a thrill – for the first time ever, I wasn’t only to enter the Build conference – I was to also visit ‘MRJam’, a ‘semi secret’ Mixed Reality subconference, also by Microsoft, on the same premise. What did I expect from MRJam? As being the first one of the kind, did not had any special expectations, just being able to see other people doing development for mixed reality headsets and the HoloLens (I’m the latter) and to listen some sessions seemed to be adequate – however it turned out to be something significantly better. More about that later Smile

Freshly registered we lined up for the keynote – I had to admit the registration experience was significantly more organized than last time (that was a mess in a small room, now it was a 5x as big room with 3x as many registration stations AND the swag handling (t-shirts only) was done in a separate section), we could walk next to the expo and a newly designed, much bigger, better Channel9 area.

While walking down the fenced corridors, could not avoid spotting Seth Juarez preparing for his opening Channel9 remarks – not a small feat to do to cold open a 3 day conference AND prepare for 3 straight day of talking to people – haven’t seen the Channel9 stage empty during the days Smile Btw, could not avoid spotting, beard became now the new norm Smile 

We definitely weren’t alone. I haven’t seen an official tally yet, but based on what I saw on the various sessions, in the lunch room, etc., I guess 7.000 people – don’t quote me on that, I might be absolutely crazily completely off with that.

 

The line of announcements started meanwhile standing outside, if you had an open ear to the Channel9 recording booth, started with – Windows 10 1803 ISOs showed up on the Microsoft Volume License Center’s website (with its hopping 4382 MB to download)! Also, we all knew for sure that we would be Hanselmanned sooner or later, but he did actually show up shortly before the keynote with many ‘aaah’ and ‘oooh’ Smile

 


Than the show began! Same as last time, I was sitting next to the Press area, just to slightly right from it, Mary Jo, Thurrott sitting just a few feet from me – this has to be a good seat Smile with tongue out

 

The opening words were new in so many ways. Yes, we have had opening words delivered at Connect 2016 by no other than Stephen Hawking, and many other amazing scientists, but this time, it came from Charlotte Yarkoni about Project Emma, a wearable device which we saw as a prototype a year ago. It’s to help those patients, who are suffering from Parkinson’s – Emma herself got the disease at age 29, and being someone talented with wonderful ideas (being a designed and a creative director) she was afraid the diagnosis might end her career. With the new Emma watch, she is able to live a full life, and can have her wonderful ideas being fleshed out by herself.

And here starts the list of endless announcements! Visual Studio 2017 15.7 (actually now we have 15.7.1 due to a last minute security bugfix, so make sure you grabbed the newer version) with C# 7.3 with enum/delegate constraints, ref reassignment, stackalloc, unpinned fixed buffer indexing, custom fixed, and many more; and with asp.net core to noncontainer app service Linux publishing, codelens unit testing, responsive testing icons, step back for .net core, github auth for sourcelink, javascript debugging for Edge (this is big!), XF editor intellisence (also big!), VSM for UWP (another biggy!), signed Nuget support, and many more. Many of these are thanks to the Developer Advocates – Donovan Brown, Seth Juarez and many more. And, Visual Studio for Mac 7.5 (why they cannot share versioning, sigh?) with Razor for ASP.Net, TypeScript and JavaScript for web, wifi debugging for iOS, Android SDK manager for Android, .editorconfig support, and more! Lastly, on this topic, Microsoft brings its Visual Studio App Center lifecycle management tool for iOS, Android, Windows, macOS developers to the GitHub marketplace.

The actual opening notes from Satya Nadella made me googling/binging quickly – why does Bill Gates speak about Apple stock prices? Yes, I wasn’t following what exactly Warren Buffet said about stock prices, and wasn’t sure others were following him either – lost me a little bit there. And if your cold open is not hitting the right vibes, you start to feel out of blues… Back to announcement mode, two new mixed reality business applications announced, layout and remote assist. As the name implies, it is showing two common usecase – layouting physical objects over real world, and providing real 3D, context sensitive help when needed using a mixture of devices – I actually have had the ability to try out an earlier implementation of the latter by a company called Kazendi where they showcased their holomeeting product. We got another reason for using Visual Studio Code – Sort JSON Objects addin for sorting both your objects and your settings. Announcement of Microsoft’s own content delivery network (CDN) – this time again Microsoft is trying to get into a rather busy field, although with the promise of a rather big number of EDGE sites this might be more promising than it sounds (50ms on average in 60 countries with 54 edge pops in 33 countries + 16 cache pops); although I don’t see this as an imminent threat to akamai, cloudfront, cloudflare, level 3, etc.

We went a little hardware and IoT Edge from here (so many edges Microsoft have now Winking smile), so when you were thinking (for a good reason actually) that Microsoft XBox Kinect is dead – here is Kinect for Azure. A hardware solution not insimilar to the one in the next HoloLens in 2019, with depth sensor resolution bumped up to 1024×1024 from 640×480. As Microsoft did give a Kinect to each developer at a previous Build, many developers who weren’t really into gaming figured out, that with the ‘Kinect for Windows’ SDK, many amazing industrial solutions can be made – this is what lead to the fourth reinvention of Kinect into this small devices that can be fit along with other IoT solutions. To be honest, I can already see some amazing mixed reality projects forming in my mind. News about IoT is not ended: IoT Edge itself got opensourced, along with an AI Developer Kit for Cameras from Qualcomm and a Drone SDK from DJI, demonstrated by flying an actual drone in the keynote recognizing flaws on the pipes on stage. This is actually enabled by many updated cognitive services, some of them are part of Azure IoT Edge, enabling you to train in the cloud but run on the device enabling blazingly fast decisions while being superiorly precise at the same time. Already at Azure, did you know about the new Terraform resource provider? This would enable you to write an ARM template that creates a Kubernetes Cluster on Azure Container Services (AKS), and then, via the Terraform OSS provider, Kubernetes resources such as pods, services and secrets can be created as dependent resources. Also, geo replication for Azure Container Registry with ACR Build, to enable easier OS and framework patching with Docker. Also – actually pretty slick way to enable/disable – Azure SignalR with literally half line of code change (AddSignalR –> AddAzureSignalR), moving SignalR connectivity to Azure Edge using a fully managed service.

This next one is big: Microsoft is changing the revenue mix. App developers now going to get 85% instead of 70%, and going to get 95% if you get redirected from the developer website to the store. Would this be enough to be a gamechanger? Would this result in a landslide? Very hard to tell, when looking at this number I don’t feel little, but I feel late. Back to User Interfaces – XAML Islands are coming up (enabling the use of Edge WebView in the earlier tech)! These enable you to host UWP content in your Winforms or WPF applications – who said that Winforms/WPF is dead? Actually, everyone said it.

But if, we are already at WPF/Winforms – next to announcing .NET Core 2.1 RC1 (which contains a performance related PR and a Linux compatibility PR from me!), an important announcement of .NET Core 3.0 is also there – with the ability to run Winforms and WPF on top of .NET Core 3.0, giving it side-by-side ability and probably opening the way of them becoming opensource. And actually, clippy can help you code it. Not kidding, IntelliCode is trying to become the clippy of development and provide AI assisted capabilities by not just better contextual intellisense and focused PR reviews, but in the future actually trying to compare your source code to other source codes and trying to point out if you used the wrong variable in a line.

When it came to AI again, Microsoft showed all the breakthrough we had in AI in the short past – Vision test with object recognition parity in 2016, Speech recognition test parity in 2017, Reading comprehension parity in 2018 January, and Machine translation parity in 2018 March. But where it becomes scary, is at things like Project Brainwave, an Intel FPGA solution enabling superior and never before seen acceleration for real time AI while being cost effective and efficient.

 

 

When it comes to AI, one of the topics always brought up are bots & intelligent assistants. We got used to frozen hells by now – and looks like the previously announced Cortana-Alexa partnership is actually going to happen, although I found it quite awkward that I explicitly had to sign in/out of them. One of the biggest applause of the keynote was a rather unexplainable moment – one of the canned responses of Alexa about Cortana. Another very  good example for the kind of thinking about AI came up than, as part of a mega Microsoft 365 demo with an ASL interpreter included – we had a sense what is coming up, but it was still groundbreaking how easily the machine was able to transcribe not only what was spoken but also who spoke and what was the call-to-action. We saw integration with HoloLens, integration with LUIS, integration with Surface Hub, etc. – if only my workspace would look like this Open-mouthed smile 

 

I’ll continue after the break – we actually had a break with a little gym exercise included Smile Open-mouthed smile Smile with tongue out

DevOps 2.0 – Beyond the Buzzword

A few days ago, I participated in the DevOps 2.0 – Beyond the Buzzword session hosted in the Microsoft building. The event was sponsored by Neudesic, Microsoft, and Docker. It differed from the DevOps 1.0 session, which was sponsored by Neudesic and Amazon in the sense that it focused little (actually not that much) on Microsoft technologies (like Azure). The presentations contained a lot of interactive forums and Q&A, and was presented by Mike Graff, Kunaal Kapoor, Chad Cook, Eric Stoltze and Chad Thomas, all from Neudesic.

 

The agenda consisted of four major sections; “DevOps in Review”, “Building the Continuous Delivery Culture”, “Automating the Secure Enterprise” and “Modernizing Legacy Apps”.

 

Starting with basic questions – Is your org implementing DevOps, Is your org using the cloud, What did you come to learn today – we quickly set the stage, and the sessions started. There was one axiom I really did not agree with, especially as someone in a team dealing with R&D and participating in Morgan Stanley's Innovation program – “You cannot innovate and standardize at the same time”. I’m happy to challenge this 🙂

 

In the digital age, it will not be the big who eat the small, it will be the fast that eat the slow!

 

The questions and discussions in the session mostly focused on why and how we do continuous delivery and DevOps. We looked at Finance 101 – Net Present Value (NPV) = cashflowin/(1+r)^t-cashflowout (where r is the cost of money and t is time), and discussed how DevOps can help change each of these variables. We alsp looked into basic Return On Investment (ROI) calculations, to see how DevOps can change it to the benefits. We discussed how we see opportunity costs (the benefit that could have been realized, but was given up, by choosing another course of action) and the cost of delay (a twist on opportunity cost that combines urgency and value).

 

By the way, did you know that in the average industry, 60-90% of required features for a product produce zero or negative value (like non-automatic hygiene)? This even applies to giants like Google or Microsoft, so they are not specific to company size or industry.

 

So, why do we practice continuous delivery and DevOps? The keywords are:

  • Faster Delivery – High Performing teams deliver software 20 times more often with 200% better lead time; this nicely binds into the Continious Delivery and Deployment agenda
  • Safer Delivery – High Performing teams have 48 times lower MTTR and 3 times lower change failure rate; this is something that binds into the blue/green agenda
  • More Efficient – High performing teams spend half as much time on rework and three times as much time on new work
  • Better Security – High performing teams have a 50% reduction in security related incidents
  • Improved Satisfaction – Teams adopting CD / DevOps doubled their internal net promoter score and had tripled their customer net promoter score
  • Increased Profitability – Organizations practicing CD / DevOps are 26% more profitable than traditional divisions

 

The three ways to achieve the DevOps nirvana according to the discussions are: flow, feedback and experiment.

 

How to work with Flow?

 

  • Make Work Visible
  • Limit Work-in-Process/Progress
  • Reduce Batch Size
  • Reduce Handoffs
  • Identify and Elevate Constraints
  • Eliminate Hardships and Waste

 

The first two items are part of most teams’ Kanban implementations, so I won’t spend extra characters on them. Making problems more bite size does help maintaining a healthier throughput, and helps ironing out the bumps in the road when an item has a wrong T-shirt size assigned. Handoffs – each time you are doing a handoff, you are literally losing track of it and automatically building a queue. Try to limit the number of handoffs through automation, by using commodity components. The last two items are in some way obvious ones; although sometimes we tend to be delivering features faster than having time to recognize that we are delivering under constraints or that we create unnecessary waste.

 

When it comes to Feedback, we can look into ways to:

 

  • Work Safely in a Complex System
  • See Problems as They Occur
  • Swarm and Solve Problems to Build Knowledge
  • Keep Pushing Quality Close to the Source
  • Enable Optimization for Downstream

 

How many times have you felt unsafe in a system or system’s admin UI you had to interact with, and didn’t know what the next click or swipe would result? Whether there is going to be another ‘are you sure?’ question, or have you just been able to render your environment unusable? Or checking out this question from the other side – are you monitoring the right thing? Do you understand what needs to be done when the alert comes? Is it coming through a system that is able to target them correctly? No one wants to be the target of a blastmail to 500+ people with a multi megabyte attachment trying to figure out which items are relevant; neither had you wanted to get notifications tailored to you but not mentioning any of the action items to be taken. And when an issue happens, what should be the steps followed? Yes, in short term, it’s “cheaper” to have a follow the sun support model and have the support person dealing with it, as for sure the support person would “document the steps needed for later reuse” – I never see the latter happening. Whereas, if available people do swarm, the issue might be solved at a higher realized price when it comes to manpower, but the crosspollination happening during the solution is priceless. And – it shouldn’t be a big deal to help the downstream system optimize them instead of building another layer/façade/presystem around it; as the latter would just lead to another piece to maintain in the long term.

 

Lastly, when it comes to Experiment, we speak of the followings:

 

  • Enable Continuous Learning
  • Create a Safety Culture
  • Institutionalize Continuous Improvement
  • Transform Local Discoveries to Global Knowledge
  • Inject Resilience into Daily Work
  • Leaders Reinforce Learning Culture

 

We learn as long as we live. With Pluralsight, Lynda, Harvard reviews and more training tools available there is no real excuse on not taking the proverb to heart. We need to support people taking a leap – looking at Morgan Stanley's Innovation Program for the second time in this one article; this may be one of the best approaches to this problem so far. Continuous improvements shouldn’t stop at writing the software. It should be part of the fabric of the team itself; implementing so called ‘kata’s to improve the process and to seek improvements of day-to-day work is more than desirable. As teams span across multiple locations, it is imperative to host knowledge share sessions, brown bags, post write-ups, and more. We should aim to record as many of these as possible and make available tagged, even sometimes transcribed/minutes written up. And when people should listen to this? Building ‘slack’ time or possibility for slack time into a system, using Pomodoro Technique and gifting yourself experimenting time for successful Pomodoros, etc. might have a bigger benefit than you think. Lastly, such change (if there are changes needed) are most successful if they are reinforced or started by management; or you experience them through mentorship – try to seek for the latter if you don’t feel the former.

 

Because, yes, DevOps2.0 needs more cultural change then technological ones – for some of the problems in the DevOps space there are off-the-shelf solutions; but to make them successful, the 20% of the technological change needs to be met with the 80% of the cultural change needed. You cannot just introduce a DevOps team between your Dev and Ops teams – that would result in another set of handovers (see above ), and no real benefits.

 

In a later session, when it came to the question of Security as part of DevOps,

 

Fewer than 20% of enterprise security architects actively and systematically incorporated information security into their DevOps initiatives (Gartner)

 

As part of looking into the importance of the enterprise DevOps process, you can look into:

 

  • Automating Security
  • Empowering Engineering Teams
  • Maintaining Continuous Assurance
  • Setting Up Operational Hygiene
  • Increasing Engineering Autonomy
  • Increasing Availability of Dev Technologies
  • Ensuring Constant Change is the New Norm
  • Leveraging Wide-ranging Operational Responsibilities of DevOps

 

We have had a long discussion of this, but I think our requirements when it comes to security and the maturity of these solutions might not be aligned to where we are now and where we would like to be in the future.

 

Lastly, as part of Application Modernization Strategies, we went into discussion of the “6 Re”:

 

  • Retire – Remove the application or platform completely
  • Replace – Replace the application of platform with new version or competing solution
  • Remediate – Invest in extending the lifeline of the application or platform
  • Re-architect – Redesign the application or platform to meet demands
  • Re-platform – Redesign the application to run on different infrastructure
  • Re-build – Rewrite the application to remove technical debt or change the implementation

 

The whole day was full of demos, everything from Security Kits through Kubernetes Orchestration to Mobile Crash Analysis, and useful discussions with industry peers. And the best discussion of the day? “How you get around SOX and Segregation of Duties when using DevOps?” – You don’t. Instead of that you educate the audit/regulator and show that the relevant controls and the segregation are still there.

Architektúra Fórum – reloaded milestone I.

Lassan letelt egy év mióta utoljára írtam ide. Nézzük csak, mi minden történt, előrébb jutottunk-e valamivel álmaink, vágyaink közül.

Először is köszönöm mindekinek, aki privátban írt. Örömmel vettem, hogy még ennyien emlékeznek a sorozatra, és (legalábbis akik vették a fáradtságot, hogy írjanak) pozítivan tették ezt a sok elmúlt év távlatából is. A felvetésekre válaszolva azt próbáltam kutatni, mi a ‘secret sauce’, mi volt az, ha egyáltalán volt ilyen, ami egyedivé, különlegessé tette a Fórumot. Nem, még nincs meg, de keressük.

Viszont egy másik fontos dolog – a segítség. Köszönjük eddig is és ezekután is uid0-nak a hostingot, és pandastic.me –nek a gyönyörű design-t.

Viszont a további lépésekhez újra segítséget kell kérnem – jelen esetben amire szükség van, az egy sitebuild 🙂 Aki kéztetést érez arra, hogy segítsen, az a peter dot smulovics at gmail dot com –n ne habozzon jelentkezni.

 

Mielőtt valaki kérdezné (már kérdezte) – igen, egyszerübb és gyorsabb lenne, ha valamelyik cég felkarolná ezt; de ilyet már többet láttunk ami nem jó véghez vezetett. Úgyhogy továbbra is előre a függetlenségért, éljen a crowdsource.

Architektúra Fórum – reloaded?

Tervezz, építs, hass! 

Mi is ez? Az architektúra fórum egy lehetőség arra, hogy megismerkedjen az architektúra világával és újdonságaival. Megvizsgáljuk az eszközöket, megismerjük a kihívást, merünk a mélyvízbe ugrani, megismerkedünk a szoftver-architektúra témakör elemeivel. Fókuszaink olyanok, mint analízis, követelmények, minták és hasonlók. Legyen az architektúra közösség tagja, jelentkezzen közénk, és vegyen részt személyes találkozóinkon is!

Igen, jól olvastátok. A terv az, hogy újjáéled, mégha kicsit esetleg más formában is. Ehhez viszont a segítségeteket kérem: írjátok meg commentbe vagy privátba ( peter pont smulovics kukac gmail pont com), mi volt jó régen az architektúra fórumban, mit változtatnátok rajta…

És persze, ha szponzorálnátok a dolgot, vagy előadnátok, akkor is jelentkezzetek 🙂

Azok számára, akik szemtelenül fiatalok, mi is volt az architektúra fórum? Ma azt mondanánk rá, hogy MeetUp vagy User Group. Akkor ezeket a szavakat még nem is ismertük, a BPNT még csak izgalmas, kéjes ötletként jelent meg, szóval valahol ez volt a úttörő rendezvény 🙂 Összejöttünk, beszélgettünk, előadásokat tartottunk, nyereményeket sorsoltunk ki, könyvvásárt tartottunk, szép projektorokat és lapostévéket bámultunk, finom sütiket ettünk, szünetben átfutottuk az osztogatott újságokat, a kedves hostess-lányok tették a dolgukat, mosolyogtunk a videókon…

Szóval ide alulra vagy a fenti címre várom az ötleteket – hogyan tovább?

IE8 beta 2 – (another) great step towards standardization

Already in available in 4 languages – the brand new beta 2 version for IE8 is out in the wild. Some of the newly announced features (inprivacy browsing, smartscreen, etc) are quite compelling – worths to check out. Some of the favourite things among them in details:

  • Accelerators – Highlight an address, click the blue button and hover over “Map” or try Right Clicking a Page and Choosing Translate with Windows Live. Check out the new IE Gallery that has cool accelerators and slices from Digg to FaceBook to Ebay
  • Web Slices – Visit Live Search, search for “Seattle Weather” (or major city relevant to your region), hover over the rich search result and click the green button.  Click it to add a Weather Web Slice to your Favorites Bar. Or do the same with Ebay
  • Search Suggestions – Go to your Instant Search Box (top right) and type a search to see search suggestions in action
  • Navigation – Use the new Smart Address Bar to quickly find sites you’ve visited before.  The Smart Address Bar searches your history, favorites AND feeds for pages that match what you’re typing
  • Security – from updated Smartscreen phishing and malware filter to domain highlighting to the industry leading cross-site scripting filter so I feel my machines, my identity and my family will be safer on the Internet

Some of the videos *not* showing the features can be found here. The list of features can be found here. And – if you like it you may become a fan on facebook! 🙂

Reflector – is it the end or a new beginning?

News of yesterday – "Red Gate has recently acquired .NET Reflector. We will continue to maintain a free version for the benefit of the community." – you remember my post about open source? All open source projects have or may have this problem now or in the future – may collide with someone who sees enough profitability in the tool and offers a deal. Btw – Lutz is working for Microsoft. He is a Senior Software Design Engineer in the Expression Blend team. And the company Red Gate is the same that bought SQL Central community site – and from the experiences with that one I think that was a good deal for both the community and the companies involved. So – I'm looking forward how will Reflector 6.0 look like both from features and pricing point of view – meanwhile looking for alternatives as well 😉 (like DILE).

A short introduction to cloud platforms – an enterprise oriented view

I'd like to draw the attention to a whitepaper by David Chappell – not a long one, being comprehensive, can be easily cited (like cloud platform is "kind of platform lets developers write applications that run in the cloud, or use services provided from the cloud, or both" ) – so good for enterprise consumption as well 🙂 It provides context for Microsoft Software Plus Sevices (S+S) strategy by explaining the rationale for what an operating system provides: a foundation, infrastructure services, and application services. And how a cloud platform applications compare with on-premises applications. He explains how the two application types work together. In addition, he breaks down each of the pieces that are needed for a complete cloud platform, including storage, identity, search, mapping, and integration.

Long live Windows Server 2008 R2

The Windows Server Division has named the next server Windows Server 2008 R2. The release would be 'just' a "minor" or Update release. In a blog posting, Windows Server '7' aka "Windows Server 2008 R2", the team announced that the plan is to keep up with a two-year minor release, four-year major release cycle for servers. The current version of the Windows Server 2008 Product Roadmap shows that R2 will release in 2010. It explains that an update release "integrate[s] the previous major release with the latest service pack, selected feature packs, and new functionality." About the client release Ward Ralston (Group Program Manager) stated, that "The client will be a major release, but, as we’ve said before, compatibility with previous versions of Windows Vista and Windows Server 2008 is a design goal."

A short overview of cache providers, part 2

The short overview of cache providers continues with two more of them – NCache and Velocity.

NCache

As a surprise – it doesn’t come free! So our (my) expectations should be even higher. But hey – it has a free option as well! So – what we get from NCache?

  • Enterprise Library pluggability – this can be useful, but doesn’t seem to be unachievable using the other providers as well…
  • HttpModule for 1.1, Session handling module for 2.0/3.0/3.5 for putting asp.net session into cache
  • Can handle java and .net clients natively
  • You have the option to build complex hiearchies, clusters, etc

So – this looks like heaven, or not? The trick lies in the limitations for the free version:

  • Only a maximum of 2 servers supported
  • Cache clients should be either local or from the second cache server
  • Only the replicated cache topology can be used
  • No support for session state/output cache (means no module)
  • 32-bit only (which would mean a 2 Gig cap on cache size, but it’s limited as of 500 Mb anyway…)
  • No java clients, no remote .net clients
  • No SQL dependency
  • No event notifications (!)
  • No GUI tool

So most of the limitations are rock solid and stops me from using this, sorry…

Microsoft Velocity

Microsoft Velocity is anotherdistributed cache platform for in-memory caches spread across multiple computers. The Velocity API is in managed code, and as usual – any serializable managed object can be in the cache. So let’s look at the bells and whistles and the downsides:

  • It’s running as a 32bit process – in order to use more than 2Gigs you have to run more of them
  • It has session state provider module for asp.net
  • It supports regions as another level of separation as well as asynch communication, locking and TTL
  • Planned support for failover, replicated cache (currently only local/partitioned/routed available) and eventing

So if it’s at least as good as the others why not using it today? I have to admit – I’d miss many of the planned features… And as it looks like currently, CTP2 is on the way to be delivered at PDC, and RTM is targeted to be in H1CY09…


Of course – this is not a full list. If you know any cache provider you think may worth showing here – don’t hesitate. And I’ll try to come to a conclusion in the part 3 – so be prepared!

Technorati tags: , , ,