Who is a Solution Architect and what does he do? Here is a handy guide to becoming the best Solution Architect in the tech industry

Who is a Solution Architect and what does he do? Here is a handy guide to becoming the best Solution Architect in the tech industry

A solution architect evaluates a specific business requirement, builds, and integrates information and computer systems that meet that requirement. It is the work of solution architects to bridge the gap between business requirements and the implementation of technology solutions. The business requirements may be products or services to be consumed directly by the business or to be offered/sold to the customers. It’s the role of the solution architect to put together the software and hardware that will efficiently meet these business requirements. The Solution Architect is also tasked with examining the current platform/systems, and work with business and technical staff to recommend solutions that will result in more effective systems.

What does a solution architect do?

In a nutshell a solution architect is a “technical problem solver”. He evaluates business requirements and puts together different software and hardware to create a platform or system that will effectively and efficiently meet the business requirements.

It is the role of the solution architect to actively lead the technical vision of any technology company to success, he is responsible for continuously evaluating the current technology platforms and making sure they are UpToDate with the current market requirements and always looking for ways of improving them or introducing new technology solutions. Solution architects don’t only design a solution, but also participate in, implementation, testing, performance analysis and solution lifecycle management. That is, they continuously evaluate the solution and look for ways of improving it so it can adapt to the changes in the market and user demands.

Here is a summary of the main responsibilities of a solution architect:

  • Analyze current technologies used within the company and determine ways to improve
  • Document and monitor requirements needed to institute proposed updates
  • Work closely with Information Technology professionals within the company to ensure the hardware is available for projects and working properly
  • Propose and establish the framework for necessary contributions from various departments
  • Account for possible project challenges and constraints including, risks, time, resources, and scope
  • Work closely with project management teams to successfully monitor the progress of initiatives
  • Provide detailed specifications for proposed solutions

 

To become a successful solution architect in the tech industry, you need to possess the skills and ability to take a set of business requirements and turn them into a full-fledged architecture and design that is the blueprint of a successful solution. And to successfully design a solution end-to-end, you need to be able to make informed choices at different stages of the solution design, that is, the hardware, the operating system, the storage, the network, and the application. In all these design considerations you must be fully aware of the budget. The dilemma is always in finding the optimal solution yet cost effective. The primary goal of most businesses is to always increase profitability by reducing costs without sacrificing customer experience and it’s your goal as a solution architect to ensure that this dilemma is addressed in all your design considerations. So, with all these in mind, here are some of the practical skills and knowledge that you must have to become a successful end-to-end solution architect in the modern tech world:

A) Good knowledge of computer hardware (HW) and Operating Systems (OS).

There is a vast options of computing hardware and Operating Systems to choose from, and it’s the role of the solution architect to select the right combination of hardware and operating system. This is true when the business decides to host the application/services on their own private infrastructure as opposed to hosting on public cloud computing platforms where the hardware layer is abstracted from the OS layer by a virtualization layer. However, there are still some players in the public cloud infrastructure services that let you choose your own type of hardware. When it comes to selecting the right computing hardware, there are usually 4 main considerations which include:

  1. Speed and performance – These are determined by the central processing unit (CPU). The larger the workloads, the more processing power you will need for your computing hardware. Another important parameter to consider here is the CPU clock speed (measured in gigahertz, GHz), The clock speed determines how quickly the CPU can retrieve and interpret instructions. This helps your computer complete more tasks by getting them done faster.
  2. Memory and Storage (Both measured in bytes) – Memory (RAM) stores short-term data for immediate/temporary access when an application is running whereas Storage (HDD or SSD) stores long-term data for permanent access. Large enterprise applications require more RAM in the magnitudes of 32GB whereas small applications can work with 8 to 18GB of RAM. The amount of storage is determined by how much data will be generated by your application/services and should be well dimensioned prior to rolling out your platform. The good news is that storage can be supplemented by external network storages or cloud storage options should you runout of storage space for your application.
  3. Reliability and Availability – Reliability questions the dependability of individual hardware components of a system whereas availability questions if your system will still be available to the end user after a failure of one or more of its hardware components? As a Solution Architect, you will always find yourself in a situation where you must use RAID (Redundant Array of Independent Disks) to deploy mission critical applications. RAID offers data redundancy by writing the same data on two disks (also known as “mirroring”). Some RAID levels are also known to improve read/write speeds. The popular RAID levels are 1 and 5.
  4. Budget – Speed, Performance, Memory, Storage, Reliability and Availability all come at a cost and that’s why as a Solution Architect you need to pay attention to these resources and make sure you do proper dimensioning of approx. how much you need for your specific application; the dimensioning should include room for growth (future projections based on input from Business Intelligence (BI)).

