Showing posts with label Architecture. Show all posts
Showing posts with label Architecture. Show all posts

Sunday, April 22, 2018

Azure Sphere OS: the new Microsoft Linux Based OS. The world is changing. What about you?!

A couple of days ago in Microsoft Build 2018, Microsoft has announced the first Microsoft Linux based OS!

The new Linux based kernel OS along with other two major components will present a highly-secured end-to-end solution for connected microcontroller-powered devices. Azure Sphere includes three components working as one, a brand-new class of crossover Microcontrollers running a secured Operating System and supported by cloud services. Along with advanced development tools, Azure Sphere is your opportunity to reimagine your business from the ground up.

Wednesday, March 07, 2018

Exam 70-535 (Architecting Microsoft Azure Solutions) - Azure Compute Infrastructure Sub-topics


These are the sub-topics that you have to cover in the Azure Compute Infrastructure

topic of Exam 70-535 (Architecting Microsoft Azure Solutions). This sub-topic should cover 10- 15% of the exam. For the complete list of the seven topics, please refer to the first post of this series :
      Design solutions using virtual machines
      Design VM deployments by leveraging availability sets, fault domains, and update domains in Azure; use web app for containers; design VM Scale Sets; design for compute-intensive tasks using Azure Batch; define a migration strategy from cloud services; recommend use of Azure Backup and Azure Site Recovery
      Design solutions for serverless computing
      Use Azure Functions to implement event-driven actions; design for serverless computing using Azure Container Instances; design application solutions by using Azure Logic Apps, Azure Functions, or both; determine when to use API management service
      Design microservices-based solutions  
      Determine when a container-based solution is appropriate; determine when container-orchestration is appropriate; determine when Azure Service Fabric (ASF) is appropriate; determine when Azure Functions is appropriate; determine when to use API management service; determine when Web API is appropriate; determine which platform is appropriate for container orchestration; consider migrating existing assets versus cloud native deployment; design lifecycle management strategies
      Design web applications
      Design Azure App Service Web Apps; design custom web API; secure Web API; design Web Apps for scalability and performance; design for high availability using Azure Web Apps in multiple regions; determine which App service plan to use; design Web Apps for business continuity; determine when to use Azure App Service Environment (ASE); design for API apps; determine when to use API management service; determine when to use Web Apps on Linux; determine when to use a CDN; determine when to use a cache, including Azure Redis cache
      Create compute-intensive application
      Design high-performance computing (HPC) and other compute-intensive applications using Azure Services; determine when to use Azure Batch; design stateless components to accommodate scale; design lifecycle strategy for Azure Batch



Wednesday, February 28, 2018

Microsoft Exam 70-535 (Architecting Microsoft Azure Solutions) in a nutshell!- Key Sub-topics of Dev-Ops


Design a management, monitoring, and business continuity strategy (20–25%)

  • Azure IaaS monitoring with OMS 
  • Create an alert rule on a metric with the Azure portal
  • Azure Automation Account
  • Replicate Hyper-V virtual machines (without VMM) to Azure using Azure Site Recovery with the Azure portal
  • Replicate physical machines to Azure by using Site Recovery
  • My first graphical runbook
  • My first PowerShell runbook
  • My first PowerShell Workflow runbook
  • Getting Started with Azure Automation DSC
    Desired State Configuration (DSC) 
  • How Azure Backup Works in 10 mins
  • Microsoft Azure Backup Server v2 Docs
  • AzureRM.RecoveryServices.Backup (PowerShell)

Wednesday, February 14, 2018

Microsoft Exam 70-535 (Architecting Microsoft Azure Solutions) in a nutshell!- Key sub-topics of Design Azure Web and Mobile Apps



These are the sub-topics that you have to cover in the Design Azure Web and Mobile Apps

topic of Exam 70-535 (Architecting Microsoft Azure Solutions). This sub-topic should cover 5-10% of the exam. For the complete list of the seven topics, please refer to the first post of this series:

Design of Web Applications

            Design Azure App Service Web Apps 
            Design custom web API 
            Offload long-running applications using WebJobs 
            Secure Web API using Azure AD, design Web Apps for scalability and                                 performance
             Deploy Azure Web Apps to multiple regions for high availability 
             Deploy Web Apps, create App Service plans 
             Design Web Apps for business continuity 
             Configure data replication patterns 
             Update Azure Web Apps with minimal downtime 
             Back up and restore data 
             Design for disaster recovery.
