Microsoft has long been trying to get developers to store their data in the Windows Azure cloud, and the effort seems to be paying off. More cloud developers use Windows Azure than any other platform, according to a new Evans Data survey.
The survey costs money to actually view, of course, so all we can report to you are the highlights from a news release (and even it requires registration). It states that 36 percent of developers actively targeting a cloud used Windows Azure. The next most popular platform was Google Storage, with 29 percent, and Amazon Web Services closely followed at 29 percent.
"Microsoft was very aggressive with its introduction of Azure to the development community a few years ago and that has paid off," said Evans Data CEO Janel Garvin. "Additionally, the large established MSDN community and the fact that Visual Studio is still the most used development environment are huge assets to Microsoft in getting developers to adopt the Azure platform," she said. "However, cloud platform use is still very much fragmented with lots of players laying claim to small slivers of share. It will take more time before a clear landscape of major cloud vendors shakes out."
For those willing to pony up the money, the survey's table of contents indicates a section of the survey is devoted to "big data and database technology," including types of databases being used, best tool suite for big data and more.
One strange thing I found in the news release was that 27 percent of cloud coders who develop in a cloud service end up deploying their apps to another service. Slightly more than 50 percent deployed their apps to that same service in which they developed. I would've expected that percentage to be higher.
Evans Data said the Cloud Development Survey is conducted twice per year, and more than 400 developers responded.
Why do you think Windows Azure is the most popular platform? Why on earth would 27 percent of developers use one service for their actual development and then deploy their apps to a different service? Share your thoughts by commenting here or dropping me a line.
Posted by David Ramel on 09/13/2012 at 1:15 PM1 comments
Stop me if you've heard this one: Microsoft introduces a new technology and developers complain about lack of local database access.
Yes, it happened last year with Windows Phone. And Microsoft responded with SQL Server Compact Edition in its "Mango" update.
Now it's happening with Windows 8. "We should at least have the ability to connect to an embedded database like the one they added to the WP7 Mango update," said one developer on the customer feedback site for Visual Studio. This comment was under a heading of "Make System.Data available to Metro style apps," with 163 votes as of this writing. But there are plenty more likewise sentiments around the Web:
- "I personally would have liked to have seen a desktop Metro app that could connect to a SQL Express Database for instance but it's not currently in the cards without jumping through hoops," said a reader on stackoverflow.com.
- "I'm stunned to find out that there is no way [to communicate with *any* SQL Server instance]--how are people meant to build LoB apps if they can't communicate with their databases?" asked a reader on a Microsoft forum site.
- "WinRT is moving in the *wrong* direction by *removing* the System.Data namespace," said a reader on itwriting.com.
Well, you get the idea.
Basically, in your Windows Store (formerly called Metro) apps, you get your database access via the cloud/network/service. But some developers complained about that model, citing intermittent connectivity problems and the like.
Those options certainly aren't on par with SQL Server, of course. As Microsoft's Rob Caplan explained on a forum posting, "There aren't any SQL-like databases provided in-box, but you can use a 3rd party database such as SQLite."
Indeed, SQLite seems to be the most popular option. Tim Heuer has written extensively on how to use it for Windows Store apps. Some developers worried about passing Windows Store muster with apps built with SQLite, but Heuer reported in June that, "Yes, SQLite will pass store certification as long as compiled correctly. The current binaries on the SQLite site aren't the ones built for WinRT, but you can build it yourself and use it." And that same month, the SQLite site reported "SQLite version 3.7.13 adds support for WinRT and metro style applications for Microsoft Windows 8."
So that's probably your best workaround for right now. But stay tuned. As one stackoverflow.com reader said: "an embedded Microsoft SQL CE is not supported. There has been no announcement yet as to its support--but like Windows Phone, we can only assume this support is in the pipeline."
What do you think? Is this a big problem? Do you know of other workarounds? Should data developers just be patient and wait for a "Mango"-like update to Windows 8? Comment here or drop me a line.
Posted by David Ramel on 09/05/2012 at 1:15 PM10 comments
The recent announcement of Windows Azure Mobile Services included some interesting stuff for you data developers.
As explained by Scott Guthrie, when Windows Azure subscribers create a new mobile service, it automatically is associated with a Windows Azure SQL Database. That provides ready-made support for secure database access. It uses the OData protocol, JSON and RESTful endpoints. The Windows Azure management portal can be used for common tasks such as handling tables, access control and more.
Guthrie provided a C# code snippet to illustrate how developers can write LINQ queries--using strongly typed POCO objects--that get translated into REST queries over HTTP.
The key point about all this is that it enables data access to the cloud from mobile or Windows Store (or desktop) apps without having to create your own server-side code, a somewhat difficult task for many developers. Instead, developers can concentrate on the client and user UI experience. That greatly appeals to me.
In response to a reader query about what exactly is "mobile" about Mobile Services, Guthrie explained:
The reason we are introducing Windows Azure Mobile Services is because a lot of developers don't have the time/skillset/inclination to have to build a custom mobile backend themselves. Instead they'd like to be able to leverage an existing solution to get started and then customize/extend further only as needed when their business grows.
Looks to me like another step forward in the continuing process to ease app development so just about anybody can do it. I'm all for it!
When asked by another reader why this new service only targets SQL Azure (the old name), instead of also supporting BLOBs or table storage, Guthrie replied that it was in response to developers who wanted "richer querying capabilities and indexing over large amounts of data--which SQL is very good at." However, he noted that support for unstructured storage will be added later for those developers who don't require such rich query capabilities.
This initial Preview Release only supports Windows 8 apps to begin with, but support is expected to be added for iOS, Android and Windows Phone apps, according to this announcement. Guthrie explains more about the new product in a Channel9 video, and more information, including tutorials and other resources, can be found at the Windows Azure Mobile Services Dev Center.
What do you think of this new Microsoft offering for mobile data developers? Comment here or drop me a line.
Posted by David Ramel on 08/29/2012 at 1:15 PM1 comments
When Microsoft blogger Eric Ligman recently posted a collection of free eBooks, he found the topic so popular that he followed up with even more.
"The response and feedback I am receiving about it is incredibly positive about how much you liked it," he wrote.
So I thought I'd check out what free offerings Microsoft has that would be interesting to data-related developers. Here are a few representative examples from his first post:
- Transact-SQL Data Manipulation Language (DML) Reference
- Data Analysis Expressions (DAX) Reference
- SQL Server 2012 Tutorials: Analysis Services - Multidimensional Modeling
There aren't as many data-related resources in his second post, but you'll surely find the SQL Server 2012 Developer Training Kit useful. There are also development titles available for data mining, Windows Azure, Dynamics CRM, SharePoint, Windows Phone, LightSwitch and more with data-related components.
They come in a variety of downloadable formats, with many available in your choice of PDF, EPUB and Mobipocket, and some in Word (DOCX) and Open XML Paper Specification (XPS).
Everybody loves free stuff, of course, and reader Anthony expressed the views of many when he commented "Thanks, Eric! … really good gesture. It helps many a MS technology developer." So please go ahead and share your favorite free information sources for data developers. Comment here or drop me a line.
Posted by David Ramel on 08/23/2012 at 1:15 PM4 comments
A lot of data developers were frustrated with missing features of the Entity Framework as it continued to evolve in the past few years, such as the oft-requested enum support, for example.
Well, that support is included in the upcoming EF 5 release, of course. But beyond that, Microsoft -- in yet another implementation of its turnabout embrace of the open source movement -- has put its flagship object-relational mapping source code up for grabs on CodePlex, the company announced recently.
On the open source software hosting site are the EF runtime and Power Tools, with more to come. And developers have been busy, with changes being made right up until Monday, with a code contribution "Making IQueryable implementation on ObjectQuery explicit again," and 26 forks.
CodePlex reported almost 106,000 page views and 2,475 software downloads, with 560 people following the project.
So if there's something you don't like about EF, you can now do more than submit a bug report a request a feature -- you can code that feature yourself!
As Scott Guthrie noted in his announcement of the open source move: "Community contributions will also be welcomed, so you can help shape and build Entity Framework into an even better product."
I'd be interested to see how much non-Microsoft code makes it into release software, though. This obviously isn't a weekend project for a hobbyist hacker. I can't imagine many people passing muster and meeting Microsoft's strict coding requirements. As the company states on its "Ways to Contribute" CodePlex page:
Note that all code submissions will be rigorously reviewed and tested by the Entity Framework Team, and only those that meet an extremely high bar for both quality and design/roadmap appropriateness will be merged into the source.
Anyone up to the challenge? I'd love to hear from contributors to the project and share the nuts and bolts of the process with readers (Microsoft lists 13 fairly involved steps to follow in order to contribute code). If you've contributed or tried to, or know someone else who has, please comment here or drop me a line.
Posted by David Ramel on 08/16/2012 at 1:15 PM0 comments
I was quite surprised to see a recent Slashdot post titled "SQL vs. NoSQL: Which is Better?" My first thought was: "Really? Hasn't this already been settled?" The politically correct answer to the question, of course, goes along the lines of: "Neither is better. They are separate tools. As with all tools, each addresses specific problems and should be used by programmers according to their needs ...." And so on.
I haven't combed through the 300-plus comments on the post yet, but I'm willing to bet a bunch of them pretty much say the same thing.
The post references an extensive Slashdot article by experienced programmer Jeff Cogswell, who writes: "Tech pros debate the merits of SQL vs. NoSQL. It's a fight worth examining on the programming level."
So this gets down to the nuts-and-bolts of the programming aspect, kind of a different take. He discusses using the two in Node.JS, in C# and much more. He likes MongoDB, but concludes basically with my politically correct (and I thought, by now, universally accepted) answer above, which I wrote before reading his article. He writes:
So I use both. For some projects, I use Oracle, MySQL, or SQL Server (yes, I've used all three on different projects) for clients who have large amounts of data that fit well into a tabular structure, and who will be doing queries that pull back thousands of records per query. (Think financial applications.) For software that's more oriented towards pulling individual objects (such as an online organizer tool, or an online content management system that I'm presently working on), I opt for something like MongoDB.
Now I look at the post comments and the very first one reads: "SQL and NoSQL are different, with different use cases."
So why are we still debating this issue? Please take a look at the post and Cogswell's article and share what you think. Does focusing on the coding add anything to the debate? Comment here or drop me a line.
Posted by David Ramel on 08/07/2012 at 1:15 PM5 comments
Call it the duel of the database migration tools. "The free Microsoft SQL Server Migration Assistant (SSMA) makes it easy to migrate data from Oracle, Microsoft Access, MySQL and Sybase to SQL Server," reads the Microsoft SSMA Web site. It's probably no coincidence that Oracle was listed first in that list of targeted databases for its tool, which was announced almost exactly two years ago.
Well, Oracle has answered back. "Oracle today announced a new migration tool that allows users to easily and quickly migrate data from Microsoft SQL Server to MySQL," reads a July 25 news release.
And, in these tough economic times, Oracle is targeting users' pocketbooks. "By using MySQL over Microsoft SQL Server 2012, users can reduce their database total cost of ownership by up to 90 percent," Oracle claimed of its new tool, which is integrated with its MySQL Workbench, a visual administration/development software package. It also recognizes the importance of wooing developers, stating that "With MySQL Workbench, SQL Server developers and DBAs can quickly and easily convert existing applications to run MySQL on Windows as well as Linux and other platforms." The MySQL Workbench is available for download here.
Ironically, Oracle offered a database migration tool targeting MySQL users a couple years before it acquired MySQL in its acquisition of Sun Microsystems in 2009. Back then, it wanted users to convert to its 11g database.
So the players keep upgrading their ammunition and trading salvoes in their continuing database war. I wonder what the next move will be.
What do you think? Should developers go with SQL Server or MySQL? Or even NoSQL? Please share your thoughts with everyone by commenting here or dropping me an e-mail.
Posted by David Ramel on 08/01/2012 at 1:15 PM5 comments
I recently wrote about an analyst firm's report on Agile software development that basically blasted the movement, calling it "a developer rebellion against unwanted tasks" and saying it's "designed to sell services."
Okay, this issue isn't strictly database development-related, but it brings up some interesting questions, so I'd like to get your opinions. Some 25 people had commented on the article as of Monday morning, and it was picked up by Slashdot, where it exploded with more than 477 comments.
As usual, the comments were all over the map. Many agreed with the analysts' premise; many vilified them. But I found a couple things especially intriguing. For one, many people still seem unclear as to what Agile actually is. The analyst firm, Voke Inc., based its definition on the Agile Manifesto and its 12 principles. But the analysts note that commonly used associated term such as Scrum and Extreme Programming aren't even included in the manifesto.
During the course of daily business we frequently encounter people who use the term Agile. We consistently ask for a definition of how the word is being used and defined. Frequently, the first response is a laugh followed by a lengthy response that concludes with a statement that there is no real definition for Agile.
That seemed to be borne out on Slashdot, where one reader defined it as:
Agile is a development methodoloy that radically changes the way software developers work. Instead of the typical role of "manager", "designer", "programmer" and "tester", these are split into "chief", "baker", "garbargeman", "clerk" and "monkey". You can probably imagine what each role is responsible for". Typically you work in subteams of three of these disciplines, unless ofcourse you have three "bakers", in which case a "chief" must be added to the subteam. These subteams are further divided in a "major" and "minor" roles, where the majors are responsible for all typing work and the minors documents progress. Every 2-3 hours these minors meet in a decentralized location and synchronize progress, so all subteams keep working at the same pace. At the end of the day all subteams commit their current state of development to a centralized repository and automated builds compile everything overnight. At the last day of the week, all these daily bugreports are filtered by the minors and relayed back to their majors for fixing. Iterate this for however long it takes to complete the project and you're done.
Yet another wrote:
Agile is a particular process for getting things done, which became trendy in software development in particular about a decade ago. It's main tenet is to do work on short cycles, delivering the result to the customer, and then allowing the customer to define the next priority. The hope is that this continuous delivery model avoid the primary pitfall of longer software development cycles, which is spending months/years developing something, only to discover that the requirements were poorly defined at the start (and that the product therefore doesn't meet the real needs), or that market trends have rendered the result pointless.
Not too helpful. How can we meaningfully discuss the effectiveness of Agile software development if there's so little consensus as to what it really is? There's lots of good debate as to its effectiveness, but are the debaters discussing different things? Does someone need to be in charge here? Or is Agile just a basic framework that companies are customizing for their own needs, so it means whatever each company wants it to mean? If so, aren't developers debating apples vs. oranges?
The analysts, who received more than 100 unique definitions of Agile in their survey of 200 people, eventually interpreted Agile as "doing less faster to get ongoing feedback." Does that definition work for everyone?
Also, the report seemed to take some digs at developers themselves (not just management, who are always easy targets). In a section titled "Agile as an Excuse," they wrote:
Survey participants report that developers use the guise of Agile to avoid planning and to avoid creating documentation required for future maintenance. One participant indicated that negative connotations of both Agile and Waterfall are affecting morale. Some aspects of the Agile movement appear to agitate developers into pushing back on essential tasks that are valued less on the whole by the Agile movement. Based on our survey, unprofessional behavior under the guise of Agile is not going unnoticed. We received some unprecedented scathing and shocking comments about the level of competence, professionalism, and attitudes of some members of the Agile movement.
In another section, they warned:
Be aware that the Agile movement might very well just be either a developer rebellion against unwanted tasks and schedules or just an opportunity to sell Agile services including certification and training.
So who's to blame here? Management for not strictly following Agile precepts, developers making an excuse to do their own thing, or consultants and the like trying to use the movement to sell their own brand of services under the guise of Agile?
I'd love for you data developers to share your own experience with Agile. Please comment here or drop me a line.
Posted by David Ramel on 07/17/2012 at 1:15 PM15 comments
I found an interesting site that ranks the best SQL Server bloggers. Maintained by Thomas LaRock, the SQL Rockstar site provides his personal rankings of SQL Server-related bloggers in a number of categories.
For example, the RESOURCEDB group, which LaRock describes as “the bloggers you should immediately start following and never stop,” includes the following:
- Glenn Berry (blog | @GlennAlanBerry)
- Jonathan Kehayias (blog | @SQLPoolboy)
- Brent Ozar (blog | @BrentO)
- Paul Randal (blog | @PaulRandal)
- Kimberly Tripp (blog | @KimberlyLTripp)
- Buck Woody (blog | @buckwoody)
I counted nearly 60 bloggers listed across all the groups. Wow. If Thomas has time to keep up with that many bloggers and still have a day job, well, more power to him. I certainly couldn't do that.
I also noticed that the site concerns SQL Server generally, with a lot of DBA stuff, career advice and so on. So, in view of those two points, I'd like a more concise ranking of bloggers more specific to the interest of Data Driver readers: database development (SQL Server mainly, but other technologies are fair game, also).
So who better to compile such a list than you readers? Such a list would benefit us all, and here's your chance to weigh in. Comment here or shoot me an e-mail with your votes for the best database development bloggers.
Posted by David Ramel on 07/17/2012 at 1:15 PM0 comments
Microsoft, for all of the perception that it's a monolithic, behind-the-times dinosaur, has been awfully responsive to the concerns of developers who provide feedback about its preview software releases.
I've said that before, but nothing illustrates it better than the recent decision to allow users to easily change uppercase top-level menu items in Visual Studio 2012.
But beyond that, I was frankly amazed at the sheer volume of complaints and tone of the vitriol spewed by those who complained about the design choice. I mean, is it really that big of a deal? I just don't get it. But I've always been a function-over-form guy. I don't care much how things look; I just care how they work. I care how tools enable me to work easier and faster. I care about the final product I'm trying to make. I don't give a rat's fanny if menu items are uppercase or not.
I guess that's why I never got the whole Apple thing. It still seems surreal to me that people will stand outside an Apple store overnight for the privilege of being among the first to spend hundreds (or even thousands) of extra dollars for the latest Mac-whatever or iGadget with their "elegance of design" and the way they just "feel right." (But, of course, you can't change the batteries yourself. I mean, really?) Maybe it's a left-brain, right-brain thing, but to me it seems a lot like brainwashing. I swear, Apple could revise the old Pet Rock fad, rename it iRock and make zillions off these fanbois. They'd crawl all over themselves to buy rocks at $500 a pop because of the way they felt so smooth in their hands and were packaged so nicely. But I digress.
Okay, I can somewhat see the color thing in Visual Studio (or rather, lack thereof). That was a bit distracting at first, but I got used to it. And Microsoft even caved on that in reaction to user feedback, putting some color back in.
Figure 1. The Visual Studio 2012 RC Menus, Before (top) and After. (Click image to view larger version.)
Even so, it seems a lot of time and effort were spent on things so trivial. Um, how about the way the tools work? How could they be improved? Should we perhaps discuss that?
Nah, I want to get to the bottom of this. I want to hear from real developers how the case of menu items affects the software you make. How will the difference in the images in Fig. 1 change anything you do? (I changed the menu items using a NuGet package. Other workarounds are available on the Web, such as a registry hack technique by Richard Banks.)
Please share your thoughts here or drop me a line.
Posted by David Ramel on 06/29/2012 at 1:15 PM48 comments
The TechEd North America 2012 conference was so chock full of presentations, workshops, labs and informational sessions that many developers who attended probably couldn't cram into their schedule everything in which they were interested.
And if you couldn't attend, you might be feeling some information envy, afraid that you're falling behind the curve in learning the latest and greatest.
But fear not. Microsoft offered a great service by recording the sessions and putting them up online 48 hours later.
In fact, even though I couldn't attend in person, I signed into the TechEd site with my Windows Live ID and identified sessions I wanted to check out to develop my own little "virtual" schedule. (You can also quickly sign up for a TechEd account only). I checked off the events in which I was interested and they were added to "myTechEd Portal," from which I could download slides and watch videos.
For example, I just had to visit my portal, click on "My Content" and I was presented with the list of my chosen events, complete with links to the videos and slides. Being the Data Driver, of course, I was mostly interested in database-related presentations, so I watched "The 12 Reasons to Love Microsoft SQL Server 2012," "Business Intelligence and Data Visualization: Microsoft SQL Server 2012" and others. Not all sessions are available online, though. For example, I couldn't watch "The New World of Data: SQL Server and Hybrid IT," but I could download the PowerPoint slides.
Even though the event was held last week, I can still add sessions to my schedule and have them available for reference in one place. And the best part is, you can, too. One way to do that is to go to the site, click on the top-level Content menu item and then the Catalog item. That brings up a list of everything, categorized by Track, Speaker, Product/Technology and more. You can still check the box next to "Database & Business Intelligence" and get a list of 92 sessions. Each and every session is listed, with icons to indicate availability of videos and slides.
You also can see the sessions for Microsoft SQL Azure and Microsoft SQL Server under the Product/Technology filter. The former, for example, lists seven sessions, and every one has an accompanying video.
Don't forget that you can also find many (maybe all?) of these sessions on the Channel9 site. I actually prefer that because you're offered the choice of viewing the videos online or downloading them in a variety of formats and quality levels (and even audio-only) for viewing on different devices, such as your desktop or (gasp!) even an iPad (yes, that's listed on the site under the "High Quality MP4" option).
I'd write more, but I just found "Migrating SQL Server database applications to Windows Azure Virtual Machine" on Channel9, by Guy Bowerman and Evgeny Krivosheev, length 1 hour, 2 minutes, 29 seconds.
Happy viewing (hopefully soon on a Surface, not an iPad!).
What was your favorite database development video from TechEd? Share your suggestions here or drop me a line.
Posted by David Ramel on 06/26/2012 at 1:15 PM0 comments
In the midst of my playing around with the new SQL Server Data Tools (SSDT), the Visual Studio 2012 Release Candidate came out. So I thought I'd upgrade to the RC. Silly me. One of these days, I'm going to learn to do a little advance research before blindly plunging into these kinds of projects.
I spent hours repairing, removing and re-installing various packages until I seemingly got it to work correctly (except for the SSDT Power Tools' Schema View functionality). Unfortunately, I didn't take notes because I didn't think it was going to be that much of a problem, but it turns out a lot of other people have experienced the exact same issues. A reader on the Visual Studio blog announcing the RC summed it up nicely: "Avoid this for now if you have SSDT installed, you are greeted with a lot of errors both in VS 2012 AND VS 2010 after upgrading."
I wouldn't say you should avoid the upgrade, though. They do work together. More information on the problems experienced and how some users got the two products to play nicely together can be found on this forum thread. Definitely read it before you install the RC with SSDT.
Also, note the following from the "Visual Studio 2012 RC Compatibility" page in the MSDN Library about compatibility with Visual Studio 2010 Database (.dbproj) projects:
If you convert the project to a SQL Server Data Tools Database project, you can open it in Visual Studio 2012 RC. However, Visual Studio 2012 RC doesn't support the following artifacts:
- unit tests
- data-generation plans
- data-comparison files
- custom rule extensions for static code analysis
- .sqlcmd files
- custom deployment extensions
- partial projects (.files)
If you install SQL Server Data Tools, you can open the project in Visual Studio 2010 with SP1 after the migration. For more information, see Microsoft SQL Server Data Tools.
It's a different story for Visual Studio 2008 database projects, though, as noted in the RC Read Me file:
1.3.5 Database Development
126.96.36.199 Upgrade of Visual Studio 2008 database projects to SSDT is not supported
When a Visual Studio 2008 database project is opened in Visual Studio 2012 RC, the user is prompted to upgrade. Completion of the upgrade steps appears to succeed, but the project still cannot be loaded because an upgrade to SQL Server Data Tools (SSDT) is not supported.
To resolve this issue:
There is no workaround.
I'm not slamming Microsoft here at all. These issues happen all the time with pre-release products. Considering the complexity of the software involved and the myriad possible configurations and setups of user systems, I'm frankly amazed that they work as well as they do. I could have saved myself a lot of time and effort by slowing down, getting organized, doing advanced research and taking notes while I proceed, preferably on a virtual machine in case something goes wrong. Lesson learned.
What do you think about the RC? Why are so many developers so upset about the use of ALL CAP menus? Comment here or drop me a line.
UPDATE: Janet Yeilding on Thursday posted a blog item explaining the issue: symptoms, cause and workaround. The workaround, taken directly from her post:
To fix your installation, find Microsoft SQL Server 2012 Data-Tier App Framework in Programs and Features and Repair it. You may have multiple versions of DacFx, so make sure to repair version 11.0.2100.60 (note that on x64 machines, there will be two entries for 11.0.21.00.60 and both should be repaired). After this step, SSDT should load successfully in all Visual Studio shells.
Posted by David Ramel on 06/05/2012 at 1:15 PM1 comments