Similarly, the Solution Architect needs to participate in the selection of the OS that is going to host business applications/services. Working with the software development team, here are a few considerations when hunting for the perfect OS for your business requirements:

  1. Budget – When it comes to the cost of OS, the biggest comparison is between; Open-Source OS or Proprietary OS. Open-Source OS is free and available to anyone for use, for example the Linux OS. Having a free OS greatly cuts down on the cost of the final solution/service. Some Linux distributions are completely free but with no technical support, while other Linux distributions e.g., the enterprise versions come at a cost which includes technical support but still way cheaper than the Proprietary OS. Examples of proprietary OS include Windows OS, MAC OS. A good Solution Architect should be able to weigh the options, If the inhouse technical team has competence on Linux OS, it’s usually the OS of choice for production environments.
  2. Performance Linux OS(s) are usually light weight and packaged with only the necessary software packages for a particular mission. Most of the time, Windows OS comes with additional software packages that might be excess to your solution requirement and this tends to affect the performance of the entire deployment. It’s the job of a Solution Architect to evaluate the different performance indicators of the different OS(s). OS and Hardware should be evaluated at the same time since some OS(s) perform better when deployed on specific chipsets.
  3. Support – This we mentioned in (a) above, Proprietary OS(s) come with technical support agreements, meaning you have access to expert support should you run into any OS issues, this reduces the Total Cost of Ownership (TCO) on the final solution, on the other hand, Open-Source OS doesn’t come with technical support agreement, you are on your own incase of OS issues. You must depend on the technical communities and available documentation. This means you must develop local competence to support solutions built on Open-Source, this in turn increases the TCO. The work around is to go for licensed Linux distributions like enterprise versions.
  4. Security – This is a very critical consideration in systems design especially if the system is to be exposed to third party or the internet. The solution architect should consider OS with inbuilt security. This is not replacement for perimeter firewalls, but it means you don’t have to spend a lot hardening your network security.

B) Expert knowledge of data network design; private networks, public networks, and hybrid networks (mixture of public and private).

To become a successful Solution Architect, you need to have expert level knowledge of data network designs; LANs/WANs, VPNs, IP/MPLS, SD-WANs. You should be well versed with switching, routing, transmission products. 

C) Knowledge of data storage systems for production and backup solutions.

You should be able to advise the business and implement different disaster recovery strategies. To do this, you need good knowledge of the different data storage options, onsite/offsite backups, and recovery mechanism in the event of data loss.

D) Good knowledge of cloud computing solutions; private cloud, public cloud, and hybrid cloud (mixture of private and public cloud solutions).

Virtualization is the foundation for cloud computing, and Network Function Virtualization (NFV) has proved to greatly reduce CAPEX (Capital Expenditure), CAPEX is the initial cost of equipment required to setup a solution. A good Solution Architect should be well versed with the different cloud computing options. Depending on the nature of the solution, you should be able to advise the business if the solution is to be hosted on private cloud (private datacenters), public cloud or a hybrid of the two.

E) Good knowledge of network, system, and information security solutions.

In most cases, you will find yourself deploying solutions that need to be accessed by third-party APIs or by the public. Security should be considered at all levels of your deployment. A good Solution Architect should have expert knowledge of different cyber security options. Network security products like firewalls, Threat Detection Systems, Intrusion Detection and Prevention Systems, DDoS Preventions Systems, Malware Detection and Prevention Systems, Data Encryption Systems for data in storage. Etc.

F) Solid understanding of the Software Development Life Cycle (SDLC), Software Development Frameworks/Environments as well as Software Integration Tools.

The SDLC is a framework defining the steps required to put together a complete software application, these steps include Planning, Requirements, Design, Build, Document, Test, Deploy, Maintain.