Design of Mobile Applications
Design Azure Mobile Services 
Consume Mobile Apps from cross-platform clients 
Integrate offline sync capabilities into an application
Extend Mobile Apps using custom code 
Implement Mobile Apps using Microsoft .NET or Node.js 
Secure Mobile Apps using Azure AD 
Implement push notification services in Mobile Apps 
Send push notifications to all subscribers 
Specific subscribers, or a segment of subscribers



Exam 70-535 sub-topics of Design advanced applications




These are the sub-topics that you have to cover in the Design Advanced Applications
topic of exam 70-535 (Architecting Microsoft Azure Solutions). This sub-topic should cover 20%-25% of the exam For the complete list of the seven topics, please refer to the first post of this series :      
Design for Artificial Intelligence Services 
      Determine when to use the appropriate Cognitive Services, Azure Bot Service, Azure Machine Learning, and other categories that fall under cognitive AI
       Design for IoT 
      Determine when to use Stream Analytics, IoT Hubs, Event Hubs, real-time analytics, Time Series Insights, IoT Edge, Notification Hubs, Event Grid, and other categories that fall under IoT
       Design messaging solution architectures  
      Design a messaging architecture; determine when to use Azure Storage Queues, Azure Service Bus, Azure Event Hubs, Event Grid, Azure Relay, Azure Functions, and Azure Logic Apps; design a push notification strategy for Mobile Apps; design for performance and scale
       Design for media service solutions 
      Define solutions using Azure Media Services, video indexer, video API, computer vision API, preview, and other media related services

Wednesday, February 07, 2018

Microsoft Exam 70-535 (Architecting Microsoft Azure Solutions) in a nutshell!- Key topics of Design an application storage and data access strategy

In a previous post about the exam  70-535 (Architecting Microsoft Azure Solutions), I talked about the seven pillar main topics that you have to cover before entering this exam. Today I will speak about the third topic. This topic should cover 5%-10%:
  • Design an application storage and data access strategy : 
This includes two dimensions; the data access strategy design and the Azure storage that fits it. The following are the main topics that you have to consider when studying this topic:
      • Design for Azure Storage solutionsDetermine when to use Azure Blob Storage, blob tiers, Azure Files, disks, and StorSimple
        Design for Azure Data Services
        Design for relational database storage
        Design for NoSQL storage
        Design for CosmosDB storage
      • Determine when to use MongoDB API, DocumentDB API, Graph API, Azure Tables API; design for cost, performance, data consistency, availability, and business continuity
      • Determine when to use Azure Redis Cache, Azure Table Storage, Azure  Data Lake, Azure Search, Time Series Insights
      • Determine when to use Azure SQL Database and SQL Server Stretch Database; design for scalability and features; determine when to use Azure Database for MySQL and Azure Database for PostgreSQL; design for HA/DR, geo-replication; design a backup and recovery strategy
      • Determine when to use Data Catalog, Azure Data Factory, SQL Data Warehouse, Azure Data Lake Analytics, Azure Analysis Services, and Azure HDInsight.



  • Important Tip:
  • Know the various storage types and their uses. For example, many times you can use Queues to decouple components of a system.
    Check this link to know when to use what: https://aka.ms/azure/storage


Thursday, January 25, 2018

Microsoft Exam 70-535 (Architecting Microsoft Azure Solutions) in a nutshell!- Key topics Secure Resources

These are the sub-topics that you have to cover in the Secure Resources topic of exam Exam 70-535 (Architecting Microsoft Azure Solutions). This sub-topic should cover 20%-25% of the exam.
For the complete list of the seven topics, please refer to the first post of this series :

