microsoft it organization it business functions shared services business process units ideation to...
TRANSCRIPT
![Page 1: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/1.jpg)
Cloud at Microsoft
Colin Aylward November 2014
![Page 2: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/2.jpg)
About Microsoft IT
![Page 3: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/3.jpg)
Microsoft IT Organization
IT business functions
Shared services
Business process units
Ideation to availability
Awareness to lead
Lead to order Orderfulfillment
Fulfillmentto customer value
Corporatefunctions
Application and platform services
Site end-userservice
Informationsecurity and risk
Infrastructureservices
Serviceoperations and management
IT strategyand governance
Businessadministration
Complianceand standards
Peoplecapability
Supplierrelationshipmanagement
![Page 4: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/4.jpg)
7.9MLync calls/month
270KSharePoint Sitesin the Cloud
Employeesparticipate onYammer each week
90K140KUsers on Office 365Exchange
300KSystem Centermanaged devices
153KManagedWindows 8.1Systems
1.2MDevices hit theMicrosoft network
1.3K+LOB appsmanaged by IT
150KDevices syncvia EAS
100K+Employees
180K+ end users180K+ end users
Simplificationefforts reducing app portfolio at 5% per year
Simplificationefforts reducing app portfolio at 5% per year
This includes servers, user PC's and mobile devices
This includes servers, user PC's and mobile devices
Windows Phone, IOS and Android devices
Windows Phone, IOS and Android devices
The Microsoft IT Environment
513Site locations
17KSurface Pro andRT devices onthe network
80KConsecutiveremote connections
6%LOB apps runin Azure PaaS
Presence in over 114 Countries
Presence in over 114 Countries
Enabling mobility and productivity
Enabling mobility and productivity
All new development + next genapps
All new development + next genapps
6k Win 8 Upgrades per day
6k Win 8 Upgrades per day
Driving standards for all core PC’s and servers
Driving standards for all core PC’s and servers
Migrated 3K users per month
Migrated 3K users per month
170% Growth in usage YoY
170% Growth in usage YoY
Online sites growing 4%On-Prem declining at 25%
Online sites growing 4%On-Prem declining at 25%
3% Monthly Lync call volumes growth
3% Monthly Lync call volumes growth
Sales force works 60% mobile
Sales force works 60% mobile
![Page 5: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/5.jpg)
“I’m inspired by whatMicrosoft is doing in ITand now I see what’spossible for me.”
ExternalCustomers
Make it a Showcase
“I see my businessconnected, so we can move faster.”
BusinessStakeholders
AccelerateCapabilities
”I’m delighted stuff just works and is a simple experience.”
Outcomes
End Users
Audience
Simplify Experience
Focus
Microsoft ITdelightscustomers,connectsthe company& inspiresthe industry
Vision
Createtomorrow.Delivertoday.
Mission
One Microsoft: Supporting a mobile-first, cloud-first world.
IT Strategy
![Page 6: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/6.jpg)
Cloud at Microsoft
![Page 7: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/7.jpg)
Investing in the Cloud• Empower every individual and every organization to be able to thrive in
this mobile-first, cloud-first world. Our Goal
• Provides the ability to orchestrate & power mobility with intelligence.• Ability to reason over the data and help experiences light up across all
devices.
Why Cloud for
Microsoft?
• The core of our company - productivity and platform.• Intelligence of the cloud = better productivity, info discovery and business process
improvements.• Brings together end users, developers and IT.
Our Unique Contributio
n
• The most complete cloud offering. • Empowers every business across every industry in every geography.
The Microsoft
Cloud
![Page 8: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/8.jpg)
Cultural Challenges
3
We are using Azure as another on-premise datacenter.
IT apps are developed on legacy “scale up”, “always on” design.
IaaS is designed for “on-demand”, dynamically scalable, short term usage; not for 24x7 servers
Majority of apps do not have automation for their environment builds and test activities
Independent of usage, apps keep capacity stockpiled for peak HW need across all environments
Current PaaS subscription management creates security, compliance and governance risks
Limited re-useable IT and Data services developed in cloud. Drives redundant solutions, higher app development cost and time to market
![Page 9: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/9.jpg)
Microsoft IT leads our company’s cloud acceleration program.
Microsoft IT collaborates across the company to influence Azure product direction, provide analytics and guidance to speed IT cloud adoption, and share our cloud story with the industry.
Microsoft IT Cloud Acceleration
Great analytics lead to great decisions.
Deploy the best cloud solution the first time.
Microsoft IT helps you get it right.
![Page 10: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/10.jpg)
Microsoft’s strategy is “cloud first, mobile first.”
Microsoft IT: decision engine for the cloud
We provide the framework and guidance needed to accelerate cloud migration.• Serves as single
source of truth on cloud adoption
We coordinate the cloud adoption progress across the organization.Initial analysis• Remediation
recommendations• Migration plans• Final assessment
We take a data-driven approach to ensure that stakeholders find the right cloud solution for every cloud adoption project.• PG Prioritization• Optimization
![Page 11: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/11.jpg)
Cloud Program
IT Shared Services IT Business Functions
IT Business Process Units
ADOPTION DATA, LESSONS LEARNED & SHOWCASES
CLOUD ANALYSIS, GUIDANCE DELIVERY & ROADMAPS
SER
VIC
E C
APA
BILIT
Y
& IM
PR
OV
EM
EN
TC
LOU
D P
ATTER
NS
&
GU
IDA
NC
E C
REATIO
NEnterprise
Architecture
First & Best
Infrastructure Service
Providers
Azure Product Group
Approach for Accelerating Cloud Migrations
![Page 12: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/12.jpg)
Moving Microsoft IT apps to the cloudVast majority of Microsoft IT’s LOB apps are moving to the cloud
IaaS and Private CloudPaaS
Dedicated Hardware90%
7%
3%• 90% of Microsoft IT’s 1,100+ production apps meet requirements to move to IaaS or private cloud environments
• 7% of apps migrated to the PaaS environment
• 3% will remain on dedicated hardware
![Page 13: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/13.jpg)
Microsoft IT’s hybrid cloud strategy
Commodity
Modern apps
Existing
Workloads
New IT reality Implementation
Workload placement
Microsoft Technologies Everywhere
SaaS(Microsoft Dynamics Online, Office 365, etc)
PaaS(Windows Azure Database, Web, Worker, etc)
IaaS(Windows Azure Virtual Machines)
Public cloudoff-premises
Optimize large/unique workloads for Windows Server 2012 Hyper-V virtual machines
Private cloudon-premises
Hybrid cloud
Savin
gs
Vision: all of Microsoft runs in the cloud
![Page 14: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/14.jpg)
Office 365• Hybrid on-premises and online• 100,000 users using Exchange
Online• 176,000 SharePoint Online sites
Microsoft Dynamics CRM Online• Migrations planned for more than
15,000 users
Microsoft IT and SaaSProviding communication, productivity, and collaboration everywhere
Windows Intune• Natively managing Windows RT,
Windows Phone 8, and iOS devices
• Company portal for LOB apps
![Page 15: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/15.jpg)
Next-generation apps• 86 LOB apps on Windows Azure
PaaS• Majority are hybrid designs• Service oriented architecture
Microsoft IT and PaaS/IaaSBuilding next-generation apps and quickly migrating existing apps
Lift and shift existing apps• Move 300 virtual machines per
month in calendar year 2014
Development and test in Azure• Near instant capacity and
streamlined provisioning of test environments
![Page 16: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/16.jpg)
Azure IaaS Application Decision Framework
![Page 17: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/17.jpg)
High Level Decision Tree
Public SaaS Evaluation
1. Business Case2. Competitive Technology
Assessment3. Privacy and Compliance
1. Integration2. Performance and
Scale3. Management
Public PaaS Evaluation
1. Business Case2. Competitive Technology
Assessment3. Privacy and Compliance
1. Integration2. Management3. Resiliency
Public IaaS Evaluation
1. Privacy and Compliance 1. Connectivity2. Integration3. Performance
and Scale
Private IaaS Evaluation
1. Availability
New Cloud Development
![Page 18: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/18.jpg)
Analysis –> Decision Tree
Perform Analysis
Migrate to
Cloud?
Yes/No
Yes
Cloud Adoption (IaaS, PaaS,
SaaS, Hybrid)
No
Run or
Retire?
Run Run - Exception Process*
Retire (Plan for decommissioning)
Retire
*Business justification & cloud adoption roadmap required.
Cloud Migration
![Page 19: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/19.jpg)
Application Assessment IaaS Migration RoadmapApplication Assessment Framework
Application Decision Framework
Server Technical
Assessment
Application Roadmap
(PaaS / SaaS)
Right sizing
Business Factors
Remediation
Drives Azure IaaS migration decisions
Azure IaaS (Rehost)
On-Prem IaaS (Retain / Retire)
Hybrid Deploy
Move Application to Azure
Application Remains On-Prem
Retire within 12 months stays on-prem
Application Dependencies
How MSIT is Assessing Applications for Azure IaaS
Identify Technical Blockers
Hard Blockers Potential Blockers
Evaluate servers against Blockers
Remediate Potential Blockers
![Page 20: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/20.jpg)
Migration in Action(High Level)
![Page 21: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/21.jpg)
Application Portfolio Assessment On Premise
(34k OS Instances)
![Page 22: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/22.jpg)
Application Portfolio Assessment On Premise
(34k OS Instances)
Identify eligible OS instances• per Azure compute, storage and RAM
limits
1
![Page 23: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/23.jpg)
Application Portfolio Assessment On Premise
(34k OS Instances)
Identify eligible OS instances• per Azure compute, storage and RAM
limits
Identify eligible applications• remove apps that have hard
blockers
1
2
![Page 24: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/24.jpg)
Application Portfolio Assessment On Premise
(34k OS Instances)
Identify eligible OS instances• per Azure compute, storage and RAM
limits
Identify eligible applications• remove apps that have hard
blockers• sequence critical and complex for
later
1
2
![Page 25: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/25.jpg)
Application Portfolio Assessment On Premise
(34k OS Instances)
Identify eligible OS instances• per Azure compute, storage and RAM
limits
Identify eligible applications• remove apps that have hard
blockers• sequence critical and complex for
later• right-size to include more apps
1
2
![Page 26: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/26.jpg)
Application Portfolio Assessment
Azure IaaS
On Premise(34k OS
Instances)
Identify eligible OS instances• per Azure compute, storage and RAM
limits
Identify eligible applications• remove apps that have hard
blockers• sequence critical and complex for
later• right-size to include more apps
1
2migrate eligible
![Page 27: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/27.jpg)
Application Portfolio Assessment
Azure IaaS
Private Cloud
Prod DC
On Premise(34k OS
Instances)
Identify eligible OS instances• per Azure compute, storage and RAM
limits
Identify eligible applications• remove apps that have hard
blockers• sequence critical and complex for
later• right-size to include more apps
1
2migrate eligible
migrate ineligible
![Page 28: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/28.jpg)
Prod DC
Application Portfolio Assessment
Azure IaaS
Private Cloud
On Premise(34k OS
Instances)
Identify eligible OS instances• per Azure compute, storage and RAM
limits
Identify eligible applications• remove apps that have hard
blockers• sequence critical and complex for
later• right-size to include more apps
Increase eligible HW and applications by removing blockers• expanding to more regions• including internet facing apps• including HBI apps• getting current (OS, SQL)• increasing Azure VM limits
1
2
3
migrate eligible
migrate ineligible
![Page 29: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/29.jpg)
Prod DC
Application Portfolio Assessment Identify eligible OS instances
• per Azure compute, storage and RAM limits
Identify eligible applications• remove apps that have hard
blockers• sequence critical and complex for
later• right-size to include more apps
Increase eligible HW and applications by removing blockers• expanding to more regions• including internet facing apps• including HBI apps• getting current (OS, SQL)• increasing Azure VM limits
Identify applications for PaaS• new applications built for PaaS
1
2
Azure IaaS
migrate eligible
Private Cloud
migrate ineligible
3
Azure PaaS4
On Premise(34k OS
Instances)
![Page 30: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/30.jpg)
Prod DC
Application Portfolio Assessment Identify eligible OS instances
• per Azure compute, storage and RAM limits
Identify eligible applications• remove apps that have hard
blockers• sequence critical and complex for
later• right-size to include more apps
Increase eligible HW and applications by removing blockers• expanding to more regions• including internet facing apps• including HBI apps• getting current (OS, SQL)• increasing Azure VM limits
Identify applications for PaaS• new applications built for PaaS• migrate existing applications
1
2
Azure IaaS
migrate eligible
Private Cloud
migrate ineligible
3
Azure PaaS4
On Premise(34k OS
Instances)
![Page 31: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/31.jpg)
Top Ten Recommendations
8
1. Embrace the cultural changes needed for successful cloud migration and adoption.
2. Scrutinize what is really needed before moving to the cloud.
3. Establish and communicate clear roles, skillsets required, accountabilities and success metrics.
4. Provide workload awareness tools to enable the right choices.
5. Adopt an “eliminate before migrate” philosophy.
6. Invest in app re-engineering, smart automation and monitoring.
7. Focus on the importance of process change in order to fully benefit from cost optimization.
8. Understand that cloud benefits, such as elasticity, won’t be realized by legacy IT applications.
9. Make smart decisions around best platform. Get it right the first time.
10. Understand tactical needs (acceleration, datacenter shutdown) and how this may impact strategic long term plans.
Top 10
![Page 32: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/32.jpg)
Thank you
![Page 33: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/33.jpg)
Appendix
![Page 34: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/34.jpg)
Assessment Details(Lower Level View)
![Page 35: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/35.jpg)
IaaS Application Assessment Methodology (1/2)
List of all
Servers
Production Servers
Dev/Test Servers
UAT Servers
Organize Server List
Phase 1Evaluate
Rejection Criteria
Rejection Criteria Data Classification = HBI Internet Facing (DMZ/extranet) Unsupported Region SQL High Availability (Always
On) Network connectivity
restrictions Host
Application Roadmap Retire within 12 months Apps Pre-prod Environments
Categorized as ‘Sustain’
Red Servers
Green Servers
Phase 2Evaluate Hardware/OS Criteria
Hardware CPU/RAM don't fit available SKUs Drive size too large (>1TB) Max Data Disks > (16)
Networking Multiple NIC’s / IP’s MS NLB MS Clustering Networking connectivity limitations
Operating System Unsupported OS/SQL Ver.
Software 3rd Party components Installed
Evaluate Performance Data Using SCOM / Sonar data to right-size
and flag servers that currently do not fit into available Azure SKUs as yellow
Red Servers
Yellow Servers
Green Servers
Eval Hybrid/Full
Eval Full Uplift
Eval Hybrid Only
Eval Hybrid Only
Eval Hybrid/Full
Eval Hybrid Only
On Prem
Organize Servers into Applications with Server
Status
* If any are true, Flag server Yellow* If any are true, Flag server Red
![Page 36: Microsoft IT Organization IT business functions Shared services Business process units Ideation to availability Awareness to lead Lead to order Order](https://reader038.vdocuments.site/reader038/viewer/2022103022/56649cac5503460f9496e4a4/html5/thumbnails/36.jpg)
IaaS Application Assessment Methodology (2/2)
All Servers Green
All Servers Red
Hardware assessment
Network assessment
Operating System Upgrade
Domain assessment
Software assessment
Evaluate Full Uplift
Deploy
Servers mixed Green/Yellow
Evaluate Hybrid/Full
Deploy
Evaluate Hybrid Only
Deploy
Servers mixed Red/Green
Servers mixed Red/Yellow/Green
All Servers Yellow
Evaluate Hybrid/Full/
On-Prem Deploy
Servers mixed Red/Yellow Evaluate
Hybrid/On-Prem
Deploy
On-Prem Deploy
Hybrid Deploy
• Remediate all (Yellow) Servers to either (Red) or (Green)
• After remediation, all servers within an application will be either (All Red) or (All Green) or (Mix of Red/Green)
• All Red -> Stays On-Prem
• All Green -> Evaluate for external latency dependencies
• Mix of Red/Green -> Evaluate for internal latency dependencies.
Move to
Azure
Hybrid Deploy
On Prem
Move to
Azure
Evaluate (Inner App) Latency Dependencies
(Is it possible to spit the app across on-perm and Azure)
Evaluate (External) Latency Dependencies
Not Latency Sensitive
On Prem
Evaluate moving associated apps together
Apps can move
together
Latency Sensitive
Phase 4: Integration Dependencies
Not Latency
Sensitive
Latency Sensitive
Azure IaaS Ready
Phase 3:Server Remediation
Apps can NOT move together
Evaluate Additional Business Factors
Risk Analysis Costs (resource/reengineering) App changes based on Effort/Costs
Refactor (PaaS) Revise (PaaS/SaaS) Rebuild (PaaS) Replace (SaaS)
Solution
Hardware Optimization Avail Groups HLB Geo-Redundancy
Latency Estimates:Within Datacenter < 15msAcross Datacenter 25-35msCorp to Azure 25-75msWith golden gate 50-75ms
Dependency Assessment Tools Factfinder (network) Precise (SQL)
(Continued from page 1)