Vendor Software Lessons From Consulting Vendor Software.

Slides:



Advertisements
Similar presentations
Exadata Distinctives Brown Bag New features for tuning Oracle database applications.
Advertisements

Deploying GMP Applications Scott Fry, Director of Professional Services.
Everything you need to know in order to set up your Reader’s Notebook
Utility Database Chris
Media Partners.
Consider Aderant Expert Refresher Training
Chapter 10 : Designing a SQL Server 2005 Solution for High Availability MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design.
How a little code can help with support.. Chris Barba – Developer at Cimarex Energy Blog:
AMSI Hosting Options User Panel Discussion Presented by Brian Torney Session 107 Advantages of Self Hosting.
Certificate IV Project The Programmers -Library Statistics Database and Application.
Step By Step Windows Server 2003 Installation Guide Step By Step Windows Server 2003 Installation Guide.
Copyright (c) Cem Kaner. 1 Software Testing 1 CSE 3411 SWE 5411 Assignment #1 Replicate and Edit Bugs.
Views Lesson 7.
Grade Book Database Presentation Jeanne Winstead CINS 137.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
A Simple Introduction to Git: a distributed version-control system CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.5 © Mitchell Wand, This.
NovaBACKUP xSP Technical Training By: Nathan Fouarge
Architecting Availability Groups An analysis of Microsoft SQL Server Always-On Availability Group architectures 1.
ROLLING DATABASE SNAPSHOTS David Cobb Daveslog.com.
Get to know SQLDocKit!. Monitoring and administration solutions for SharePoint, Office 365, Windows Servers, Remote Desktop Services, and Citrix admins.
Customer pulse Why Stretch? How Stretch works? Core Stretch scenarios Demo QA.
Disaster Recovery Scenarios René Romo González DBA at Intel Second Meetup DBA100.
GATES TO FREEDOM By: Mariam Yousif.
Reverse Engineering The Database
ECM Consulting SharePoint | Collabware | Office 365
Cleveland SQL Saturday Catch-All or Sometimes Queries
The DBA's Role within N-tier Applications
An Refresher and How-To Profile Data using SQL
Debugging Intermittent Issues
Making sense of target setting!
SDL Web Cloud – My first experience and learnings
Boomerang Adds Smart Calendar Assistant and Reminders to Office 365 That Increase Productivity and Simplify Meeting Scheduling OFFICE 365 APP BUILDER.
What, When, Why, Where and How SCC maintains your Oracle database
Damned if you do and Damned if you don’t
Modern Collections Classes
A Simple Introduction to Git: a distributed version-control system
SQL Saturday Pittsburgh
Reporting Overview Business Goals Demystify the report menu
Debunking the Top 10 Myths of Small Business Server: Using Windows SBS in Larger Environments Abstract: This session will debunk some of the common myths.
Introduction to SQL Server Management for the Non-DBA
Simplifying XEvents Management with dbatools
Test Taking Tips: A Recipe for Success!
DevOps Database Administration
101 It’s about who knows you.
SQL Server May Let You Do It, But it Doesn’t Mean You Should
Purpose, Pitfalls and Performance Implications
Weird Stuff I Saw While ... Supporting a Java Team
From 4 Minutes to 8 Seconds in an Hour (or a bit less)
CS 3743 Database Management
DevOps Database Administration
5 WAYS TO BYPASS *OR ENSURE* SQL SERVER SECURITY MATT MARTIN
Migrating your SQL Server Instance
Purpose, Pitfalls and Performance Implications
Talking About How I Feel
Insert Your Title Insert your sub-title.
Modern Collections Classes
Parameter Sniffing: the Good, the Bad, and the Ugly
Office 365.
Westside Marketing Firm Corp
Quarter 1.
Parameter Sniffing: the Good,the Bad, and the Ugly
Parameter Sniffing: the Good, the Bad, and the Ugly
Great News! You got an interview!
Negotiating for a Raise August 27, 2015
Arrays.
The Force Within Management Data Warehouse
Difficult Conversation
REST Easy - Instant APIs for Your Database
SQL Server on Containers
Presentation transcript:

Vendor Software Lessons From Consulting Vendor Software

Andy Wickman Father of 2 boys and 1 girl Principal Consultant & Technology Leader at Moser Consulting Avid sports fan Baseball is the best sport GO ASTROS!! Worked in over 20 industries 17+ Years working with SQL Server Love making SQL Server run faster Tech Leader; Basically means I am the main point of contact for SQL Server related things. From presales help to interviewing to helping consultants keep up their skills and learn about SQL Server. I often get asked what we can do to help a client or how we can prove ourselves to a client.

Session purpose People who have worked as a DBA at 1 or 2 places. Goal of this session is to help these DBAs feel better about the stuff they are seeing in their environment. Unfortunately, what you are experiencing is NORMAL! You are all probably smarter than me. I assumed that since vendors make their money building software, they’d include performance and a DBA as a part of the process. WRONG!!

