Microsoft SQL Azure Overview

by inzeek on April 9, 2012

I have prepared this slide show for next Brunei User Group (BUG) meeting. This is the first presentation of Microsoft SQL Azure series. In this presentation, I focused on giving very basic introduction about Microsoft SQL Azure plus related services, but gradually moving to the advanced topics with upcoming sessions.

My 3rd book review: "Entity Framework (EF 4.1) Expert Cookbook"

by inzeek on March 30, 2012

“This book is for intermediate to advanced .NET developers who have used LINQ to SQL or Entity Framework in some form but want to have more control over the implementation”.

conver

And also this “Entity Framework (EF 4.1) Expert Cookbook” book gives an excellent step-by-step problem solving approach and explains each step in detail with expert view plus sample code.

Devlin and Tim introduce some popular and common problem and then design to solution approach that gives you a truly depth knowledge. Their writing style is very entertaining and it will let you to follow the whole chapter very easily.

What you will learn from this book:

  • Manage database queries
  • Leverage the full power of LINQ
  • Test the data access layer
  • Design an extensible data access layer
  • Map any object model to a relational database
  • Create clean integration tests
  • Test queries in memory
  • Compose even the most complex query scenarios
  • Create and seed test databases from code
  • Use stored procedures without losing the power of object oriented development

I recommend this book to anyone who wants to get an in-depth understanding of Microsoft .NET Entity Framework (EF).

You can purchase the book via Amazon.

Working with Team Foundation Server Azure and Visual Studio 11 Developer Preview

by inzeek on October 14, 2011

Team Foundation Server on Azure or TFS Service, the most exciting product previewed at the “Build Windows 2011” conference. In simple terms, running Microsoft Team Foundation Server hosted on Windows Azure platform.

In this article, I am not going to write any comprehensive overview about TFS Azure, but step by step guide on how to connect to TFS Azure using Visual Studio 11 developer preview.

In order to get start with TFS Azure, you need to register with http://www.tfspreview.com.

Step 01:

In TFS Azure home page, you can see your TFS Account URL. You will have to use this link as a name or ULR of your Team Foundation Server.

* Currently, you can have only one TFS Azure account under single Windows Live ID.

1

Step 02:

Now you need open the Microsoft Visual Studio 11 Developer Preview IDE.

2

Step 03:

Click on the “Connect to Team Foundation Server” link in Start Page. You can use this link to connect either local TFS Server or TFS Service hosted on Windows Azure.

* If you are using Visual Studio 2010 SP1 to to connect TFS on Azure, then you need to install hotfix KB2581206.

3

Step 04:

After clicking on Add button, now you need to enter or paste your TFS Account URL (see Step 01). Ex: .tfspreview.com">https://<myaccount>.tfspreview.com

*In this window, There is no requirement to specify the Team Collection name or Team Project name.

5

Step  05:

Once you click on the “OK” button, you will see the “Sign-In to Team Foundation Server” window. This is where you enter the TFS Azure login credential details.

* Currently TFS Azure only supports Windows Live ID authentication service. Later Microsoft will support many more authentication services (Ex: corporate Active Directory service) under identity federation.

6

Step 06:

8

Step 07:

If you have any previously configured Team Projects in Default Collection, in this window you can select it.

9

Step 08:

Now you can see your favorite “Team Explorer”

10

Step 09:

11

Step 10:

Under Team Explore Settings section, you can perform many more operations like setting up group membership, changing work item alters, editing TFS process templates, etc.

12

Summery:

Personally, I am really impressed about TFS Azure 11 developer preview. Specially about Microsoft approach of moving on-premises developer tools into the cloud (Azure). In this preview, you will see limited features, but Microsoft is working very hard on next release.  This is the right time to share your opinions and comments about this preview:

How to work properly with Microsoft Team Foundation Server 2010 – Offline mode?

by inzeek on May 10, 2011

AS Microsoft Team Foundation Server 2010 does support offline mode, lot of developers are willing go offline mode and continue their work (Ex: Working from home, etc.) Simply offline mode means TFS 2010 goes offline (disconnect the connectivity properly between your local machine and TFS 2010 server) while your solution is already open though VS 2010 IDE.

Recently, few developers complained about TFS 2010 server does not determine the changes they have done in offline mode. Yes, I agree with that point, but the issue is if you checkout files while you are in offline mode, then TFS 2010 source controls system doesn’t record or track any changes you made. To overcome this issue, you can follow below mentioned steps:

  • First, Check Out all the necessary files you want to edit.
  • Unbind your project properly – Offline (File – Source Control – Change Source Control – Select Solution – Unbind).
  • Edit your source files in offline mode.
  • Bind your project – Online (File – Source Control – Change Source Control – Select Solution – Bind)
  • Check In all the pending changes files (Right click on the Solution node in TFS Source Control Explorer – Check In).

Windows Azure AppFabric April release now available [New version of the Access Control service]

