SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Architecting Solutions and
Systems – Secrets to
Success
Randy Williams
VP, AvePoint Client Services
randy.williams@avepoint.com
Randy Williams
VP, ACSAuthor
© AvePoint 2013
Base Principles
Know your requirements
 You cannot properly design without knowing what the customers’ or
market needs are
 Not all requirements will come from the outside
 As an architect, make sure you get this input. If there are missing
details, then you need to define these as assumptions.
 Bottom line is that the success of the design is whether it meets these
requirements
Getting good requirements isn’t easy
Trade off Considerations
 All design elements will consist of these
 These are the pros/cons, advantages/disadvantages, etc.
 An architect is like a judge. One who considers all the evidence and
makes a fair and balanced decision.
Return on Investment
 Perhaps the most important trade-off considerations, but often
overlooked
 ROI = value – cost.
 Bottom line: You want to make sure value > cost for the system’s life
 Will the choices you make pay off?
© AvePoint 2013
Infrastructure Architecture
Servers
 How many servers will you need?
 Should you scale up or scale out?
 Do you need to scale on demand?
 What about fault tolerance?
 In general, will the system be CPU
or RAM bound?
 For SharePoint farms, consider what
your roles are
Storage
 So many choices. DAS,
SAN, NAS, near line, HBA types,
SSD, WORM, cloud, on-prem, …
 Striping (RAID levels) is still
used to increase space and
speed, but this is much easier
with NAS and SAN devices
 Basic measure of performance is
IOPS (Input Ops per Second)
 For SharePoint db storage, target
1.0 IOPS/GB
Databases
 What database technology do you need?
 Do you need transactional support?
 What recovery needs do you have?
 Do you need to maintain relational integrity?
 How can you protect the database?
 What performance needs do you have?
Network
 Server to server, client to server
 Create VLANs, dedicated network segments
 There are lots of choices covering almost each
layer of the OSI model from application to physical
 Use caching techniques where needed
 Batch calls to reduce round trips where possible
 Leverage the power of your smart client
© AvePoint 2013
Cloud Considerations
The cloud changes most of the rules
 IaaS – we don’t think about infrastructure (hardware)
 PaaS – we don’t think about the OS
 SaaS – we don’t think about the platform (.NET, Java, etc.)
 Elasticity and Scalability gives us great flexibility
 Pay for what you use model allows us to save $$$
 Bridging on-prem and the cloud is where
things get complex
© AvePoint 2013
Randy’s Tips for Success
Tips from Randy
 Make sure you know the platform. Do your homework.
 Research other patterns and practices. It's very likely others have
designed something similar.
 Be careful if you take short cuts. Experts can get often away with this,
but I don't recommend it for others.
 Can you explain your design to your peers or properly document it? If
not, you probably don't know it well enough. Keep reviewing and
refining it.
 Architecting is often done in layers. Examples include n-tier solutions.
But also from high level to lower levels.
Tips from Randy
 What is the right level of detail for your design? This is hard to answer
as it depends on many factors. The short answer is when a team
understands the design and can jump right into implementation
 Consult others on your design. Don’t be afraid to let others look at it.
Be prepared to defend your choices, but be flexible and take their
input like a professional. If you need to redesign, see this as an
opportunity to improve and learn something new
 There are no perfect designs so don’t make this your goal. Your
design needs to be good enough to meet the requirements
Tips from Randy
 Designs are not really right or wrong. Few things in this world are
black and white like this.
 Consider the adage, "A good plan today is better than a great plan
tomorrow." - Do you think this applies to architecting solutions?
 Do not drag out the architecture for ever trying to consider every
possible angle. There are always schedule pressures whether this
comes from a customer, the market or your boss/project manager.
This will lead to paralysis.
 That said, don't rush too fast. Give it proper time. Making bad design
choices can result in weeks or months of rework. With experience,
you'll often know when it's good enough. If you don't, consult others
for their opinion.
Tips from Randy
 Make sure you have the architecture ready before you start formal
development. I can't emphasize how important this is and how often
it is overlooked. Doing prototype development to validate your
choices is fine, but consider it throw-away code.
 Simple designs are almost always better than complex designs.
 Make sure you think about how can you prove that your design is the
best choice. Consider how can it be tested. This happens as you
design and all the way thru development.
 Keep your code units modular as much as possible. Think about re-