SDLC follows four core models: Waterfall, Agile, Iterative, DevOps. To become a successful Solution Architect, one needs to be familiar with industry standard software development frameworks like CI/CD (Continuous Integration and Continuous Delivery/Continuous Deployment) and DevOps or DevSecOps (i.e., DevOps with “baked in security”). These frameworks are designed to increase an organization’s ability to deliver applications and services faster than traditional software development processes hence helping an organization serve its customers more successfully and be more competitive in the market.

Common DevOps/CICD tools include Jenkins, Docker, GitHub, Ansible, Tekton Pipelines, Spinnaker, GoCD, Concourse, Screwdriver, CircleCI, Travis CI, Atlassian Bamboo, Chef, Puppet etc.

G) Excellent Project Management skills and good knowledge of collaboration platforms and tools.

In most cases you will be working with separate teams and groups, both on-site (in office) and off-site (remote) and you will have to put in place tools and systems to facilitate effective and efficient group work. Collaboration tools can be categorized as:

  1. Communication Tools – The tools you use to communicate with your team. Examples include Microsoft Teams, Slack, WebEx, GoToMeeting, Zoom, Odro, Google Meet
  2. Project Management Tools – The tools you use to keep track of the deliverables and monitor their progress. Example of project management collaboration tools include Trello, Jira, SmartSheet, ProjectManager, Monday.Com, Wrike, Asana, Dapulse, ProofHub, Redbooth, Wimi, Milenote
  3. Creating Together Tools – The tools that the team members can use to create together. It can be code, drawing, data entry, content, etc. Examples include Google Docs, ReSkript, Zoho, Confluence, Quip, CodingTeam, Igloo

H) Good knowledge of data science; You should be familiar with the techniques used to design and build “big data” systems and frameworks.

Today, every business/organization big or small has become a “Data Company”. Meaning that businesses collect data from their customers daily and analyze this data to get key insights about their customers hence making informed business decisions. There is exponential growth of data generated by both machines and humans and as a good Solution Architect you should be able to review and analyze the data structure of your organization, plan for the appropriate databases and implement solutions to store and manage this data.

I) Excellent documentation, reporting and presentation skills; Writing solution documents, designing HLDs and LLDs.

To become a successful Solution Architect, you need to be good at documentation. You should be able to translate design ideas into visual drawings, write elaborate solution documents, create High Level Designs (HLDs) and translate them to Low Level Designs (LLDs).

J) Good understanding of Product Lifecycle Management (PLM) process.

product lifecycle management (PLM) is the strategic process of managing the complete journey of a product from initial ideation, development, service, and disposal. 

K) Good understanding of frameworks for quality management.

Quality management is defined as the processes, procedures, and responsibilities for achieving quality policies and objectives. Understanding of quality management frameworks and systems helps Solution Architects to create products and services that meet customer and regulatory requirements and guides them to continuously improve their effectiveness and efficiency. Examples of Quality Management Systems (QMS) Standards include; ISO 9001:2015. Other Quality Frameworks include; Lean (maximize value by eliminating waste), Six Sigma (using the statistical outputs of the process to improve the process), TQM (Total Quality Management; improve efficiency, problem solving and standardization of processes.)

L) Good understanding of procurement and sourcing processes.

In most cases, the solution architect will work closely with the procurement and supply chain teams, especially is defining the requirements and identifying potential vendors. A good Solution Architect should have good knowledge on sourcing and purchasing processes which include; Requirements Definition, Vendor/Supplier Identification, RFI (Request For Information), RFP (Request For Proposal), RFQ (Request For Quotation).

M) Soft skills and Excellent Communication Skills

In addition to technical skills, A good Solution Architect should bring a variety of soft skills to the table. Adaptability, empathy, teamwork, communication and active listening are just as important to employers as technical skills are. Good soft skills and communication skills makes it easy for tech experts to work and collaborate with various stakeholders which include; The Executive/Management, Finance, Legal, Sales and Commercial, Marketing and Customer Care.

A seasoned Telecom Engineer with a passion for IP Technologies; he eats, drinks, and dreams IP packets. He is a passionate evangelist of the forth industrial revolution (4IR) a.k.a Industry 4.0 and all the technologies that it brings; 5G, Cloud Computing, BigData, Artificial Intelligence (AI), Machine Learning (ML), Internet of Things (IoT), Quantum Computing, etc. Basically, anything techie because a normal life is boring.
Spread the word: