Microsoft is making a concerted effort to convince developers to use its Windows Azure service to build mobile apps that tie together with various back-end services. A number of sessions at last week's Visual Studio Live! Chicago conference described how developers can use Microsoft's new Windows Azure Mobile Services to remove the headache of writing code designed to link to server-side processes.
Windows Azure Mobile Services fits into a category known as mobile backend and a service (mBaaS). A report released last month by Gartner said 40 percent of mobile app development projects will tie to cloud-based back-end services in the next three years. Like platform as a service (PaaS) mBaaS provides application middleware to various back-end services but the latter is aimed specifically at letting developers add services to mobile apps such as push notifications, storage and integration with back-end systems and social networks.
"There are a number of over the air testing tools, deployment, provisioning tools that support different mobile platforms, but when it comes time you need storage, creating push notification or you need to federate across different identity providers, you end up writing a ton of code to integrate with different systems behind the scenes," said Jesus Rodriguez, who gave a talk on Windows Azure Mobile Services at Visual Studio Live! Thursday. Rodriguez is CEO of KidoZen, which offers a cloud-based platform designed to provide enterprise apps targeted at mobile devices.
Rodriguez worked closely with Microsoft on Windows Azure Mobile Services and said it's joining a market heated by a bunch of startups such StackMob, Kinvey and Parse, which was acquired last month by Facebook. As a result of Facebook's acquisition of Parse, Microsoft will be competing with the social network, Rodriguez said, adding Salesforce.com also just launched a new mBaaS platform.
Craig Kitterman, a senior technical product manager for Windows Azure at Microsoft, talked up Windows Azure Mobile Services in his Wednesday keynote. "Windows Azure Mobile Services is a quick and easy way for a developer build rich mobile client applications to add great cloud based back end capabilities," Kitterman said following the session. "Those applications typically need to authenticate users, they need to store different types of data and they need push notifications and updates that come down from the cloud when things happen. So Windows Azure Mobile Services gives developers a simple API they can use on either Windows Phone, Android or IOS to implement all of those capabilities with their app without having to be a database expert or a back end developer."
Posted by Jeffrey Schwartz on 05/21/20130 comments
Craig Kitterman, product manager for the Windows Azure Team at Microsoft, gave the Day 2 keynote address at Visual Studio Live! Chicago last Wednesday. He guided attendees through the improved features and interface of the Windows Azure cloud platform, showing how dev organizations can quickly set up free Azure accounts for things like hosting cloud-enabled ASP.NET applications and creating virtual machines for dev/test operations.
In his talk (video replay available here), Kitterman stressed that there were five things devs need to keep in mind when transitioning to cloud app models. First, design to scale, making sure to properly manage session states across distributed caching environments. Second, he said, dev orgs must design for failure.
"Failure happens. Things break," Kitterman told the audience, noting that the cloud model relies on affordable, commodity hardware. "Never count on a single node, a single instance or single anything, because ultimately that thing will fail."
Third, he urged devs to decompose by workload, understanding when and where multiple nines of availability are called for in the environment, and when they are not. Fourth, he urged organizations to design for interoperability, to take modular approaches and ask, "How are things going to plug into future things?"
Finally, Kitterman urged devs to design for operations, baking maintenance into the code so applications are easier to fix, update and iterate.
I asked Craig about his keynote and the kind of response Microsoft is seeing from the dev community with regard to Windows Azure. Here is what he had to say.
MD: Tell us about your role as product manager on the Windows Azure team? When did you join the group and what brought you there?
CK: My role as product manager on the Windows Azure team is about raising awareness of the platform among developers and ensuring they have a great experience. I work closely with our core engineering team to provide insight and feedback from developer communities. I joined the Windows Azure team about one and a half years ago from the Microsoft Interoperability Strategy team (now MS Open Technologies, Inc.) where I was focused on cloud technology interoperability.
MD: A year or so ago, dev interest in Azure seemed pretty lukewarm. Are you seeing Azure interest pick up at events like Visual Studio Live? If so, why?
CK: Azure demand is definitely picking up. There are two primary reasons for this: One, concepts like Platform-as-a-Service (PaaS) are powerful, but take time (particularly in the Enterprise) to gain understanding and adoption. Traditional methods and models die hard. Two, adding Infrastructure-as-a-service (IaaS), which gives developers VMs on-demand, gives devs even more flexibility for using the cloud for things like dev and test--where traditionally IT was a major bottleneck. This, with the growth of devops, make now the right time to take advantage of the cloud.
MD: There have been a lot of dev-oriented features and capabilities rolled out in Azure lately. Are you able to single out two or three that are getting the most attention and producing the most interest in the community?
CK: That is hard to do! We are seeing the most buzz around core scenarios that developers can get started with quickly. The primary one here is the ability to use Windows Azure Virtual machines for doing dev and test in the cloud. Many developers think they have to be deploying into the cloud for production to get any benefit – but with on-demand, scriptable VMs, anyone can stand-up and tear-down a complete dev/test environment in minutes. MSDN subscribers can actually do it for free today by activating their Azure benefit in just a few minutes.
Windows Azure Web Sites and Windows Azure Mobile Services are also very popular with developers as they are so easy to use and provide awesome new capabilities for Web and mobile developers without a steep learning curve.
MD: What are some of the biggest misconceptions that developers seem to have about Azure at this point? How are you countering them?
CK: The primary one is the idea that the cloud is an all or nothing proposition. Some believe that if their organization is not completely on board for moving everything to the cloud, there isn't any opportunity there.
The reality is that there is a lot of opportunity to start small and go big, with things like dev/test environments, storage, campaign Web sites, etc. Hybrid is a core design point for Azure so we have built it from the ground up to make the onramp easy, allowing customers to leverage existing IT investments while taking advantage of some Azure services.
MD: What are the biggest obstacles to Azure deployment today? What is Microsoft doing to address these?
CK: Honestly, its awareness. We have a ways to go to help developers see and realize the full potential of the cloud. It is naturally going to take some time as enterprise application lifecycles are long, and new applications are where they will see the most benefit. Driving awareness of scenarios like dev/test and virtual machine migration that developers can take advantage of immediately will be my focus in the short term.
Posted by Michael Desmond on 05/21/20130 comments
There are a number of techniques and challenges developers face when building Windows 8 live tiles. Ben Dewey, senior software consultant at Tallan, Inc. explored how to effectively build live tiles during a presentation Tuesday at the Visual Studio Live! conference in Chicago. Titled "Make Your App Alive with Tiles and Notifications."
In the session, Dewey showed how developers can communicate with users via Windows 8 tiles and notifications and covered the implementation of live tiles, secondary tiles, toasts, badges and notifications.
Dewey praised both the design and philosophy driving the new tile architecture, describing Windows 8 tiles and notifications as "distinctive."
"The ability to engage the user outside of your running application is a feature that no other platform offers in the same way," Dewey said.
The new functionality provides opportunities to enhance interaction and make apps and data accessible to users. But Dewey urged developers to be careful how they use the capability and to hew to best practices defined by Microsoft.
At one point during his presentation, Dewey warned attendees to avoid behaviors -- like constantly updating tiles -- that can annoy or drive away users. In fact, Microsoft's documentation addresses this concern explicitly, stating: "If users don't like your tile, they might place it at the end of Start or unpin it altogether, turn off updates, or even uninstall your app."
Dewey said developers he talks to often complain about not having better control over when and how the tile gets updated. "Remember that periodic updates only update at a minimum of 30 minutes," Dewey said. "I tend to side with Microsoft on this point because I value my battery life and system resources above tile updates. Additionally, I haven't heard any challenges from the field that represent a valid case to increase this frequency."
Dewey also noted that debugging live tiles is a source of frequent complaint from developers. For instance, if a Web site providing live tile XML data goes down, there is no way to have the tile fall back to a default state or failover to another XML source.
"There are a number of reasons for a tile to fail to update. The common issues include malformed XML, incorrect encoding and image sizes above 150KB," Dewey said, adding. "When a tile fails to update, an error will be added to the EventLog, but few details are provided to resolve the issue."
Dewey pointed developers to a helpful blog post that describes tips and tricks for debugging tile updates.
Asked if there were any common mistakes that developers tend to make when getting familiar with Windows 8 UI elements like tiles, badges and toasts, Dewey named several.
"There are a few common mistakes when working with tiles. The first one is with regard to philosophy and guidance. Teams often question when it is appropriate to use toast rather than tiles," he said, referring developers to Microsoft's Guidelines and Checklist documents regarding tiles and toast.
"The other mistake that I see people make is regarding their eagerness to jump into push notifications or background tasks when periodic updates would be sufficient," Dewey said, noting that Windows devices can only have seven apps running background tasks. "In many scenarios, periodic or local updates can serve the needs for most applications without introducing the complexities of background tasks or push notifications."
Dewey urged developers to review the Microsoft documentation, which he called "very comprehensive."
Posted by Michael Desmond on 05/16/20130 comments
A revamped version of Microsoft's Windows Azure cloud service released a month ago today now gives developers the long-awaited capability of deploying their own servers and virtual machines. Eric Boyd, founder and CEO of the Chicago-based consulting and integration firm ResponsiveX, explained how developers can spin up VMs in the revamped Windows Azure Wednesday at the Visual Studio Live! conference in Chicago.
Until last month's release of the new Windows Azure infrastructure as a service (IaaS), Microsoft's three-year old cloud offering was only a platform as a service (PaaS). At last spring's Visual Studio Live! conference in Brooklyn, N.Y., Boyd, a Windows Azure MVP, suggested that VMs were a key ingredient that would flesh out the Windows Azure service.
While Windows Azure PaaS offered more application level services such as middleware and databases, it lacked the control IaaS offers, notably to spin up a VM or stand up a traditional version of SQL Server, SharePoint or BizTalk, or for that matter just basic server and storage infrastructure, Boyd explained.
The new added control is particularly important to developers looking to quickly set up test and development environments, Boyd said. "This is probably one of the most compelling scenarios for all of us," he said. "I know when I use to dev all the time in corporate America, in an awful number of scenarios where I just needed a dev environment with a Web server an app server, and a database server, waiting on IT to provision that took forever, and slowed us down and didn't make a lot of sense."
Now in Windows Azure, a developer can just run through a quick wizard in the online management console and in 15 minutes, have an entire dev and test environment spun up. "I'm no longer waiting on IT to do something," Boyd said, plus it eliminates the capital outlay needed to provision a large server, storage and network environment, as well as the resources to manage them, he explained.
Boyd demonstrated how a developer can deploy a VM by logging into the Windows Azure management portal and selecting the necessary infrastructure. That may include a Linux or Windows server, SQL Server or SharePoint, Boyd explained. Developers can also set up VPN tunnels for those who want to connect premises infrastructure in hybrid type environments.
"That allows you to leave some of your applications on premise, and some of your applications in the cloud," he said. "Maybe it's Active Directory, maybe you want to leave your Active Directory store on premise. If you want to connect back to other apps like SQL or BizTalk or SharePoint, you can do that."
There are some downsides to using IaaS versus PaaS. When using IaaS, developers are responsible for configuring and maintaining the operating system and app server.
While PaaS is more turnkey, in many cases it's less likely to simulate a traditional datacenter environment, Boyd explained. "Sometimes we run into scenarios in the PaaS platforms, where runtimes and middleware are just not installed," he said. "You might be able to script an install in the Web or worker roles but it might not be the most convenient thing to do. There are many reasons why that just doesn't work at all. Maybe that install really takes a long time. In your Web or worker role in a cloud service, you can script the install to happen when that machine starts up, but it really needs to happen in five minutes. If it's a long install, the cloud service breaks down and doesn't work well."
Now that Microsoft's IaaS is available, Boyd said it is more appealing for organizations to run line of business apps such as CRM, BI and identity services in Windows Azure. In an interview after the session, Boyd said that has led to increased deployments by his clients. "It's been nuts."
Posted by Jeffrey Schwartz on 05/16/20130 comments
Jay Schmelzer, director of program management for Visual Studio at Microsoft, gave the opening day keynote address at the Visual Studio Live! Chicago conference Tuesday morning. I caught up with Schmelzer after his presentation (watch the video here) to ask him about Visual Studio LightSwitch, the move away from Silverlight and the new Apps for Office programming model.
Michael Desmond: If you had one message that you'd like attendees to take away from keynote address today, what would it be?
Jay Schmelzer: For application developers, it would be the realization that it's a multi-device world. As much as we would want and love for everyone to be carrying Windows devices, we know it's the consumer's choice, and developers need an experience for supporting that.
I would say the other aspect of this is wanting everybody to realize that hey, the investments we've made in managed languages, VB, C#, .NET--those assets will continue to evolve and will help them to continue to modernize their apps and adapt them to the devices they need and the services they need to build. Those are investments people should feel confident in and continue to invest in.
Platform confidence is of course such an important thing and has been a core strength for Microsoft in its relationship with developers. But didn't the retirement of Silverlight shaken that confidence a bit?
JS: I step back and look at it and say, 'it was really more that the entire RIA plug-in model. In hindsight had a lifespan." Whether it's Silverlight, whether it's Flash, they all are facing the same challenges, where they are dependent on devices supporting them. We could have at Microsoft decided to keep supporting [Silverlight] on our devices, but then a big chunk of its reason for existence is gone. It's not going to do what you need it to do, because I can't make Apple support it forever.
This whole category, rather than being one player in it, is going away. So now we have to help developers evolve to the next thing. It's got a support life that's still quite far out there—the standard five by five [years]—so those assets will continue. And now it's time to consider what is the evolution of that app.
You talked about multi-device support and the choices organizations need to make to enable it. Are you seeing organizations struggle with those choices?
So if you have an app that doesn't require lots of native capabilities of the device but you need to support multiple [devices], then we have tools like LightSwitch which will create a standards-based HTML client that will run on all these devices. And for a business app, a client-based business app, that's actually all you need.
And then we have partners like Xamarin and folks like that who can come in and provide other experiences for getting native within Visual Studio using our stuff.
At one point during the keynote you had asked how many people were aware of LightSwitch. How many hands went up?
JS: I would say maybe 20 percent. I wish I could say it was lower than I expected, but I've asked that question a lot and I've seen that a lot, so I was kind of expecting it.
Some of it goes back to our other conversation on Silverlight. LightSwitch, the first version of it, came out right when the uncertainty of Silverlight was at its peak, and that is what we supported at the time. That was part of it.
We are seeing an uptick just in terms of traffic to our site, traffic in community forums and places like that now that the HTML client is out there and people see where we are going.
Can you talk about how the audience for LightSwitch has evolved? Your keynote certainly positioned LightSwitch as a professional developer's tool.
JS: One of the things that we realized is that we originally targeted an audience that wasn't a Visual Studio customer, but we were branded as a Visual Studio product. That presented some challenges. We still believe that that audience is important, we still keep simplicity and productivity as the key part of our design philosophy for LightSwitch. But we also realize that hey, we are part of the Visual Studio family, so one of the things we have to be able to do is have LightSwitch work in a model that works for developer workflow.
That means things like being better in a team environment, having multiple people working together on a project, working better with the lifecycle tools. So that's an area where we've shifted our focus a bit and said let's make sure these productivity features and experiences work well for professional developers. Nobody would want to spend eight hours doing something they could do in eight minutes, as long as it works within their tool chain.
How important is LightSwitch support for HTML apps in all this?
MD: So do you expect more hands to go up next time you ask a Visual Studio Live! crowd about their awareness of LightSwitch?
JS: I definitely do. I think we've got a number of things coming out that we aren't ready to talk about yet--but probably in the BUILD time--that will get some folks more excited and really understand where we are going with this. I'm hoping next year we come back and I see at least 50 percent of the hands in the air. I think the question for next year will actually be how many people are using it, and we will see probably 50 percent of this kind of audience saying they are using it for something.
And LightSwitch can be used in conjunction with other tools, of course. So you can leverage it where it's needed.
JS: We have examples of folks who build really large applications that use LightSwitch for a portion of it, where it's the table maintenance part of the app, right, where you have lookup values and things like that. And you have to create UI to manage that. You don't really want to go spend 40 hours building that when you could just knock it out in 20 minutes.
Those are other things that we do, patterns people develop where they custom build a core part of it, but there's LightSwitch for everything around it. In fact, every LightSwitch app I've ever seen has got some percentage of the app where they went and took control of that thing completely, the UI or whatever, because that's the part that required the custom work.
How is the new Office and SharePoint app model being received by developers?
JS: I'm seeing two reactions. One, the folks who have never done SharePoint development or Office development are saying this is something I can take a look at now. It does look more like something I'm used to. So that's good.
The folks who have been deep in things like SharePoint and Office, I'd say they're ones who are excited about the model and the pattern. They're now in the phase of trying to map what they used to do to the new world. Because in a lot of ways it changes it pretty dramatically from what they used to do.
How does the new Apps for Office model relate to Visual Basic for Applications (VBA) and Visual Studio Tools for Office (VSTO) apps?
JS: I was talking with a gentleman after the keynote who said he has a lot of VBA and VSTO applications in Excel and can they just kind of move over. And well, it kind of depends on what you are doing. VBA and to an extent VSTO--the old object model--had a lot of automation capabilities in the object model. You could make Excel do things. That's not part of the new model. The new model isn't about making Excel do something, it's about leveraging a service with Excel.
So if your app was all about the calc engine in Excel and putting the data in and out and letting the calc engine do its thing, then OK, the new model is going to work great for that. If you were basically automating a bunch of manual steps through a macro, that's not going to work with the new model. That's not what it's designed for.
Those existing approaches still work and are fully supported in the rich client versions. But that's what we're seeing, is people having to go back and rethink how they accomplish what the app used to do in the new world.
And the new model cleans up some of the problems that could crop up when upgrading to a new version of Office, right?
JS: That was always a pain for app developers. I've got to go test my app for the new version of Office before I can get rolled out. Now [with Apps for Office] it's just a service interface that we need to keep consistent, as opposed to the wacky things that can happen when you're running in the process of another app. Developers are seeing this as a huge benefit.
Thanks again for your time, Jay. Anything else you'd like to address before we close?
JS: We touched on this a few times. The .NET Framework, CLR, VB/C# are core developer assets of Microsoft. We are absolutely continuing to invest, evolve and innovate in those. Customers really shouldn't question their investments there. They should have confidence that we are going to continue to be there and continue to evolve that.
The scope and the size of the enhancements are dramatically smaller than they used to be, but that's more a sign that it's a mature framework. It's a mature platform. We don't need to go and double the size of the base class libraries every time, because they're rich, their pretty complete. In some cases that's actually a benefit to an application developer. In the past we've heard that things were evolving so fast that they couldn't keep up. We feel like we got ourselves to a pretty good point.
Posted by Michael Desmond on 05/15/20130 comments
Microsoft might change the terms that give developers 750 hours of free Windows Azure usage, according to Craig Kitterman, a senior technical product manager for Windows Azure at the company.
Kitterman dropped the hint during his keynote address today at the Visual Studio Live! conference in Chicago. Kitterman didn't say whether significant changes are in the works or if Microsoft is merely looking at slight adjustments, but he suggested they will be for the better.
"The MSDN offer as it exists today, wink-wink, is one small sized VM continuously running," Kitterman said in his keynote. "You want to run a Web site non-stop [or] if you want to spin up a bunch of machines to do some testing for a couple of hours, and spin them back down, you can do that. We are looking at potentially changing that offer in the future to make it even better for those scenarios today, but we are working hard to make it even better. But with 750 hours, you can still get quite a lot done."
In an interview following the keynote, Kitterman declined to elaborate nor would he say whether the number of hours might increase or decrease. "We are constantly trying to figure out how we can improve the developer experience around Windows Azure and there's lots of different things we look at," he said. "How do we make the MSDN offer better is something we are looking into but I don't have any specifics."
Kitterman polled the audience and estimated that approximately 25 percent were aware that Microsoft offers the free 750 hours of usage with their MSDN subscriptions. One attendee who is aware of the offer said one show-stopper for signing up is the requirement to give a credit card number before taking advantage of the free Windows Azure usage. While Kitterman didn't say whether that would change, he acknowledged that some have an issue with that. Others simply aren't ready to use the cloud.
Jeremy Gruenwald, an application architect with the accounting firm Grant Thornton LLP, after the keynote said he set up an Azure account but is reluctant to use it due to the fact that applications are architected to run on premise. "Honestly our decision isn't really about the pricing, though obviously pricing enters into it," Gruenwald said. "But ours is more about figuring out how to manage our data. We have all these existing applications that are built under the assumption that they've got on premise, cross-database access. We just have to learn how to make that transition."
As one of the world's largest accounting firms, privacy and compliance are also key issues, Gruenwald said. "The idea of putting client data in the cloud has a lot of people nervous," he said. Kitterman acknowledged that concern in his session, but said organizations can use the cloud for certain capabilities without coming against these restrictions.
"In certain cases where people have specific regulatory issues, where they can't put data in the cloud, we have the capability to do things with virtual networking where they can put some of their assets and resources and applications in the cloud while keeping some other things back on premises," Kitterman said in an interview with Visual Studio Magazine editor in chief Keith Ward . "So they really have a lot of flexibility to do hybrid architectures but meet all their security and compliance needs."
Corey Nease, an associate applications analyst at Integrys, an energy company based in Chicago, said he hopes Microsoft extends and enhances the offer. "I hope they keep the free things because I have already spun up a free instance of TFS 2012 that our company is going to migrate to eventually," Nease said. "So I think it would be nice, especially since our whole company has MSDN, and they don't utilize it very well."
Kitterman emphasized developers should take advantage of the free Windows Azure usage with their MSDN subscriptions and try using it to develop and test their apps. "Take advantage of that MSDN Windows Azure benefit," he urged attendees. "Go play around with things like Windows Azure Web Sites and think about how that's going to change the way you think about designing your next project. You can easily deploy and update, very fast and very, very quickly and have the ability to scale on demand so you never run into capacity issues."
Posted by Jeffrey Schwartz on 05/15/20130 comments
Lenni Lobel, chief technology officer of Sleek Technologies and author of Programming Microsoft SQL Server 2012 (Microsoft Press), offered a walk through the SQL Server Data Tools (SSDT) built into Visual Studio 2012 and available for free download for users of Visual Studio 2010.
The session, held Wednesday morning at the Visual Studio Live! Chicago conference, showed how database developers can use SSDT to manage both on-premise and cloud-based database development projects. SSDT works with SQL Server 2012 and SQL Azure databases.
SSDT is essentially the successor to Microsoft Visual Studio Team System for Database Professionals, widely known as DbPro and sometimes referred to as DataDude. Released in December 2012, SSDT is a Visual Studio plug-in that presents itself as a new database type in the IDE. SSDT enables for database developers familiar Visual Studio capabilities like code navigation, IntelliSense, platform-specific validation and debugging. It also enables declarative editing in the TSQL Editor, and provides a visual Table Designer for database projects and online database instances.
"Database development is hard. It's a huge thing to get right and it's a huge challenge," Lobel told the audience during his presentation. "With respect to the development process itself, there are definitely pain points that can be relieved with the right tooling and SSDT aims to deliver that tooling."
During the presentation, Lobel showed how developers can use the declarative model of SSDT to design databases offline, and use source control functionality to preserve earlier versions of database schema. He also explored features like schema compare, local database runtime support and the ability to support SQL Azure database projects.
Lobel after the demo expressed both praise for and frustration with the SSDT toolset. He described SSDT as being "light years ahead of anything that came before for developers," and gave it high marks for integrating database creation and management tooling into the development environment. However, there are things Lobel would like to see in SSDT.
"SSDT is focused on schema, but not data. Data generation and data compare are features in DbPro that are not features in SSDT," Lobel told the audience.
"They've added unit testing, but I've heard no word on the other two," Lobel continued, suggesting that developers needing data generation and compare capabilities consider RedGate Software's SQL Toolbelt product.
Posted by Michael Desmond on 05/15/20130 comments
There are scores of so-called NoSQL databases that allow organizations to create scalable ways of parsing and querying non-relational data. Two that are attracting a growing number of .NET developers are the open source MongoDB and Cassandra databases.
In back to back sessions Tuesday at the Visual Studio Live! conference in Chicago, Ted Neward, principal with Neward & Associates, outlined the nuances of both NoSQL databases. In each session, Neward expressed his disdain for the NoSQL nomenclature, which effectively stands for a database that is "not-SQL." By that measure, Neward said, "NoSQL also applies equally to cars, rainbows and unicorns. None of them are a SQL database either."
For that matter, Neward continued, the list of things that are not SQL databases include object databases, writing to a file, key value stores, hierarchical document databases, XML files and graph databases. "It's a horrible term to use collectively," he said. "They all are piles of data managed by a program."
The term, he argues, also gives the impression that the various non-SQL databases are similar, which often they're not. "It doesn't mean Mongo and Cassandra have much in relationship to one another other than the fact that they both store data," he said.
Neward's distaste for the term notwithstanding, MongoDB is regarded as one of the leading NoSQL databases. The term MongoDB is derived from the word humungous and reflects the database's ability to scale to handle very large datasets, typically documents. The only commercial supplier of MongoDB is 10Gen.
Many customers looking for a high performance documents database have recently gravitated to MongoDB because it is fast, schema-free, open-source and language independent. Written in C++, it runs on all operating systems including Unix, Linux and Windows.
Neward doesn't expect MongoDB or any other non-SQL database to replace traditional relational database management systems, notably Microsoft's SQL Server. "Let SQL Server store traditional data," he said. "When you want to store other binaries, store that into MongoDB."
In the following session Neward dove into Cassandra, which was originally developed by Facebook to power its inbox search capability.
Neward said Cassandra provides a column-based structured key-value star store. However, the open source community implemented a layer that gives the database more of the look and feel of a relational database starting with Cassandra 1.0. CQL 3.0 has been available since Cassandra 1.1. "So you can argue in some respects that Cassandra isn't NoSQL but CQL for Cassandra Query Language, which has relational-like mechanisms under the underlying Cassandra system," he said.
Cassandra is written in Java, meaning .NET developers who want to look at the source code will have to brush up on their Java skills, Neward said. "If you have no Java skills, if you know how to program in C#, and specifically if you know how to program in C# 1.0, you know how to read Java," he said. "As a matter of fact, Java is actually C# 0.3. There's a lot of things that the C# language has that the Java language does not."
The Cassandra database, Neward said, is designed for multi-node clusters. "Cassandra actually wants to run on multiple machines," he said. "It is possible to set up multiple Cassandra nodes on one developer box. It's tricky. You're going to have to get into some very subtle configuration in order to make it happen. You are going to have to dive into the configuration files that Cassandra uses."
Posted by Jeffrey Schwartz on 05/15/20130 comments
Developers need to support a diverse array of devices and understand the vital role of services in enabling rich application experiences. That was the message from Jay Schmelzer, Microsoft's director of program management for Visual Studio, during his opening keynote address at the Visual Studio Live! Chicago 2013 conference this morning, as he explored the two trends and how they directly play off each other.
"It turns out hardware devices really aren't that interesting without great software on them," Schmelzer told the audience. "It also turns out that great software is a lot easier to build when you have compelling hardware to target and capabilities in that hardware that you can target and leverage as part of your application."
He emphasized that services allow developers to efficiently create rich experiences that are shared across form factors, and noted that developers face a number of choices as they address both existing client/server and emerging service-centric applications. Developers, Schmelzer said, "are going to need a multi-device strategy." And they have three choices to get there:
- A "completely native experience" built on the native framework for each targeted device.
- A hybrid approach Schmelzer called the "player model" that wraps HTML content within a native app shell.
Schmelzer then dove into a demo of the Visual Studio LightSwitch simplified application development tool, which he called "the best kept secret we have inside of Visual Studio." LightSwitch, Schmelzer noted, now supports HTML apps, enabling developers to use mature, .NET Framework-based tools and infrastructure to create broadly compatible HTML apps.
Schmelzer said LightSwitch solves a serious issue for business developers, who often find themselves pulled off the critical task of enabling custom business logic, which is why organizations write custom apps in the first place.
"The value is in the unique business rules. But all of our time as app developers is usually spent in the stuff that doesn't provide unique value. Getting the data into and out of the database, getting a service put up in front of it, designing the UI. So it's all of that time we put in, and then very little left for actually creating custom rules," he said. "We wanted to create an experience that flips that on its head."
Schmelzer showed off the template-driven app creation process in LightSwitch, showing how the app UI can be quickly tuned to adapt to desktop, tablet and phone screen form factors. He also walked through the point-and-click data handling and binding capabilities of LightSwitch.
Shifting gears, Schmelzer explained the Apps for Office 2013 and SharePoint 2013 application model, which features a completely different approach from previous versions of the products. The new model turns the approach "inside out," he said, relieving developers of the need to contend with deep and rich object models that don't map to other aspects of managed development.
"Now instead of having your extensions or your components plug into the process of Office or the process of SharePoint, we've opened up the Office products and SharePoint, and exposed the rich set of services they offer to developers to consume, and we've exposed them via standard rest-based APIs," Schmelzer said.
Posted by Michael Desmond on 05/14/20130 comments
Microsoft's forthcoming cloud-based big data service is "feature-complete" and in many regards is more advanced than rival offerings, but developers shouldn't anticipate a seamless experience. That was the assessment of Andrew Brust, CEO of Blue Badge Insights, in a session at Visual Studio Live! Chicago.
After an extended private test period that began last year, Microsoft in March released the beta of its Windows Azure HDInisght service, though testers have to pay a discounted fee, Brust told attendees at the conference Tuesday morning. HDInsight processes huge volumes of structured and unstructured data using Microsoft's SQL Server and the Hortonworks distribution of the Hadoop file system (HDFS).
Brust said HDInisght performs well overall, but like all of the Hadoop based offerings, it does not let developers seamlessly create queries to these large file stores. "Hadoop is not yet ready for the enterprise, the tooling has a long way to go," Brust said. "Believe it or not the tooling that Microsoft gives you is superior to tools that other Hadoop vendors give you."
While data stores based on Apache Hadoop have rapidly become a popular platform for creating large data grids that can process terabytes and even petabytes of data, many implementations tend to run on Linux servers, Brust noted. That's because of the open source nature of Hadoop and the fact that MapReduce, the common parallel processing approach to reading and writing to HDFS, is Java-based.
Hortonworks has created a Hadoop distribution that can run on Windows Server and hence Windows Azure. While Hortonworks offers a Windows Server-based Hadoop distribution, Microsoft so far only has a preview of HDInsight running on Windows Azure. Brust said it's a safe bet that Microsoft will offer a Windows Server-based Hadoop offering. In the meantime, developers can access the raw Hadoop Data Platform (HDP) code.
Users can perform queries against HDInsight with their preferred BI tools, including Microsoft Excel using an ODBC driver for Hive, the Apache-based code that takes SQL Queries to generate MapReduce code. "Technically any ODBC client can query Hadoop," Brust said. "We can take Excel, make Excel talk to Hive, [which] generates the MapReduce code, runs the job, brings the data up, and surfaces it up through the ODBC driver."
Microsoft has taken the uncharacteristic step with HDInsight of contributing its work on it back to the Apache Project. "This is not Microsoft taking the Apache code and making a propriety version, this is Microsoft making a Windows version and keeping the open source code branches," Brust said. "What's interesting is other companies have taken the open source code and have built proprietary distributions, which is historically a bit of a switch."
With the current beta, anyone can sign up from the Windows Azure portal. After signing up for the preview, a tester defines the name of a cluster, choses the number of nodes, and defines a Windows Azure storage account to associate with and an administrative password. It takes about 20 minutes to create the cluster, according to Brust. In the current beta, Brust warned that testers can only use Windows Azure storage instances residing in the U.S. east data center.
The current discounted rate for the preview is whatever a customer would pay for Windows Azure compute and Windows Azure storage, but Microsoft divides the compute rate by two. So if you have a four-node cluster, you effectively are billed for just two nodes, Brust said.
While Microsoft hasn't yet announced when the HDInsight service will become generally available, Brust said he wouldn't be surprised to see it released this summer.
Posted by Jeffrey Schwartz on 05/14/20130 comments
The Visual Studio Live! Chicago 2013 conference is set to open Monday, May 13, providing hands-on guidance and training for developers engaged with the Microsoft .NET Framework and Visual Studio development environment.
The event will kick off Monday with a trio of all-day workshops, before the formal event begins Tuesday morning with a keynote address by Jay Schmelzer, director of program management for Microsoft's Visual Studio Team. More than 60 sessions and a number of networking events are planned during the conference, which runs through Thursday May 16.
Visual Studio Live! Chicago features nine technical track, with the most heavily represented track being Windows 8/Windows RT. Sessions range from an all-day, hands-on workshop (Build a Windows 8 Application in a Day) to primers on things like WinJS and Windows 8 design concepts, to more involved explorations of data sharing with Windows Phone 8 apps.
Even so, Windows Azure may well be the star of the show in Chicago. Schmelzer's Day 1 keynote on Visual Studio and .NET Framework development will address the transition dev orgs are making toward cloud-based development. The Day 2 keynote by Microsoft Windows Azure Team Product Manager Craig Kitterman will focus entirely on Windows Azure and its facilities for quick and effective application delivery.
Rocky Lhotka, co-chair of the Visual Studio Live! conference series and chief technology officer at Magenic, says the cloud-focused curriculum reflects developers' "rapidly evolving" interest in the Microsoft Azure platform.
"Just a couple years ago most people were extremely skeptical of the cloud and what it could provide," he says. "Today I would say that most developers are starting to recognize that the cloud offers them some amazing value, potentially enabling them to incorporate features into their apps that would have otherwise been too complex or costly."
He adds that while few organizations have yet to make the transition to cloud computing, he sees a "shift in developer attitude" that is opening the way to adoption.
Microsoft's Kitterman agrees. "Azure demand is definitely picking up," he says, noting that developers are coming to terms with concepts like Platform-as-a-Service (PaaS), which holds a lot of promise for enterprises. He also notes that the new Windows Azure Infrastructure-as-a-Service (IaaS) functionality launched last month enables virtual machines on-demand and flexible dev and test in the cloud -- things that can alleviate IT bottlenecks. "This, with the growth of devops, makes now the right time to take advantage of the cloud," Kitterman concludes.
Another point of focus at Visual Studio Live! Chicago will be data-oriented development. There are nine sessions in the Data Management track at the event, including a full-day workshop on SQL Server 2012 led by Visual Studio Live! led by co-chair and Blue Badge Insights CEO Andrew Brust and Sleek Technologies CTO Leonard Lobel.
Posted by Michael Desmond on 05/10/20130 comments