Custom Software Blog Custom Software Consulting

Cloud Computing - What's your strategy?

by Nate Richards 1/18/2010 10:33:00 AM

What is Cloud Computing?

First off, it’s important to understand that cloud computing is fundamentally about resources:

·         Structured and Unstructured Storage (kind of a hybrid of what you may think of as “RAM” or “disk”)

·         Compute power (similar to processor or CPU power)

Paradigm shift

Over the last 10-15 years, there has been a large paradigm shift in the models that we use for accessing these two fundamental resources.  This has been driven largely by the growth of available bandwidth.

Model Resources Locality Power per Device Connectivity Model Compute Model Bandwidth Requirement
Mainframe

Local

Large

None

Centralized

None

PC

Local

Small

None

Centralized

None

Networked PC

Shared Local

Small

PC-PC

Distributed

Small

Client-Server

Mostly centralized, On Network

Specialized

PC-Server (=Network)

Hybrid

Small

Internet

Distributed, Off Network

Specialized

Network-Network

Distributed

Medium

Peer to Peer

Distributed at the fragment level

Aggregated Small

PC-VirtualNetwork-PC

Distributed

Medium

Cloud

Fundamentally transparent as to location

Little to N/A

Network-Cloud

Centralized

Large

 

Cloud Services

I will follow this up with posts about each service, but I wanted to list a few here:

·         Microsoft Windows Azure - http://www.microsoft.com/windowsazure/

·         Salesforce’s Force.com – http://www.force.com

·         Amazon.com AWS:

o    Elastic Compute Cloud  (EC2) – http://aws.amazon.com/ec2/

o    Simple Storage Service (S3) – http://aws.amazon.com/s3/

·         Google App Engine -  http://appengine.google.com

Value of "The Cloud" to Businesses

·         Risk mitigation:

o    Downtime: Mythical “100% Uptime”

o    Data loss: Data replication

o    Server failure: Redundancy

o    Natural disaster:  Geographical distribution

·         Scalability

o    “on demand resources”

o    Available in small increments

Entrance Software - Cloud Consulting Services

·         Cloud Readiness assessment- Contact us!

·         Cloud Strategy – Contact us!

·         “Port my app” to cloud – rewrite apps to leverage cloud resources

o    This may be moving your database into the cloud

o    Or very “processor intense” loads to the cloud

o    Or the whole application!

o    Contact us!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

Software Consulting | Cloud Computing

C# Generics Summary: Methods, Types and Specifying Generic Type Parameter Constraints

by Aristo Setiawan 12/2/2009 3:55:00 AM

This article was written based on a presentation given by Timothy Bussmann.

Generics in C# are classes, structures, interfaces, and methods that have type parameters for one or more of the types that they use. For example, instead of using a collection class that allows any type, we can use a generic collection class and define the specific type(s) for the collection. The primary use case of generics is indeed to create type-safe generic collections and enumerators. Generics can also be used in lambda expressions, delegates and utility code.

There are a number of benefits of using generics. First, it promotes code reusability by writing code that is independent of the type(s) used for generic type parameter(s). Performance over object collections is improved because no runtime casts or boxing conversions need to be performed. Lastly, generics promote type safe programming and allow type inference to determine type parameters without requiring explicit specification.

Lambda Expressions and Func<>

A Lambda Expression is an anonymous function that contains an expression or statements is essentially a shorter way of writing a delegate. The Func<T, TResult> delegates use type parameters to define how many and, if necessary, the type(s) of input parameters and the return type of the delegate. Following are a few examples below on how lambda expressions are used in .NET:

  1. The following code:
    Clicked += delegate(object sender, EventArgs args) { DoSomething(); }
    Can be replaced with:
    Clicked += (sender, args) => { DoSomething(); }
  2. It is used frequently in LINQ:
    ordersTable.Where(order => order.IsPending);
    ordersTable.Select(order =>
        new { order.OrderID, order.Name, order.IsPending } );

Note that even though arguments are not specified, they remain type-safe. The types are simply inferred based on program information available to the compiler.

Constraints

When defining a generic class, you can apply restrictions to what types can be used as the arguments. These restrictions are called Constraints and applied by using where keyword. It is used to guarantee that a call to this method conforms to these constraints, and thus access the functionality defined by the constraints. These are the different types of constraints:

More...

Currently rated 3.5 by 2 people

  • Currently 3.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Software Development

Entrance Software attends Houston TechFest 2009

