PDC10 – Keynote

A New Era of Opportunity

Steve Ballmer – CEO @ Microsoft

Device: Windows 7, Windows Phone 7, XBOX 360

Internet Explorer and HTML5 is the glue to bring all of them together

Cloud: Windows Azure, SQL Azure, XBOX Live, Bing, Office 365, Windows Live

Internet Explorer 9 and HTML5

  • Features
    • Rich Graphics
    • Next Level of Interactivity
    • Same Markup
  • Fast, Clean, Trusted and Interoperable
  • The most downloaded Beta ever

Dean Hachamovitch – IE 9

  • Samples:
    • KFXP
    • Track Splash
  • Pin Sites to the Taskbar
  • Interact with Windows 7 Jump Lists, Sneak Peek, Previews and so on using JavaScript
  • IE9 Platform Preview 6 Available Today – http://ietestdrive.com

 

Windows Phone 7

  • Different kind of phone, UX paradigm
  • New developer perspective
  • User as the Central point of the UX

   Amazon Kindle App for Windows Phone 7

Scott Guthrie – VP @ Microsoft – Developing Windows Phone 7 App

  • New Capabilities in the Future of Windows Phone 7 Tools
    • Performance Analysis Tool
      • Available information out-of-the-box:
        • Frame rate
        • CPU Usage
        • Storyboard

Windows Azure with Bob Muglia – President @ Microsoft

  • Cloud Computing this really gives us IT as a Service
    • IaaS
    • PaaS
    • SaaS
  • Comparing Platforms Today and PaaS