That is entitled: Microsoft Exam 70-535 (Architecting Microsoft Azure Solutions) in a nutshell!
       Design an identity solution
       Design AD Connect synchronization; design federated identities using Active Directory Federation Services (AD FS); design solutions for Multi-Factor Authentication (MFA); design an architecture using Active Directory on-premises and Azure Active Directory (AAD); determine when to use Azure AD Domain Services; design security for Mobile Apps using AAD
       Secure resources by using identity providers
       Design solutions that use external or consumer identity providers such as Microsoft account, Facebook, Google, and Yahoo; determine when to use Azure AD B2C and Azure AD B2B; design mobile apps using AAD B2C or AAD B2B
       Design a data security solution
       Design data security solutions for Azure services; determine when to use Azure Storage encryption, Azure Disk Encryption, Azure SQL Database security capabilities, and Azure Key Vault; design for protecting secrets in ARM templates using Azure Key Vault; design for protecting application secrets using Azure Key Vault; design a solution for managing certificates using Azure Key Vault; design solutions that use Azure AD Managed Service Identity
       Design a mechanism of governance and policies for administering Azure resources
       Determine when to use Azure RBAC standard roles and custom roles; define an Azure RBAC strategy; determine when to use Azure resource policies; determine when to use Azure AD Privileged Identity Management; design solutions that use Azure AD Managed Service Identity; determine when to use HSM-backed keys
       Manage security risks by using an appropriate security solution

       Identify, assess, and mitigate security risks by using Azure Security Center, Operations Management Suite Security and Audit solutions, and other services; determine when to use Azure AD Identity Protection; determine when to use Advanced Threat Detection; determine an appropriate endpoint protection strategy 

Wednesday, January 17, 2018

Microsoft Exam 70-535 (Architecting Microsoft Azure Solutions) in a nutshell!- Key topics of Design-Azure-Resource-Manager-ARM-Networking


These are the sub-topics that you have to cover in the Design-Azure-Resource-Manager-ARM-Networking topic of exam Exam 70-535 (Architecting Microsoft Azure Solutions). This sub-topic should cover 5-10% of the exam.
For the complete list of the seven topics, please refer to the first post of this series :

That is entitled: Microsoft Exam 70-535 (Architecting Microsoft Azure Solutions) in a nutshell!

Design Azure virtual networks
Design solutions that use Azure networking services: design for load balancing using Azure Load Balancer and Azure Traffic Manager; define DNS, DHCP, and IP strategies; determine when to use Azure Application Gateway; determine when to use multi-node application gateways, Traffic Manager and load balancers
Design external connectivity for Azure Virtual Networks
Determine when to use Azure VPN, ExpressRoute and Virtual Network Peering architecture and design; determine when to use User Defined Routes (UDRs); determine when to use VPN gateway site-to-site failover for ExpressRoute 
Design security strategies
Determine when to use network virtual appliances; design a perimeter network (DMZ); determine when to use a Web Application Firewall (WAF), Network Security Group (NSG), and virtual network service tunneling
Design connectivity for hybrid applications
Design connectivity to on-premises data from Azure applications using Azure Relay Service, Azure Data Management Gateway for Data Factory, Azure On-Premises Data Gateway, Hybrid Connections, or Azure Web App’s virtual private network (VPN) capability; identify constraints for connectivity with VPN; identify options for joining VMs to domains

Monday, November 27, 2017

Introducing Managed Service (MSI) Identity for Azure Resources

A common challenge when building cloud applications is how to manage the credentials that need to be in your code for authenticating to cloud services. Keeping these credentials secure is an important task. Ideally, they never appear on developer workstations or get checked into source control. Azure Key Vault provides a way to securely store credentials and other keys and secrets, but your code needs to authenticate to Key Vault to retrieve them. Managed Service Identity (MSI) makes solving this problem simpler by giving Azure services an automatically managed identity in Azure Active Directory (Azure AD). You can use this identity to authenticate to any service that supports Azure AD authentication, including Key Vault, without having any credentials in your code.


A Managed Service Identity (MSI) is a cross-Azure feature that enables you to create a secure identity associated with the deployment under which your application code runs. You can then associate that identity with access-control roles that grant custom permissions for accessing specific Azure resources that your application needs.
With MSI, the Azure platform manages this runtime identity. You do not need to store and protect access keys in your application code or configuration, either for the identity itself, or for the resources you need to access. A Service Bus client app running inside an Azure App Service application or in a virtual machine with enabled MSI support does not need to handle SAS rules and keys, or any other access tokens. The client app only needs the endpoint address of the Service Bus Messaging namespace. When the app connects, Service Bus binds the MSI context to the client in an operation that is shown in an example later in this article.
Once it is associated with a managed service identity, a Service Bus client can perform all authorized operations. Authorization is granted by associating an MSI with Service Bus roles.
How Does it Work?
Virtual Machine MSI example
For More information please refer for the following MSI documentation that is the main source of this post :

