SlideShare a Scribd company logo
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.

More Related Content

What's hot

Design Sprint Workshop @UMN SKYSTAR VENTURE
Design Sprint Workshop @UMN SKYSTAR VENTUREDesign Sprint Workshop @UMN SKYSTAR VENTURE
Design Sprint Workshop @UMN SKYSTAR VENTURE
Cipta Pratama
 
Ajp preso 4
Ajp preso 4Ajp preso 4
Ajp preso 4
pkzhang
 
Agile101 Barcamp
Agile101 BarcampAgile101 Barcamp
Agile101 Barcamp
unbrand
 
Prototype to production process
Prototype to production processPrototype to production process
Prototype to production process
Steve Owens
 
Becoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical ArchitectBecoming a Salesforce.com Technical Architect
Becoming a Salesforce.com Technical Architect
Steven 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 Company
RightScale
 
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
DicodingEvent
 
Succeeding with SCRUM
Succeeding with SCRUMSucceeding with SCRUM
Succeeding with SCRUM
Sharique 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 2021
DicodingEvent
 
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
Pallav 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 skills
Ramon Victor
 
Agile Estimation Techniques
Agile Estimation TechniquesAgile Estimation Techniques
Agile Estimation Techniques
Mikalai Alimenkou
 
Requirements = Scope
Requirements = ScopeRequirements = Scope
Requirements = Scope
Craig 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 product
Seb Agertoft
 
Practical Programming It Awareness Advocacy
Practical Programming   It Awareness AdvocacyPractical Programming   It Awareness Advocacy
Practical Programming It Awareness Advocacy
Marie Claire Ponsaran
 
Minimal Testable Product
Minimal Testable ProductMinimal Testable Product
Minimal Testable Product
Sergey Sundukovskiy
 
An Introduction to XP and Agile
An Introduction to XP and AgileAn Introduction to XP and Agile
An Introduction to XP and Agile
Jason Yip
 

What's hot (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
 

Similar to 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 developer
Netcetera
 
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 Programming
Utkarsh 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 Profit
Crystal Williams
 
Intro to Agile Practices and Values
Intro to Agile Practices and ValuesIntro to Agile Practices and Values
Intro to Agile Practices and Values
OpenSource Connections
 
A Systematic Approach to Design Critique
A Systematic Approach to Design CritiqueA Systematic Approach to Design Critique
A Systematic Approach to Design Critique
TryMyUI
 
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
SoniaMayPatlan
 
Agile Technical Leadership
Agile Technical LeadershipAgile Technical Leadership
Agile Technical Leadership
Alexandru Bolboaca
 
Project Management for Freelancers
Project Management for FreelancersProject Management for Freelancers
Project Management for Freelancers
Crystal Williams
 
Software engineering
Software engineeringSoftware engineering
Software engineering
sweetysweety8
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
Dr. Shivananda Koteshwar
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
Vaco 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 Collaboration
Allison Corbett
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
Enplore 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 Thinking
Aliza Carpio
 

Similar to 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
 

More from 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 Apps
Randy 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 environments
Randy Williams
 
When governance lacks compliance
When governance lacks complianceWhen governance lacks compliance
When governance lacks compliance
Randy Williams
 
The Future of Social Collaboration
The Future of Social CollaborationThe Future of Social Collaboration
The Future of Social Collaboration
Randy Williams
 
Getting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 AppsGetting Started with SharePoint 2013 Apps
Getting Started with SharePoint 2013 Apps
Randy 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 today
Randy 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 Nirvana
Randy 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 architecture
Randy 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 Limits
Randy Williams
 
SharePoint Online and the Cloud
SharePoint Online and the CloudSharePoint Online and the Cloud
SharePoint Online and the Cloud
Randy Williams
 
Enforcing SharePoint Governance
Enforcing SharePoint GovernanceEnforcing SharePoint Governance
Enforcing SharePoint Governance
Randy Williams
 
Migrating to Office 365
Migrating to Office 365Migrating to Office 365
Migrating to Office 365
Randy 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 Governance
Randy Williams
 
Why I Use SharePoint
Why I Use SharePointWhy I Use SharePoint
Why I Use SharePoint
Randy Williams
 
Guiding a Successful SharePoint Implementation
Guiding a Successful SharePoint ImplementationGuiding a Successful SharePoint Implementation
Guiding a Successful SharePoint Implementation
Randy 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 strategy
Randy Williams
 
Spicing up SharePoint web parts
Spicing up SharePoint web partsSpicing up SharePoint web parts
Spicing up SharePoint web parts
Randy 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 Solutions
Randy Williams
 

More from 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
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

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.

Editor's Notes

  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.