use either in this solution or other ones. Think about having a library
of reusable modules. We need to continually grow this out.
Tips from Randy
 No one knows everything so don’t try to be an expert across all areas
 Have a good generalist knowledge about how things work and fit
together
 Then, find those specific areas where you want to specialize and
become an expert. These areas should align with your passion.
 Do what you love to make your heart sing
Thank you
Thank you
Collaboration with Confidence: Let take you there.

Weitere ähnliche Inhalte

Was ist angesagt?

Design Sprint Workshop @UMN SKYSTAR VENTURE
Design Sprint Workshop @UMN SKYSTAR VENTUREDesign Sprint Workshop @UMN SKYSTAR VENTURE
Design Sprint Workshop @UMN SKYSTAR VENTURECipta Pratama
 
Ajp preso 4
Ajp preso 4Ajp preso 4
Ajp preso 4pkzhang
 
Agile101 Barcamp
Agile101 BarcampAgile101 Barcamp
Agile101 Barcampunbrand
 
Prototype to production process
Prototype to production processPrototype to production process
Prototype to production processSteve Owens
 
Becoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectBecoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectSteven Herod
 
Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters DVClub
 
Promoting Cloud Inside Your Company
Promoting Cloud Inside Your CompanyPromoting Cloud Inside Your Company
Promoting Cloud Inside Your CompanyRightScale
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101DicodingEvent
 
Succeeding with SCRUM
Succeeding with SCRUMSucceeding with SCRUM
Succeeding with SCRUMSharique Khan
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021DicodingEvent
 
Selecting wireless module or chip for your next internet of things (iot) project
Selecting wireless module or chip for your next internet of things (iot) projectSelecting wireless module or chip for your next internet of things (iot) project
Selecting wireless module or chip for your next internet of things (iot) projectPallav Aggarwal
 
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...Daytona
 
Baby steps and why it's more important than your code skills
Baby steps and why it's more important than your code skillsBaby steps and why it's more important than your code skills
Baby steps and why it's more important than your code skillsRamon Victor
 
Requirements = Scope
Requirements = ScopeRequirements = Scope
Requirements = ScopeCraig Brown
 
Why unvalidated assumption is the enemy of good product
Why unvalidated assumption is the enemy of good productWhy unvalidated assumption is the enemy of good product
Why unvalidated assumption is the enemy of good productSeb Agertoft
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness AdvocacyMarie Claire Ponsaran
 
An Introduction to XP and Agile
An Introduction to XP and AgileAn Introduction to XP and Agile
An Introduction to XP and AgileJason Yip
 

Was ist angesagt? (20)

Design Sprint Workshop @UMN SKYSTAR VENTURE
Design Sprint Workshop @UMN SKYSTAR VENTUREDesign Sprint Workshop @UMN SKYSTAR VENTURE
Design Sprint Workshop @UMN SKYSTAR VENTURE
 
Ajp preso 4
Ajp preso 4Ajp preso 4
Ajp preso 4
 
Agile101 Barcamp
Agile101 BarcampAgile101 Barcamp
Agile101 Barcamp
 
Prototype to production process
Prototype to production processPrototype to production process
Prototype to production process
 
Becoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectBecoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical Architect
 
Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters
 
Promoting Cloud Inside Your Company
Promoting Cloud Inside Your CompanyPromoting Cloud Inside Your Company
Promoting Cloud Inside Your Company
 
Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101Id camp x dicoding live : persiapan jadi software engineer hebat 101
Id camp x dicoding live : persiapan jadi software engineer hebat 101
 
Succeeding with SCRUM
Succeeding with SCRUMSucceeding with SCRUM
Succeeding with SCRUM
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021
 
Itp251 Chptr6
Itp251 Chptr6Itp251 Chptr6
Itp251 Chptr6
 
Selecting wireless module or chip for your next internet of things (iot) project
Selecting wireless module or chip for your next internet of things (iot) projectSelecting wireless module or chip for your next internet of things (iot) project
Selecting wireless module or chip for your next internet of things (iot) project
 
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
Taking Responsibility for the Things We Unleash Into the World - IoT Meetup 2...
 
Baby steps and why it's more important than your code skills
Baby steps and why it's more important than your code skillsBaby steps and why it's more important than your code skills
Baby steps and why it's more important than your code skills
 
Agile Estimation Techniques
Agile Estimation TechniquesAgile Estimation Techniques
Agile Estimation Techniques
 