https://docs.microsoft.com/en-us/azure/active-directory/managed-service-identity/overview

Saturday, December 01, 2012

Microsoft Case study to Document the Egyptian Election System. Proud to be part of that work

image

CompuPharaohs and I had the pride to be part of this case study. This case study shows how world looks to us, but we always down estimate our achievements. I consider this case study; a Hope in the Dark road that shows that Audacity of hope is real not an illusion.

The Arab Spring swept across Northern Africa and the Middle East in 2011, bringing about dramatic changes in governments. In Egypt the government leaders stepped down and were replaced with a temporary military tribunal that restored order and then worked to hold an open election.

The election committee was under national and international pressure to facilitate a system that would support transparent and fair elections.

With only three developers, a limited budget, and about one month to develop the application to scale to 50 million eligible electors, the team tried to utilize some important ALM practices that was of a great Help. The team knew that the choice of the practices, and tools would be critical to the success of the project.

The Great Brian Harry; wrote a one full page blog about this case study.

This is a two pages case study.

Enjoy!

Thursday, November 01, 2012

Top 7 VS 2012 ALM additions

During a technical conversation with one of my colleagues, I have been asked asked about the Top 7 addition to VS 2012 ALM tools from my point of view. I answered as follows:

If we mean ALM tools collectively, not only TFS then, I will say that:

1-SharePoint Testing Support : It is something that came too late but, finally it came to rock.

2-DevOps  tools and techniques : It is a materialization of the Microsoft/Forrrester's Joint study that took place in 2006 (as far as I remember). 70% of Existing IT Budgets in the Fortune 500 Corporation  are spent on maintaining existing systems. Delivering a way to track the quality of systems during their production time became something crucial to have.

3-TFS Service RTM: is a Brilliant offering that will bring new users to the TFS umbrella. Simply it offloads lots of small groups from incurring great amount of Capex budget, and replace it with an affordable Opex budget. Despite the fact of that there is no single clear walk-through that could be provided by the product team to migrate from On Premises solution to the cloud based solution, I expect this service to boom in the next coming years. Moreover, It will open a new opportunity for offshore teams to share their project's artifacts with their primary contractors in a much easier way.

4-The Feedback tool, along with the introduction of Storyboarding tool: It simply bridges the gap between End users, and the product team. In an old study of IBM(late 70s); this gap my cost product team 300+% of the original product cost (Reference:Sarson’s Analysis, and Design Book 1978 edition). The business agility and communication revolution may make this percentage hike up. Storyboarding and Feedback tools could save product teams a hell amount of time, and money that could be lost during the UATs.

5-MTM Enhancements: Despite they are detailed features but i count them important:

  • Video Recording Enhancements: It solves lots of storage overflow problems due to video recording sizes.
  • Explanatory testing: It provides a better way to implement agile testing technique. Moreover it answer the question that I used to be asked, If we don't have preset Test Cases how can we test using MTM?!
  • Testing for Windows Store Applications: It was unexpected to evangelize everywhere for Windows 8 Development while not having an ALM way to make some sort of exploratory and manual testing. It gives a clear message from the ALM team that we are always aligned.

6- Unit testing Enhancements: the new Unit Testing using Fakes Framework: I know that it is a unit testing thing with professional edition but finally it is related to the ALM practices.

  • Unit Testing Fakes Framework: I think part of that is related to the Microsoft Research labs efforts during the PEX project which, as far as I know, still running. For years, teams used to use their own fakes framework, or community owned fakes framework. Depending on a Microsoft standard one can streamline unit testing in many good ways. A good scenario that I might recommend Fakes Framework in is the scenario of having a primary contractor that divided a project between him, and one of his partners. They can freely use the same standard framework to makes sure that their unit test can go smoothly based on same unit tests.
  • Enhancements happened to the performance of the unit tests.

7- Code Reviews: I consider this tool, a wonderful way for teaming up. Maybe it doesn't have great engineering effort from the product team (which is the same case of storyboarding, and feedback tool) but It is really very helpful towards Bridging Dev/Dev gaps. It materializes a better way for Peer reviewing.

Sunday, September 18, 2011