My Vendor Expectations Vendors – 3rd Party Software Make money on software Well designed applications DBAs included thru development process The Threat Vendors, “We won’t support the installation if you don’t …” Clients scared off by not having this support You are all probably smarter than me. I assumed that since vendors make their money building software, they’d include performance and a DBA as a part of the process. WRONG!!

Setup Lesson: NEVER ASSUME VENDOR KNOWS WHAT THEY’RE DOING Get documentation stating hardware & installation requirements Set up a meeting with the vendor to go over requirements Ask questions on EVERYTHING that seems off: What is the most recent version of SQL Server that is supported? Do you have any clients running a more recent version of SQL Server? What is their experience? How much disk space is needed to start? What is the expected size in year 5? Why does the database need to be on its own instance? Why do the database and application need to be on the same server? Why do non-production instances need ENTERPRISE licenses? Why does MAXDOP have to be set to 1?

Setup Vendor documentation says most recent version of SQL Server supported is 2008 R2. SQL Server 2014 is out of Mainstream support. What is the most recent version of SQL Server that is supported? This is one of the most common things I see. About half the time, the documentation hasn’t been updated “Oh, that’s an old version of the document, we support up to 2016” They say the documentation is updated. You’re stuck with 2008 R2. Or are you?

Setup Vendor says the most recent version they support is 2008 R2 What is the timeline for supporting a supported version of the database engine? Do you have any clients running a more recent version of SQL Server? What is their experience? We have clients running up to 2017 They report it runs faster Why do you not support 2017? “We haven’t set it up in our lab and tested it” At this point, its your client’s decision to risk not having vendor support. You’ve done your job and gotten the information to help them make an informed decision.

Setup Documentation says 150 GB. What does this mean? You’ll feel silly when 1 year in and the database is 10 GB. It is very common that this is the figure specified in the documentation as the 5 year (or more) growth size, NOT the startup size. “Is the 150 GB the initial size?” “What is the expected growth per year?” Depending on your client’s disk space policies, this might have just saved them some money and worries over the next couple years.

Setup Vendor says database must be on same server as the application As we all know, it is a best practice to have SQL Server be the ONLY thing running on a server. “Why does the database need to be on the same server as the application” Get the TECHNICAL reason for this Most of the time, this is just the implementation consultant’s PREFERENCE. I’ve only run across 1 application where we had to do this. Application hard-coded connection as LOCALHOST

Setup Vendor says their database has to be the only database on the instance “Can we use a multi-tenant instance?” “How heavily used is this application?” Get the TECHNICAL reason for this This can save the client MILLIONS of dollars! Engaged with a new client. 30 different Vendor Applications. 25 different PROD instances for this Most of the time, this is just the implementation consultant’s PREFERENCE. I’ve only run across 1 application where we had to do this. SQL Jobs that would break if there were other DBs on the instance

Setup Vendor says MUST use Enterprise Edition for NONPROD instances Developer Edition is the SAME as Enterprise. “Can we use Developer Edition instead?” “Will Prod instances still be supported?” 3 Environments Local DR & 2 remote DRs 8 processors per Server 32 processors PER environment. Required SAME for Dev & Test – TOTAL of 96 PROCESSORS – ENTERPRISE $7000 per processor 672K v 224K Can I get a percent of the savings I’m providing the client?

Tuning When it comes to performance tuning within the database, some vendors are more flexible than others. “Why is the code using deprecated joins?” “Is the code using stored procedures or ad-hoc sql?” “If using stored procedures, can we modify these?” “Can we modify indexes?” “Why can’t we drop indexes?”

Tuning - Code “Why is the code using deprecated joins?” “Is the code using stored procedures or ad-hoc sql?” “If using stored procedures, can we modify these?” Even if they’re using sprocs, vendors will almost never let you modify the code. In order to get things changed here, have to go thru entering a bug and hope the vendor takes it seriously. Even then, it’ll take a long time to get to production.

Tuning - Indexes Some vendors are more flexible than others. “Can we modify indexes?” Sometimes yes, sometimes no, sometimes DO NOT DROP indexes. “Why can’t we drop indexes?” Some queries use INDEX HINTS Application is UNUSABLE!! There are no CLUSTERED indexes Content Management System Vendor indexed EVERY POSSIBLE COMBINATION!!

Application Performance Always be honest and do what is best for the client. Sometimes the only thing you can do is provide technical reasons why something is happening. Band-aid until a long-term solution can be found Come to Jesus meeting with Vendor Walked into what we thought was a kickoff meeting. Expecting 2-3 client representatives. Actually walk into a meeting with 15 people (2-3 of which are client) and unsure who is who. 5 years customizing product BLOCKING Vendor had spent 5 years customizing this product. Testing started to prepare to roll it to production and performance was AWFUL BLOCKING issue Start to dig in

Application Design The more I dug, the worse it became. What do you see? Vendor had spent 5 years customizing this product. Testing started to prepare to roll it to production and performance was AWFUL BLOCKING issue Start to dig in

Summary THIS IS NORMAL ALWAYS be honest and do what is best for the client ASK questions on anything and everything that seems suspicious NEVER ASSUME vendor knows what they’re doing

Questions? Questions? Long-term goal of setting in cloud and connecting to network