Requirements = Scope
Requirements = ScopeRequirements = Scope
Requirements = Scope
 
Why unvalidated assumption is the enemy of good product
Why unvalidated assumption is the enemy of good productWhy unvalidated assumption is the enemy of good product
Why unvalidated assumption is the enemy of good product
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
 
Minimal Testable Product
Minimal Testable ProductMinimal Testable Product
Minimal Testable Product
 
An Introduction to XP and Agile
An Introduction to XP and AgileAn Introduction to XP and Agile
An Introduction to XP and Agile
 

Ähnlich wie Architecting Solutions and Systems – Randy’s Secrets to Success

Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teamsIgor Moochnick
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developerNetcetera
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Chad Udell
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Pm For Fun And Profit
Pm For Fun And ProfitPm For Fun And Profit
Pm For Fun And Profitsundong
 
Project Management for Fun and Profit
Project Management for Fun and ProfitProject Management for Fun and Profit
Project Management for Fun and ProfitCrystal Williams
 
A Systematic Approach to Design Critique
A Systematic Approach to Design CritiqueA Systematic Approach to Design Critique
A Systematic Approach to Design CritiqueTryMyUI
 
An Engineer’s Essential Tool in Agile: Design Thinking
An Engineer’s Essential Tool in Agile:  Design ThinkingAn Engineer’s Essential Tool in Agile:  Design Thinking
An Engineer’s Essential Tool in Agile: Design ThinkingSoniaMayPatlan
 
Project Management for Freelancers
Project Management for FreelancersProject Management for Freelancers
Project Management for FreelancersCrystal Williams
 
Software engineering
Software engineeringSoftware engineering
Software engineeringsweetysweety8
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideVaco Seattle
 
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer CollaborationWhy Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer CollaborationAllison Corbett
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and TechnologyEnplore AB
 
Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...
Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...
Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...Lessing-Flynn
 
Developer week: An Engineer’s Essential Tool in Agile: Design Thinking
Developer week: An Engineer’s Essential Tool in Agile:  Design ThinkingDeveloper week: An Engineer’s Essential Tool in Agile:  Design Thinking
Developer week: An Engineer’s Essential Tool in Agile: Design ThinkingAliza Carpio
 

Ähnlich wie Architecting Solutions and Systems – Randy’s Secrets to Success (20)

Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teams
 
How to become a great developer
How to become a great developerHow to become a great developer
How to become a great developer
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Pm For Fun And Profit
Pm For Fun And ProfitPm For Fun And Profit
Pm For Fun And Profit
 
Project Management for Fun and Profit
Project Management for Fun and ProfitProject Management for Fun and Profit
Project Management for Fun and Profit
 
Intro to Agile Practices and Values
Intro to Agile Practices and ValuesIntro to Agile Practices and Values
Intro to Agile Practices and Values
 
A Systematic Approach to Design Critique
A Systematic Approach to Design CritiqueA Systematic Approach to Design Critique
A Systematic Approach to Design Critique
 
An Engineer’s Essential Tool in Agile: Design Thinking
An Engineer’s Essential Tool in Agile:  Design ThinkingAn Engineer’s Essential Tool in Agile:  Design Thinking
An Engineer’s Essential Tool in Agile: Design Thinking
 
Agile Technical Leadership
Agile Technical LeadershipAgile Technical Leadership
Agile Technical Leadership
 
Project Management for Freelancers
Project Management for FreelancersProject Management for Freelancers
Project Management for Freelancers
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
 
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer CollaborationWhy Can't We All Just Get Along? Improving Designer/Developer Collaboration
Why Can't We All Just Get Along? Improving Designer/Developer Collaboration
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
 
Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...
Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...
Everything You Need to Know for a Better Website in 2014 | Crystal Olig | Oxi...
 
Developer week: An Engineer’s Essential Tool in Agile: Design Thinking
Developer week: An Engineer’s Essential Tool in Agile:  Design ThinkingDeveloper week: An Engineer’s Essential Tool in Agile:  Design Thinking
Developer week: An Engineer’s Essential Tool in Agile: Design Thinking
 

Mehr von Randy Williams

An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsAn IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsRandy Williams
 
Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013Randy Williams
 
Governing and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environmentsGoverning and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environmentsRandy Williams
 
When governance lacks compliance
When governance lacks complianceWhen governance lacks compliance
When governance lacks complianceRandy Williams
 
The Future of Social Collaboration
The Future of Social CollaborationThe Future of Social Collaboration
The Future of Social CollaborationRandy Williams
 