What is new in Visual Studio 11 ALM Features? Part1

Well, VS11 Comes with new great features that I was starving to see. Thank you for Brian Harry, and his team for the outstanding effort in this release. I expect that this version will rock up, and put itself at the Top of ALM solution products.

Code Review Workflow with Team Explorer

Visual Studio 11 Preview works hand in hand with Team Foundation Server 11 to provide best in class application lifecycle management. Visual Studio 11 facilities collaboration is by enabling developers to request and perform code reviews through using Team Explorer. This feature defines a workflow in Team Foundation Server that saves project state and routes review requests as work items to team members. These workflows are independent of any specific process or methodology, so you can incorporate code reviews at any convenient point in the project lifecycle.

The Request Review link in the My Work pane enables you to create a new code review task and assign it to one or more other developers.

The reviewer can accept or decline the review, and respond to any messages or queries associated with the code review, add annotations and more. Visual Studio 11 displays the code by using a “Diff” format, showing the original code and the changes made by the developer requesting the review. This feature enables the reviewer to quickly understand the scope of the changes and work more efficiently.

Thursday, September 15, 2011

Announcing Visual Studio 11 Developer Preview

Today in the BUILD keynote Jason Zenders had shown some of the new functionality in Microsoft® Visual Studio® 11 Developer Preview and Microsoft® Team Foundation Server Preview.  MSDN subscribers can download the previews today as well as the new release of .NET Framework 4.5 Developer Preview; general availability is on Friday, September 16.

The following is how Jason has concluded the announcement:

