Book Image

Solutions Architect's Handbook

By : Saurabh Shrivastava, Neelanjali Srivastav
Book Image

Solutions Architect's Handbook

By: Saurabh Shrivastava, Neelanjali Srivastav

Overview of this book

Becoming a solutions architect gives you the flexibility to work with cutting-edge technologies and define product strategies. This handbook takes you through the essential concepts, design principles and patterns, architectural considerations, and all the latest technology that you need to know to become a successful solutions architect. This book starts with a quick introduction to the fundamentals of solution architecture design principles and attributes that will assist you in understanding how solution architecture benefits software projects across enterprises. You'll learn what a cloud migration and application modernization framework looks like, and will use microservices, event-driven, cache-based, and serverless patterns to design robust architectures. You'll then explore the main pillars of architecture design, including performance, scalability, cost optimization, security, operational excellence, and DevOps. Additionally, you'll also learn advanced concepts relating to big data, machine learning, and the Internet of Things (IoT). Finally, you'll get to grips with the documentation of architecture design and the soft skills that are necessary to become a better solutions architect. By the end of this book, you'll have learned techniques to create an efficient architecture design that meets your business requirements.
Table of Contents (18 chapters)

Designing solutions and staying through delivery

Solution architects work on solution design after understanding different aspects of functional requirements, NFRs, solution constraints, and technology selection. In an agile environment, this is an iterative approach where the requirements may change over time and need to accommodate the solution design.

The solution architect needs to design a future-proof solution, which should have strong building blocks and be flexible enough to adjust to changes. However, the solution architect needs to be careful about drastic changes to the requirements and apply a risk mitigation plan.

For future-proof design, you can take the example of a loosely coupled microservice architecture based on RESTful APIs. These architectures can be extendable to new requirements and have the ability to integrate easily. You will learn more about different architecture designs in Chapter 6, Solution Architecture Design Patterns.

The following flow-chart shows the solution delivery life cycle. The solution architect is involved in all the phases of solution design and delivery:

Solution delivery life cycle

As shown in the preceding diagram, the solution delivery life cycle includes the following:

  • Business Requirement and Vision: A solution architect works with business stakeholders to understand their vision.
  • Requirement Analysis and Technical Vision: A solution architect analyzes the requirements and defines a technical vision in order to execute the business strategy.
  • Prototyping and Recommendation: A solution architect makes a technology selection by developing POC and showcase prototypes.
  • Solution Design: A solution architect develops solution designs in line with an organization's standards and in collaboration with other impacted groups.
  • Development: A solution architect works with the development team on solution development and works as a bridge between the business and technical team.
  • Integration and Testing: A solution architect makes sure that the final solution is working as expected with all functional and non-functional requirements.
  • Implementation: A solution architect works with the development and deployment team for smooth implementation and guides them through any hindrances.
  • Operation and Maintenance: A solution architect makes sure logging and monitoring are in place and guides the team on scaling and disaster recovery as required.

However, the overall life cycle is an iterative process. Once the application goes into production and customers start using it, you may discover more requirements from customer feedback, which will drive the product vision for future enhancements.

The solution architect has major ownership during solution design in which they do the following:

  • Document solution standards
  • Define high-level design
  • Define cross-system integration
  • Define different solution phases
  • Define an implementation approach
  • Define a monitoring and alert approach
  • Document the pros and cons of design choices
  • Document audit and compliance requirement

Solution architects are not only responsible for solution design. They also help project managers with resource and cost estimation, defining the project's timeline and milestones, the project's release, and its support plan. The solution architect works through different phases of the solution life cycle, from design to delivery and launch. The solution architect helps the development team overcome obstacles and hurdles by providing expertise and a broad understanding.