Focus/Model Platform Today Platform as a Service (PaaS)
Management Server, VM, Network, Storage, App App
Maintenance Patch, Service Release, New Version Maintained for you
Deployment Assembly Required Read-Made Services
Deployment Custom, Inconsistent Standardization
Performance Plan for Peak Load On-Demand Scale
Failure Built to avoid and recover from failure Built to
  • Windows Azure
    • Foundation: Compute, Storage, Networking, Identity & Security
    • Services: Web, HPC, Caching, Messsaging, Workflow, Content Delivery
    • Information: Relational Databases, Reporting & Analysis, Data Sync
    • Tools: Visual Studio, System Center
  • Windows Azure Platform
    • Windows Azure
    • SQL Azure
      • SQL Server: Designed to run on one server or in a cluster of Servers
      • SQL Azure: Designed to run on thousands of servers across Data Centers with backups and so recoverability and so on
    • .NET
    • Visual Studio
    • System Center
  • You Decide: Language, Development Framework, Development Tool, Management Tool, Data Center (Windows Azure Appliance)
  • Vision: It’s All about the App
    • Move
      • Announcing:
        • Windows Azure Virtual Machine Role
        • Server Application Virtualization
        • Image Creation in the Cloud coming up next Year
    • Enhance
      • Announcing:
        • Extra small Instance
        • Remote Desktop
        • Full IIS
        • Startup Tasks
        • Virtual Network
        • Elevated Privileges
        • Windows Server 2008 R2 Roles
        • Multiple Administrators
        • Windows Connect
          • Access to on-premise resources for cross-premise apps
          • Support for Domain-joining VMs
          • Direct role-instance connectivity for easier development
          • Use your existing remote administrator tools
        • Windows Azure AppFabric
          • Access Control (Support for OAuth, LiveId, GoogleId, Facebook,  …)
          • Caching
            • Windows Server AppFabric Caching in the Cloud
            • Same API as the On-premise version
          • Service Bus ( now supports Biztalk connections )
        • SQL Azure
        • New Windows Azure Platform Management Portal
        • Multiple users & roles for management
    • Transform
      • Windows Azure AppFabric
        • Announcing:
          • Composite App Service & Workflow
            • You can use this to composite apps using services not only from Azure
          • Composition Model
          • Tools
              • Visual Tools for Visual Studio 2010 for modeling your
  • Windows Azure Connect plugin is very cool
  • Visual Studio Team Foundation Server on Windows Azure
  • Announcing Windows Azure Marketplace TODAY
    • Data Market (Previously known as Project “Dallas”

Check SQL Azure Database Associated Cost

  Ok so I found out exactly the size of every table in my SQL Azure Database, but now I’d like to know a little bit more, since I’m paying and I want to know how the payment is related to each of my tables. So in order to do this and after reading this blog post from the SQL Azure Team, this is the statement I’ve come up with:

DECLARE @SizeInBytes bigint
SELECT @SizeInBytes =
(SUM(reserved_page_count) * 8192)
    FROM sys.dm_db_partition_stats

DECLARE @Edition sql_variant
SELECT  @Edition =DATABASEPROPERTYEX ( DB_Name() , ‘Edition’ )

Select @Edition, @SizeInBytes

   So now I have the Size used in Bytes and the Edition of the SQL Azure Database that I’m using, and so I can now calculate how much is the cost per byte.

DECLARE @CostPerByte float
SELECT   @CostPerByte = (CASE
    WHEN @SizeInBytes/1073741824.0 < 1 THEN (CASE @Edition WHEN ‘Web’ THEN 9.99 ELSE 99.99 END)
    WHEN @SizeInBytes/1073741824.0 < 5 THEN (CASE @Edition WHEN ‘Web’ THEN 49.95 ELSE 99.99 END)
    WHEN @SizeInBytes/1073741824.0 < 10 THEN 99.99 
    WHEN @SizeInBytes/1073741824.0 < 20 THEN 199.98
    WHEN @SizeInBytes/1073741824.0 < 30 THEN 299.97            
    WHEN @SizeInBytes/1073741824.0 < 40 THEN 399.96             
    WHEN @SizeInBytes/1073741824.0 < 50 THEN 499.95            
         END)  / @SizeInBytes

   Ok. Now I know exactly what is the cost per byte, and so what I need to know is exactly how much cost is associated with each Table.

select sys.objects.name, @CostPerByte * (sum(reserved_page_count) * 8192)
from sys.dm_db_partition_stats,
     sys.objects
where sys.dm_db_partition_stats.object_id = sys.objects.object_id
group by sys.objects.name

   So with this I know exactly how my cost is being split by each table. So now I only want to see if everything in the end comes up to the correct result.

Select ROUND(SUM(Cost.TotalCost), 2)
from (    select sys.objects.name TableName, @CostPerByte * sum(reserved_page_count) * 8192 TotalCost
        from sys.dm_db_partition_stats,
             sys.objects
        where sys.dm_db_partition_stats.object_id = sys.objects.object_id
        group by sys.objects.name) Cost

   Ok. So the result is correct. Sweet.

Check SQL Azure Database Size

  I was looking at my SQL Azure Database and suddenly I saw that I had to clean some space because it was already beyond the maximum quota that I had defined for the Database, but I needed to know exactly where the most space was being used in order to better understand not only what was the size, but why and where was the space being used.

  So my first action was, Ok so I’ll use the storeprocedure sp_spaceused.

Exec sp_spaceused

  So with this I know exactly the space that my database is using, and if I use this:

Exec sp_spaceused <TableName>

   I’ll get the space that is being used by the Table that I specify.

   Ok. So I tried this on my local SQL Server and all was good, and so off to SQL Azure, and I get the following error:

Could not find stored procedure ‘sp_spaceused’.

   So. Not good. How will I get the needed results? So I used the following statement:

select sum(reserved_page_count) * 8.0 / 1024
from sys.dm_db_partition_stats

  And this statement gives me the exact size that I have in my SQLAzure Database, but I need to know exactly how much space I have in each table, so I use the following statement:

select sys.objects.name, sum(reserved_page_count) * 8.0 / 1024
from sys.dm_db_partition_stats,
     sys.objects
where sys.dm_db_partition_stats.object_id = sys.objects.object_id
group by sys.objects.name

   This last statement gives me a list of all tables that exist in the specified SQL Azure Database and the exact size that they have.

   I used this based on Ryan Dunn’s blog post available here.

   Hope this helps you.

WIF and Silverlight 4: Claims-Aware and Identity Federation (Passive and Active) session in Microsoft WebDay Portugal

Just last Tuesday at Porto and Thursday at Lisbon I did a session in Microsoft WebDay Portugal event about WIF and Silverlight 4.0.

   Here are the resources I used:

  • Slides

After this I’ll do a series of posts about this subject explaining all that was shown in the session and more.

Extensibility with Silverlight 4.0 & MEF Session in Microsoft WebDay Portugal

  Just last Tuesday at Porto and Thursday at Lisbon I did a session in Microsoft WebDay Portugal event about Extensibility with Silverlight 4.0 and MEF.

   Here are the resources I used:

  • Slides

      After this I’ll do a series of posts about this subject explaining all that was shown in the session and more.