(Some exciting announcements are being made here at BUILD.  Visual Studio 11 provides an integrated development experience that spans the entire lifecycle of software creation from architecture to code creation, testing and beyond. This release adds support for Windows 8 and HTML 5, enabling you to target platforms across devices, services and the cloud.  Integration with Team Foundation Server enables the entire team to collaborate throughout the development cycle to create quality applications.

.NET 4.5 has focused on top developer requests across all our key technologies, and includes new features for Asynchronous programming in C# and Visual Basic, support for state machines in Windows Workflow, and increased investments in HTML5 and CSS3 in ASP.NET.)

Sunday, February 13, 2011

Visual Studio ALM Rangers Team Releases:Visual Studio TFS Branching Guide 2010

Couple of weeks ago, the VS ALM Rangers team has released a the Visual Studio TFS Branching Guide for 2010.

This guidance is created by the Rangers who have the mission to provide out of band solutions for missing features or guidance. This content was created with support from Microsoft Product Group, Microsoft Most Valued Professionals (MVPs) and technical specialists from technology communities around the globe, giving you a real-world view from the field, where the technology has been tested and used.

Branching and merging of software is a very large topic. It is an area where there is a lot of maturity in the software industry. This Ranger solution focuses on applied and practical examples of branching that you can use right now. The 2010 release includes discussions around branching concepts and strategies but also focuses on practical hands-on labs.

Supported by 20K+ of downloads, I Advise everyone to download it, to read it, and to apply it.

Download it

Monday, November 01, 2010

Silverlight Strategy Shift Clarification by Bob Muglia

For People who attended the PDC in Redmond, or attended Local PDC as the one that has been held in Cairo, We all heard from BOB Muglia said that Silverlight strategy has been shifted. This doesn’t mean that Silverlight will die but, it will take a newer vision.

Couple of Minutes ago, Bob himslef has published a message for all PDC attendees clarifying this. The following words are an excerpt from Bob’s message.:

In the interview, I said several things that I want to emphasize:

  1. Silverlight is very important and strategic to Microsoft.
  2. We’re working hard on the next release of Silverlight, and it will continue to be cross-browser and cross-platform, and run on Windows and Mac.
  3. Silverlight is a core application development platform for Windows, and it’s the development platform for Windows Phone.

We haven’t yet publically announced a launch date for the next release of Silverlight, but we’ll talk more about it in the coming months.

Last week, we released some important updates to Silverlight 4, which shipped only six months ago and included major new features and tooling capabilities.  Last week’s updates included improvements to WCF RIA Services, as well as the new Portable Library project –making it easier to share assemblies across SL Desktop, SL Phone, WPF and .NET on the server.  John Papa delivered a PDC session on building business apps with Silverlight 4, and Shawn Burke delivered a PDC session on the portable library project.  I recommend that you take a look at both of these.

Silverlight Strategy

I said, “Our Silverlight strategy and focus going forward has shifted.”  This isn’t a negative statement, but rather, it’s a comment on how the industry has changed and how we’re adapting our Silverlight strategy to take advantage of that.

Below are some of the trends we’re tracking and optimizing around.

Customers are demanding the richest possible client experiences, and developers are increasingly looking to build premium, tailored experiences optimized for specific devices.  Silverlight provides the richest way to build Web-delivered client apps.  In particular, with Silverlight 4, we invested in enabling enterprise application development and now provide an outstanding platform to build rich business applications – both inside and outside the browser.

Customers want to be able to deliver client experiences that are optimized for specific form factors. Silverlight provides a rich UI framework that enables smooth animations and lends itself very well to touch input and embedded devices.  At the PDC last week, we spent a lot of time talking about Windows Phone 7 and how Silverlight provides a great developer platform for creating apps for it.  With the U.S. launch just days away, already we have more than 1,000 Silverlight apps built for Windows Phone, and consumers of the phone will be able to purchase these apps through an integrated marketplace built into each device.  Recently, we’ve also demonstrated Silverlight apps running on Windows Embedded, and Silverlight is a critical component of our three-screen strategy.

Media delivery across the Internet continues to accelerate dramatically.  Customers want HD, studio quality, premium media content.  Silverlight has and will continue to be a pioneering technology that makes it possible to deliver the best media experiences anywhere.  Whether it’s the Olympics, Netflix, or many other media experiences, we have and will continue to invest in it.  Silverlight and IIS Media Services are the choice for premium media experiences with features like HTTP adaptive streaming, DECE-approved content protection, and offline media applications.  In addition, IIS Smooth Streaming enables media delivery to a wide variety of devices, including devices where Silverlight isn’t supported.

Lastly, there has been massive growth in the breadth and diversity of devices made by a wide variety of vendors providing both open and closed systems.  When we started Silverlight, the number of unique/different Internet-connected devices in the world was relatively small, and our goal was to provide the most consistent, richest experience across those devices.  But the world has changed.  As a result, getting a single runtime implementation installed on every potential device is practically impossible.  We think HTML will provide the broadest, cross-platform reach across all these devices.  At Microsoft, we’re committed to building the world’s best implementation of HTML 5 for devices running Windows, and at the PDC, we showed the great progress we’re making on this with IE 9.

The purpose of Silverlight has never been to replace HTML, but rather to do the things that HTML (and other technologies) can’t, and to do so in a way that’s easy for developers to use.  Silverlight enables great client app and media experiences.  It’s now installed on two-thirds of the world’s computers, and more than 600,000 developers currently build software using it.  Make no mistake; we’ll continue to invest in Silverlight and enable developers to build great apps and experiences with it in the future.

 

End of Bob Clarification….

____________________________________

___________________________________

More and above Steve Ballmer:

has said the following that emphasizes that Silverlight will continue to be a very important product at Microsoft Products’ roadmap :

[We’ve seen the emergence of a wide variety of Internet connected devices – and as I said last week, HTML 5 will provide the broadest, cross-platform reach across these devices, and Microsoft will build the world’s best implementation of HTML 5 for devices running Windows.  At the PDC we showed the great progress we are making on this with IE 9.  We will also enable browser scenarios that provide additional capabilities, including Silverlight.  Silverlight provides the richest media streaming capabilities on the web, and we will continue to deliver that on both Windows and Mac

Client applications are important to take maximum advantage of devices, and we will deliver rich platforms and frameworks that enable developers to best take advantage of them.  We’ve sold more than 240 million copies of Windows 7 in the last 12 months - an absolutely phenomenal number.  Developers can build great applications for it using Win32, .NET, Silverlight and HTML5. ]

Sunday, October 03, 2010

SharePoint 2010 leads the Gartner Magic Quadrant 2010, Microsoftians now in an even stronger position than before

Last September, 3, 2010 Gartner has released the new portals’ market report.

The great news was that SharePoint 2010 Leads the Magic Quadrant of Horizontal Portals; heading in this, IBM WebSphere portal, as well as Oracle Solutions. Microsoft SharePoint is a consideration in more Gartner portal inquiries — over 70% — than any other vendor.

image

According to Gartner: The portal market continues to consolidate, with most enterprises focusing on a core set of strategic providers. Yet, emerging demands and technology disruptions are raising the bar for value, as well as opening opportunities for new approaches and new entrants.

The Report Summary said:

The field of viable portal vendors has narrowed considerably, dropping from more than 50 vendors in 2003 to fewer than a dozen in 2010. However, the consolidation of traditional portal vendors doesn't necessarily mean the commoditization of the market. In light of pressing business needs to improve the user experience across channels, and amidst the innovations of Web 2.0 and the cloud, making the right portal choice is more important than ever.

The major technology shifts toward Web 2.0, the cloud and business versus the IT influence are galvanizing the portal market. Portals provide a single, personalized point of access to relevant information, processes and people. They appeal to business leaders as a means to improve employee productivity and collaboration, extend business processes and applications to broader audiences, improve business visibility and responsiveness, engage and serve customers, and improve relationships and efficiency among value chain partners. More importantly than ever, portals appeal to end users overwrought with too many systems to log into and too much information. Enterprise portals unify the user experience, and provide relevancy and context across disparate applications. They provide a unified user experience by spanning across on-premises and cloud boundaries, as well as business and social boundaries. IT organizations need them more than ever to pull together and aggregate disparate information, exert control and ensure compliance, and scale their ability to agilely deliver these applications to the business and users.

Looking forward, the horizontal portal market will serve as an important foundation for the emerging user experience platform (UXP). Organizations are focusing on business-level issues, requiring better engagement of users across a widening range of devices and channels, and new vendors are entering the market with alternative approaches to accomplishing the portal proposition. As portals, user interfaces, and user interaction technologies and practices have proliferated, they have evolved into disconnected stovepipes. Portal products, mashup tools, rich Internet application (RIA) tools, Ajax solutions, Web content management and mobile application development tools all target their respective platforms effectively, but they require enterprise developers to create separate user interaction models and code bases — with few, if any, cross-platform capabilities. Vendors have started to address enterprise concerns with the convergence of these related technologies. The UXP provides integration of technologies used to deliver portals, mashups, RIAs, Ajax-enabled websites, Web content management and mobile applications. This integration can take the form of a set of separate, yet integrated, products (that may or may not be delivered as a suite) or a single product. Early examples of the UXP are largely derived from portal technology, and include Microsoft SharePoint, Oracle WebCenter along with Universal Content Management (UCM), and IBM's broadening WebSphere Portal with its related collaboration and content management portfolio, which is developing toward a more cohesive user experience platform.

The importance of portals and the future of UXP are not lost on vendors; enterprise vendors are using portals to promote their most-sweeping and most-critical agendas. Many of the vendors are using the portal to promote a far broader and deeper agenda, whether it's their developer platforms and tools, content management capabilities, databases and middleware, or enterprise applications. As an inherently cloud-friendly aspect of middleware, portals are also a fundamental vehicle for transitioning customers to the cloud. The portal choice is, therefore, critical to ensure that organizations can accomplish their business goals, while ensuring vendor independence and agility.

Organizations tend to make portal decisions based on a wide range of factors, including functionality, familiarity, price, interoperability, usability, momentum among customers and the IT ecosystem at large. As portals have evolved, basic portal functions, such as user management, personalization, content management and integration, have been extended and enhanced, and new capabilities, such as social computing, analytics and business process management, have been added to respond to subsequent customer demands.

Click here to Read the full, report

Thursday, December 04, 2008

Parallel Development using VS.NET 2010, Why, and How?

Why?

As demands for application performance increased, customers have traditionally solved the problem by simply increasing the underlying power of the hardware that the application is running on. Over the last several years developers have seen the CPUs that their applications run on start to include 2, 4 or more cores. While the power of the hardware has increased, the transition to a multi-core environment has impacted the applications that developers write. The majority of applications will not be able to automatically take advantage of this multi-core hardware change. Developers will need to modify the way they write applications and the architectures they use for these applications. Creating parallel capable code using current technologies is unfortunately not trivial. Multi-thread programming introduces not only application architecture challenges to complexity and robustness but also exposes the tooling developers use as being optimized for single-threaded development.

How?

Microsoft is making a major commitment to make parallel development accessible to a wide range of developers, whether they are using native code or the .NET Framework. With Visual Studio 2010 we are delivering:
• Visual Studio IDE support for Parallel development
• Native C++ libraries and compiler support
for Parallel applications
The .NET Framework 4.0 also provides the core framework support to build parallel applications through technologies such as P-LIINQ and parallel language semantics and framework components. Visual Studio 2010 provides integrated parallel development support. In Visual Studio 2010 the debugger is aware of the parallel nature of code and can present the state of the application execution during debugging across the different parallel execution units. The debugger also has custom displays for parallel code such as task & thread windows and a “multi” or “cactus” stack view window that graphically shows the execution path of the individual tasks.

Being able to develop and debug your application doesn’t mean that it takes advantage of all the available power. To help developers do this, Visual Studio 2010 also includes a parallel capable performance analyzer that enables you to extensively instrument you code to visually see the
concurrency issues that are in your applications. Combine this with the features of the Visual Studio IDE, and developers have a highly productive, visual environment for building the
best parallel capable applications available.

Microsoft’s goal is to simplify parallel programming by taking a holistic approach and providing solutions which span from local to distributed computing and from task concurrency to data parallelism. Microsoft plans to deliver a solution-stack consisting of OS resource management, a concurrency runtime, programming models, language extensions, libraries, and tools, which will make it simpler for both native and managed code developers to safely and productively build robust, scalable and responsive applications. This will also enable industry partners to complement Microsoft’s technologies in order to solve the complex problems associated with developing high-quality parallel software.
Microsoft’s goal is to increase productivity by encapsulating complexity, so developers can focus on solving business problems.

The CTP includes .NET Framework libraries such as the Task Parallel Library (TPL) and Parallel LINQ (PLINQ), as well as the Parallel Pattern Library (PPL) and Concurrency Runtime for developing native applications with C++, and parallel profiling and debugging tools.
This CTP is available for download as a Virtual PC image. Virtual PC supports only one core; a user will likely not see significant parallel performance benefits on manycore machines.

Wednesday, November 12, 2008

Finally VSTS product Team did it; Dynamically analyzing your Applications using Visual Studio.Net 2010Using the Threads Profiler

Actually this is a feature that I have waited two years, Since two years ago, I began to work with Intel people over the Intel Thread Checker, and Intel Thread profiler tools. I even have delivered the first course all over the world about how to use Thread Checker, and Thread Profiler. At those days, we in Compu Pharaohs (The company that I work for) has initiated an awareness campaign in cooperation with people at Microsoft Egypt in Order to evangelism for the VSTS 2005. I wished at these days to see some of those tools capabilities to get availed at the VSTS. Actually Intel People told me that there are working with the Microsoft VSTS team in order to include the thread profiler capabilities into the VSTS. Afterwards, I received lots of customers requests for availing the multi-threading profiler inside the VSTS. Sometimes, I replied to those people\s request by what Intel people told me, but inside myself, and as a developer for more than 15 years, I was looking to include the support of dynamic analysis for the multi-threaded applications inside VSTS, not to use the thread profiler. Why?
Because when this is getting included inside the VSTS, it will leverage the power of test case management, work item tracking, and bug tracking.

Today, What I always dreamed off has come true. VSTS 2010 is coming with Multi-Threaded Applications Dynamic Analysis. This means that you will be able to profile your threads, check whether your application is utilizing the parallel resources correctly, or not. If not, how is the workload is distributed over the different threads. How does each thread perform? What is the running code inside each thread…etc?



The above figure shows one of the thread dynamic analysis for a given application.

This actually, can help developers parallel applications developers to develop, and test their applications by an easier year. As many of you know that the parallel processing is nowadays a key factor in the success of many enterprise, as well as critical mission applications. The processors industry nowadays is scaling out by means of adding multiple core processors inside one box. This is due the physics of the processor bus clock speed capacity. Up till the Nano technology could be used into the processors production, the processing clock speed will not increase massively, instead Intel will increase the number of core inside the single-box processor (from 2, to 4, to 8 now,…etc). Developers need to understand this correctly, and design their applications in a multi-threading mode which is currently the only way that can utilize the real power of the multi-core processors. Microsoft he seized this opportunity and introduced at the VS.NET 2010 CTP a Thread profiler that can dynamically analyze the different running threads of the system during running the applications.