Getting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsGetting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsRandy Williams
 
Building the next generation of browser apps today
Building the next generation of browser apps todayBuilding the next generation of browser apps today
Building the next generation of browser apps todayRandy Williams
 
SQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting NirvanaSQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting NirvanaRandy Williams
 
How governance drives your information and security architecture
How governance drives your information and security architectureHow governance drives your information and security architecture
How governance drives your information and security architectureRandy Williams
 
Sizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the LimitsSizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the LimitsRandy Williams
 
SharePoint Online and the Cloud
SharePoint Online and the CloudSharePoint Online and the Cloud
SharePoint Online and the CloudRandy Williams
 
Enforcing SharePoint Governance
Enforcing SharePoint GovernanceEnforcing SharePoint Governance
Enforcing SharePoint GovernanceRandy Williams
 
Migrating to Office 365
Migrating to Office 365Migrating to Office 365
Migrating to Office 365Randy Williams
 
Governance - how does information & security drive your architecture
Governance - how does information & security drive your architectureGovernance - how does information & security drive your architecture
Governance - how does information & security drive your architectureRandy Williams
 
Understanding SharePoint Governance
Understanding SharePoint GovernanceUnderstanding SharePoint Governance
Understanding SharePoint GovernanceRandy Williams
 
Guiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationGuiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationRandy Williams
 
Plugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategyPlugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategyRandy Williams
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web partsRandy Williams
 
Using Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsUsing Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsRandy Williams
 

Mehr von Randy Williams (20)

An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsAn IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
 
Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013Integrating SharePoint with Exchange-2013
Integrating SharePoint with Exchange-2013
 
Governing and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environmentsGoverning and managing hybrid SharePoint environments
Governing and managing hybrid SharePoint environments
 
When governance lacks compliance
When governance lacks complianceWhen governance lacks compliance
When governance lacks compliance
 
The Future of Social Collaboration
The Future of Social CollaborationThe Future of Social Collaboration
The Future of Social Collaboration
 
Getting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsGetting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 Apps
 
Building the next generation of browser apps today
Building the next generation of browser apps todayBuilding the next generation of browser apps today
Building the next generation of browser apps today
 
SQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting NirvanaSQL Server 2012 and SharePoint 2010: Reporting Nirvana
SQL Server 2012 and SharePoint 2010: Reporting Nirvana
 
How governance drives your information and security architecture
How governance drives your information and security architectureHow governance drives your information and security architecture
How governance drives your information and security architecture
 
Sizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the LimitsSizing your Content Databases: Understanding the Limits
Sizing your Content Databases: Understanding the Limits
 
SharePoint Online and the Cloud
SharePoint Online and the CloudSharePoint Online and the Cloud
SharePoint Online and the Cloud
 
Enforcing SharePoint Governance
Enforcing SharePoint GovernanceEnforcing SharePoint Governance
Enforcing SharePoint Governance
 
Migrating to Office 365
Migrating to Office 365Migrating to Office 365
Migrating to Office 365
 
Governance - how does information & security drive your architecture
Governance - how does information & security drive your architectureGovernance - how does information & security drive your architecture
Governance - how does information & security drive your architecture
 
Understanding SharePoint Governance
Understanding SharePoint GovernanceUnderstanding SharePoint Governance
Understanding SharePoint Governance
 
Why I Use SharePoint
Why I Use SharePointWhy I Use SharePoint
Why I Use SharePoint
 
Guiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationGuiding a Successful SharePoint Implementation
Guiding a Successful SharePoint Implementation
 
Plugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategyPlugging holes in your SharePoint 2010 disaster recovery strategy
Plugging holes in your SharePoint 2010 disaster recovery strategy
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web parts
 
Using Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 SolutionsUsing Visual Studio to Build SharePoint 2010 Solutions
Using Visual Studio to Build SharePoint 2010 Solutions
 