by inzeek on April 9, 2011

Windows Azure AppFabric team just released the Windows Azure AppFabric April release that includes a new version of the Access Control service. Now you can use the CTP features in production services. Note that new version of AppFabric ACS will run parallel with previous ACS [Existing customers will not be automatically migrated to the new version, and the previous version remains fully supported].

For more information visit the Windows Azure AppFabric team blog. And also you can you can get started with FREE trial offer.

WHO LEADS TOMORROW – Windows Azure Camps

by inzeek on April 8, 2011

Who Leads Tomorrow?If you are in India or in the region, this will be a good chance for you to learn Windows Azure including series of workshops, events and webinars on Cloud application development on the Windows Azure Platform.

More Information and Register NOW : http://www.microsoft.com/india/azurecontest/rules.aspx

Microsoft MVP – Windows Azure

by inzeek on April 2, 2011

I just received a letter notifying me that I was awarded the Microsoft MVP (Windows Azure: Architecture) award for 2011. I’m much honored to receive the award again and this would be my third consecutive year as an MVP. Thanks to everyone who has helped and supported me in the last 12 months to get this award again….. MVPness – MVPship…. Thank you Microsoft.

SQL Azure DataSync

by inzeek on January 30, 2011

Microsoft SQL Azure Data Sync helps you to sync (bi-directional) data between SQL Azure and SQL Server. It enables the great power of sharing data with on-premises SQL Server databases and SQL Azure.

Features:

  • Link existing on-premises data stores to SQL Azure.
  • Schedule Sync: (you can set the time intervals)
  • Create new applications in Windows Azure without abandoning existing on-premises applications.
  • Extend on-premises data to remote offices, retail stores and mobile workers via the cloud.
  • Take Windows Azure and SQL Azure based web application offline to provide an “Outlook like” cached-mode experience.

Read More: SQL Azure Data Sync Wiki

(Article) What is Cloud computing?

by inzeek on January 24, 2011

Cloud computing is becoming a buzzword. You have heard the definition of cloud computing few times. But there are so many definitions and most of them are vendor specific. Simply cloud computing is a set of pooled computing resources and services available over the web at any given time. It mentions, computing system which are assigned through a combination of virtualized computing instances, service and software over a network. This collective of computer resources is known as “Cloud”.

Cloud computing is a computing model that provide you hardware (server and storage), software resources over the Internet. It eliminates of having to purchase, install, maintain and manage these resources locally. Instead of that, you access and use them through a Web browser or client tool based on pay as you go model.

Cloud computing is often provided infrastructures and software “as a service” over the Internet, typically in the form of infrastructure as a service (IaaS), platform as a service (PaaS), or software as a service (SaaS).

• Infrastructure as a Service (IaaS): In this model, the customers can use the hardware infrastructure; compute power, storage, and networking infrastructure as a service over the Internet (e.g., Amazon EC2, GoGrid, Rackspace)
• Platform as a Service (PaaS): In this model, the customers can create and deploy applications that developed on programming languages and tools supported by the provider. (e.g., Windows Azure, Google App Engine)
• Software as a Service (SaaS): In this model, the customers can use the provider’s applications running on cloud infrastructure. The applications can be accessed from various client tools and web browser (e.g., Salesforce.com, Microsoft Dynamics CRM and Gmail).

Cloud computing characteristics

On-demand self-service: The cloud provider has the ability to provision or auto scale computing infrastructures, such as server, storage and network without requiring human interaction.

Broad network access: The cloud network can be accessed from anywhere in globe, by using any device (e.g., smart phone, laptop, mobile devices, PDA).

Resource pooling: The cloud network provides a large pool of easily usable and accessible virtualized hardware, application, hosting technologies and services. These resources can be dynamically assigned to adjust according to the variable load and resources are typically exploited by a pay-per-use model.

Rapid Elasticity: This allows for quick scalability or downsizing of resources (scale our and scale in) on demand.

Measured service: The cloud systems robotically manage and optimize resources usage and can be monitored, controlled, and notified both the provider and customer.

Cloud computing deployment models:

Cloud computing includes different deployment models:

Public cloud deployment model is the most common deployment model and the services and infrastructure are provided off-site over the Internet. These clouds offer the greatest level of efficiency and elasticity in shared resources. And also this model is more appropriate for public or large industries. Principally, cloud infrastructures and services are owned by the provider who is selling cloud services and provider manage number of data centers around the globe.

Private cloud deployment model is operated solely for large organization and managed by the organization. It may be present on-premise or off-premise. With this model, customers can minimize the security & privacy risk; manage greatest level of data security and control. But it does not provide the elasticity and agility of public cloud services and still require to purchase and maintain infrastructures and software.

Hybrid cloud deployment model is a combination of public and private models. This approach allows a business to take advantage of the scalability and performance of public cloud computing offers and storing mission-critical data in on premises private cloud without exposing to third-party.

Community cloud deployment model is shared by several organizations. This model supports a specific community that has shared mission or interest and much similar to private cloud deployment model, but sharing same resources to store customer specific data.

How it works?

Cloud computing works by storing and processing data ‘in the cloud’ but not on your computer. The data is then transferred from local computer to cloud data centers through an Internet connection. Your data is stored on massive servers held by the provider. However, as the data is stored in the cloud, it can then be accessed from anywhere, meaning customer will never be faced with forgetting or losing data.

In a cloud computing system you shift the local computing workload into the cloud. Local computers no longer have to store or process data. The networked and virtualized cloud computing instances store and process instead. Hardware and software runs on the elastic mode as users can add or remove it at any time. The only thing the user need to do is managing the cloud computing infrastructures and services through interface software, which can be as simple as a Web browser or vendor provided client tool.

Why should you care?

Lots of businesses simply don’t have enough time, expertise or necessary financial capability to buy, deploy and manage the computing infrastructure needed to run solutions on their own. But with Cloud computing, businesses can instantly get the advantages of the computing infrastructure and services without having to purchase, implement and manage it directly.

Key advantages:
• Cost of hardware would reduce: Easily transform existing server infrastructures into cloud environments that auto expanding and reducing server capacity on demand.
• Ease of data access: Data can be accessed at any time from multiple data centers around the globe.
• Little or no upfront costs: Cloud computing customers can avoid capital expenditure on hardware, software and services under the pay as you go model. Even customers can add additional computing infrastructures without having to pay for additional hardware.
• Eco-Friendly: Reducing the number of hardware by replacing them with cloud computing infrastructures to reduces energy costs for running hardware and cooling as well as reducing carbon dioxide emissions.
Small to medium-sized and nonprofits who have limited budget, space, and human resource can benefit financially and environmentally of using cloud computing. It saves energy, reduces the amount of hardware needed, and is often technically easier to install and maintain than in-house applications.

What to consider?

Cloud computing vendors have to put countless effort to manage all of the computing infrastructures, technologies as well as people to provide uninterrupted services. Customers trust cloud computing providers a lot as they have already stopped investing heavily in hardware, software, virtualization technologies, networking infrastructures.

There are hundreds of cloud computing providers and solutions out there. But they are not all are created equal in terms of technical architecture and business model. Customer should be smart enough to make the right choice according to the right technical and business model. Just imagine about how critical a particular service is to your business? What would happen if you couldn’t access application and data for a period of time? There are so many factors to consider before moving beyond a trial service of your cloud computer provider including reliability, security, performance, privacy, support and how well a vendor can meet them.

Basically Cloud computing vendors should provide in details explanation about their internal methodologies to protect customer data and ensure governing compliance as well as they should explain their policies such as customer decision to terminate the service or if they go out of business. If customer pays for a service, customer should also get a service level agreement (SLA) from the cloud vendor. Service Level Agreement (SLA) agreement usually contains also penalties when the requirements are not met.

Windows Azure overview

There are so many cloud computing vendors in the market. Microsoft Windows Azure is one of the leading and comprehensive Platform as a Service (PaaS) providers.

Microsoft’s Windows Azure Platform is a Microsoft cloud services operating system that provides a wide range of development, service hosting, and service management environments. Windows Azure provides on-demand compute & storage to host, scale, and manages web applications and services on the internet in Microsoft data centers.

Windows Azure runs on a large number of virtualized machines instances all accessible via the Internet. These virtualized instances provide a Windows-based environment for running applications and storing data in Microsoft global data centers.

There are three main components of Windows Azure:
1. The compute service
2. The storage service
3. The Fabric

The Windows Azure Compute service is a cloud based service that provides elastic compute volume in the cloud. It is designed to make web-scale computing based on Microsoft Windows virtualized instances as well as pure computing work. Ex: worker role is like an Ant, can help user to do background process work.

The Windows Azure storage service capable to store binary large objects (blobs), queues for integrating Windows Azure applications as well as on-premises or hosted applications and tables to store data and retrieve data via simple query language.

References:
1. Windows Azure white papers (David Chapel)
2. http://msdn.microsoft.com/en-us/library/dd163896.aspx
3. http://www.microsoft.com/windowsazure/windowsazure/
4. http://www.microsoft.com/windowsazure/sqlazure/

SDL (security development lifecycle)

by inzeek on January 23, 2011

Microsoft SDL (security development lifecycle) tools and services: Now you can download the beta release of an Attack Surface Analyzer. Simply we can use Attack Surface Analyzer to verify our production environment safety by analyzing newly developed or installed application’s effeteness.

Actually as developers we know the pain of implementing and integrating custom security solutions into our applications. The worst thing is there wasn’t any fully concluded or proper guidance. Please note that SDL (security development lifecycle) is not specific for Microsoft technologies or tools. You can implement this with various application development methodologies, on different platforms.

Planning to write more about SDL for Agile Development :)



Page 1 of 11