This is my learning note from the book Solutions Architect’s Handbook written by Saurabh Shrivastava and Neelanjali Srivastav. All the contents are mostly distilled and copied from the book. I recommend you to buy this book to support the authors.
Another series: Fundamentals of Software Architecture: An Engineering Approach
An organization can have multiple types of solution architects. Solution architect can be categorized as generalists or specialists. Generalist solution architects have the breadth that comes from multiple technical domains. Specialist solution architects have very in-depth knowledge in their area of expertise, such as big data, security, and networking. A generalist solution architect needs to collaborate with a specialist solution architect, to align with project’s requirements and complexity.
Enterprise solution architect: Enterprise architects handle solution design across the organization; they create long-term plans and solutions with stockholders and leadership. One of the most important aspects is to finalize which technologies should be used by the company and making sure the company is using these technologies with consistency and integrity.
Solution architect: A solution architect designs the overall system and how different systems integrate across different groups. A solution architect defines the expected outcome by working with business stakeholders and providing a clear understanding of the delivery objective on the part of the technical team. The solution architect engages throughout the project life cycle and also defines monitoring and alerting mechanisms to ensure smooth operations after a product’s launch.
Technical architect: A technical architect can also be called application architect or software architect. A technical architect is responsible for software design and development. The technical architect works with the organization in terms of engineering and is more focused on defining technical details for software development by a team. The technical architect is a point of contact for any technical question related to the engineering team and will have the ability to troubleshoot the system as required. For a small software development project, you may not see a technical architect role, as a senior engineer may take up that role and work on software architecture design.
Cloud architect: A cloud architect can help to design a cloud-native architecture, which is more optimized for the cloud and uses the full capabilities it provides. The cloud-native architecture tends to be built on pay-as-you-go models to optimize cost and leverage automation available in the cloud.
Architect evangelist: This is a new paradigm in marketing, especially when you want to increase the adoption of complex solution platforms. An architect evangelist can design the architecture based on customer requirements, which resolves the customer’s pain points, and results in the customer wins. The evangelist can be a trusted advisor for customers and partners. The architect evangelist has a deep understanding of architectural issues, concepts, and market trends to help secure platform adoption and show revenue growth through market capture.
Infrastructure architect: An infrastructure architect is a specialist architect role heavily focused on enterprise IT infrastructure design, security, and data center operation.
Data architect: A data architect defines a set of rules, policies, standards, and models that govern the type of data that’s used and collected in the organization database. The primary customers for a data architect are as follows:
- Business executives using Business Intelligence (BI) tools for data visualization
- Business analysts using a data warehouse to get more data insight
- Data engineers performing data wrangling using Extract, Transform, and Load (ETL) jobs
- Data scientists for machine learning
- Development teams for application data management
Security architect: Security should be the top priority for any organization. Security architects are expected to understand, design, and guide all aspects of security related to data, network, infrastructure, and applications with a variety of tools and techniques.
DevOps architect: A DevOps architect defines continuous integration and continuous delivery (CI/CD). In CI, automated builds and test runs happen before the development team merges its code changes into a central repository. CD expands upon continuous integration by deploying all code changes to a production environment after the build and test stage. The DevOps architect also plans for disaster recovery different deployment methods. Organizational Recovery Point Objective (RPO) is the volume of data loss that an organization can tolerate. Recovery Time Object (RTO) suggests how much time the application can take to recover and start functioning again.