Kürzlich hochgeladen

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Kürzlich hochgeladen (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Architecting Solutions and Systems – Randy’s Secrets to Success

  • 1.
  • 2. Architecting Solutions and Systems – Secrets to Success Randy Williams VP, AvePoint Client Services randy.williams@avepoint.com
  • 5. Know your requirements  You cannot properly design without knowing what the customers’ or market needs are  Not all requirements will come from the outside  As an architect, make sure you get this input. If there are missing details, then you need to define these as assumptions.  Bottom line is that the success of the design is whether it meets these requirements
  • 7. Trade off Considerations  All design elements will consist of these  These are the pros/cons, advantages/disadvantages, etc.  An architect is like a judge. One who considers all the evidence and makes a fair and balanced decision.
  • 8. Return on Investment  Perhaps the most important trade-off considerations, but often overlooked  ROI = value – cost.  Bottom line: You want to make sure value > cost for the system’s life  Will the choices you make pay off?
  • 10. Servers  How many servers will you need?  Should you scale up or scale out?  Do you need to scale on demand?  What about fault tolerance?  In general, will the system be CPU or RAM bound?  For SharePoint farms, consider what your roles are
  • 11. Storage  So many choices. DAS, SAN, NAS, near line, HBA types, SSD, WORM, cloud, on-prem, …  Striping (RAID levels) is still used to increase space and speed, but this is much easier with NAS and SAN devices  Basic measure of performance is IOPS (Input Ops per Second)  For SharePoint db storage, target 1.0 IOPS/GB
  • 12. Databases  What database technology do you need?  Do you need transactional support?  What recovery needs do you have?  Do you need to maintain relational integrity?  How can you protect the database?  What performance needs do you have?
  • 13. Network  Server to server, client to server  Create VLANs, dedicated network segments  There are lots of choices covering almost each layer of the OSI model from application to physical  Use caching techniques where needed  Batch calls to reduce round trips where possible  Leverage the power of your smart client
  • 14. © AvePoint 2013 Cloud Considerations
  • 15. The cloud changes most of the rules  IaaS – we don’t think about infrastructure (hardware)  PaaS – we don’t think about the OS  SaaS – we don’t think about the platform (.NET, Java, etc.)  Elasticity and Scalability gives us great flexibility  Pay for what you use model allows us to save $$$  Bridging on-prem and the cloud is where things get complex
  • 16. © AvePoint 2013 Randy’s Tips for Success
  • 17. Tips from Randy  Make sure you know the platform. Do your homework.  Research other patterns and practices. It's very likely others have designed something similar.  Be careful if you take short cuts. Experts can get often away with this, but I don't recommend it for others.  Can you explain your design to your peers or properly document it? If not, you probably don't know it well enough. Keep reviewing and refining it.  Architecting is often done in layers. Examples include n-tier solutions. But also from high level to lower levels.
  • 18. Tips from Randy  What is the right level of detail for your design? This is hard to answer as it depends on many factors. The short answer is when a team understands the design and can jump right into implementation  Consult others on your design. Don’t be afraid to let others look at it. Be prepared to defend your choices, but be flexible and take their input like a professional. If you need to redesign, see this as an opportunity to improve and learn something new  There are no perfect designs so don’t make this your goal. Your design needs to be good enough to meet the requirements
  • 19. Tips from Randy  Designs are not really right or wrong. Few things in this world are black and white like this.  Consider the adage, "A good plan today is better than a great plan tomorrow." - Do you think this applies to architecting solutions?  Do not drag out the architecture for ever trying to consider every possible angle. There are always schedule pressures whether this comes from a customer, the market or your boss/project manager. This will lead to paralysis.  That said, don't rush too fast. Give it proper time. Making bad design choices can result in weeks or months of rework. With experience, you'll often know when it's good enough. If you don't, consult others for their opinion.
  • 20. Tips from Randy  Make sure you have the architecture ready before you start formal development. I can't emphasize how important this is and how often it is overlooked. Doing prototype development to validate your choices is fine, but consider it throw-away code.  Simple designs are almost always better than complex designs.  Make sure you think about how can you prove that your design is the best choice. Consider how can it be tested. This happens as you design and all the way thru development.  Keep your code units modular as much as possible. Think about re- use either in this solution or other ones. Think about having a library of reusable modules. We need to continually grow this out.
  • 21. Tips from Randy  No one knows everything so don’t try to be an expert across all areas  Have a good generalist knowledge about how things work and fit together  Then, find those specific areas where you want to specialize and become an expert. These areas should align with your passion.  Do what you love to make your heart sing
  • 23. Thank you Collaboration with Confidence: Let take you there.

Hinweis der Redaktion

  1. This session will provide background and guidance on how I have architected software solutions for the past 20 years. This will cover a range of mostly technical topics, including infrastructure planning, performance and scalability, separation of tiers, and software development lifecycles.