by Jim O'Brien 10/2/2009 2:20:11 AM

On September 26th, Entrance Software attended the Houston TechFest 2009 event. Despite taking place on a Saturday, some 850+ tech-hungry participants met at the University of Houston campus to learn more about diverse topics such as understanding the SharePoint object model, Windows 7 for developers and Windows Workflow Foundation 3.5.

The keynote presentation by Sam Gazitt, a product manager in Microsoft's Developer Tools Group, was a special treat as it is rare to see such a figure from Redmond in Houston. He previewed some of the significant new features coming in Visual Studio 2010 and Team System including the historical debugger, gated check-in and branch visualization.

The presentation on Windows Workflow Foundation 3.5, presented by Ryan Andrus, was particularly insightful. Ryan gave an overview of how WWF 3.5 works, including the significant amount of instrumentation required to use it as well as the notable lack of any built-in support for versioning of workflows. Ryan also pointed out the perception among businesspeople that WWF allows them to design workflows themselves via a graphical user interface and how this is a misperception because implementing WWF is still "writing code." Additionally, Ryan mentioned that State Machine workflows will not be supported in the 4.0 version of Windows Workflow Foundation.

During the breakout sessions over lunch, members of the local Houston SharePoint users' group met to discuss the SharePoint-focused sessions that morning. Eric O'Connor's presentation on preparing organizations for SharePoint received very high marks.

Houston TechFest 2009 was a resounding success and has set a high bar for 2010's event to beat.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

About Microsoft Silverlight

by Carlos Salaverria 7/14/2009 7:06:00 AM

This article was written based on a presentation given by Brad Harris.

Silverlight is a Rich Internet Application framework developed by Microsoft. Like other RIA frameworks such as Adobe Flash, it enables developers to create applications that have a consistent appearance and functionality across different web browsers and operating systems. Silverlight provides users with a rich experience, with built-in support for vector graphics, animation, and audio and video playback.

Although Silverlight is still a relatively new technology, it has already been used for live streaming of high-profile events such as the 2008 Beijing Olympics and the 2009 Presidential Inauguration. It is also being used by major sports organizations to broadcast live content.

To run Silverlight applications, users must install a browser plug-in, which provides a runtime environment that implements a subset of the .NET Framework. Currently, Silverlight is available on Internet Explorer, Firefox, and Google Chrome for Microsoft Windows and on Safari and Firefox for Mac OS X.

To start building Silverlight applications, developers need to install Silverlight Tools for Visual Studio 2008 SP1. This add-on is available for download from the official Microsoft Silverlight website: http://silverlight.net. It is compatible with both Visual Studio 2008 and Visual Web Developer 2008 Express.

The development experience is similar to ASP.NET – applications are implemented using markup and code-behind. One significant difference is the markup language. Instead of HTML, Silverlight uses a UI definition language known as XAML (eXtensible Application Markup Language). Although there are graphical tools such as Expression Blend that make it easier for designers to produce XAML code, many developers prefer to write XAML by hand. Regardless of the design tool used, learning XAML is essential for developing Silverlight applications.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Software Development

How To Manage Database Development More Efficiently

by Brad Harris 6/8/2009 5:18:00 AM

This article was written based on a presentation given by Eric Carlson.

VS Team System 2008 Database Edition GDR is a component of the Visual Studio Team System suite of tools. It was formerly known as “DB Pro”. As the General Distribution Release, it is a post-service pack 1 release. It incorporates several of the features slated for Visual Studio 2010 “Rosario”. It also has SQL Server 2008 support.

Some of the key features of this Team System release are listed below:

  1. T-SQL Editor
    The T-SQL Editor support ad hoc queries within Visual Studio without having to rely on SQL Management Studio (finally!). Also like Management Studio, Team System 2008 Database Edition supports client statistics, results as text and results as file. Unfortunately there is no Intellisense for SQL Server 2008 built in.
  2. Database Projects
    This tool supports off-line schema development in a file format denoted by *.dbschema files. Being able to develop against non-live files is a huge advantage for shared database development. Version control is also supported to capture schema changes as they are developed. Within the Database Projects, compile-time schema validation and static code analysis are presented as warnings. Refactoring and deployment is also made easier by the Database Project tools.
  3. Server Projects
    Server Projects model both shared and server-level objects. This enables a team to define a standard configuration for their SQL servers and reference it within their Database Projects.


  4. More...

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Software Development

Powered by BlogEngine.NET 1.4.5.0