Consultation technique as Cloud Architect (things to do)

1. Designing and planning a cloud solution architecture

1.1 Designing a solution infrastructure that meets business requirements. Considerations include:

    a. Business use cases and product strategy

    b. Cost optimization

    c. Supporting the application design

    d. Integration with external systems

    e. Movement of data

    f. Design decision trade-offs

    g. Build, buy, modify, or deprecate

    h. Success measurements (e.g., key performance indicators [KPI], return on investment [ROI], metrics)

    i. Compliance and observability

1.2 Designing a solution infrastructure that meets technical requirements. Considerations include:

    a. High availability and failover design

    b. Elasticity of cloud resources with respect to quotas and limits

    c. Scalability to meet growth requirements

    d. Performance and latency

1.3 Designing network, storage, and compute resources. Considerations include:

    a. Integration with on-premises/multicloud environments

    b. Cloud-native networking (VPC, peering, firewalls, container networking)

    c. Choosing data processing technologies

    d. Choosing appropriate storage types (e.g., object, file, databases)

    e. Choosing compute resources (e.g., preemptible, custom machine type, specialized workload)

    f. Mapping compute needs to platform products

1.4 Creating a migration plan (i.e., documents and architectural diagrams). Considerations include:

    a. Integrating solutions with existing systems

    b. Migrating systems and data to support the solution

    c. Software license mapping

    d. Network planning

    e. Testing and proofs of concept

    f.  Dependency management planning

1.5 Envisioning future solution improvements. Considerations include:

    a. Cloud and technology improvements

    b. Evolution of business needs

    c. Evangelism and advocacy

2. Managing and provisioning a solution infrastructure

2.1 Configuring network topologies. Considerations include:

    a. Extending to on-premises environments (hybrid networking)

    b. Extending to a multicloud environment that may include Google Cloud to Google Cloud communication

    c. Security protection (e.g. intrusion protection, access control, firewalls)

2.2 Configuring individual storage systems. Considerations include:

    a. Data storage allocation

    b. Data processing/compute provisioning

    c. Security and access management

    d. Network configuration for data transfer and latency

    e. Data retention and data life cycle management

    f. Data growth planning

2.3 Configuring compute systems. Considerations include:

    a. Compute resource provisioning

    b. Compute volatility configuration (preemptible vs. standard)

    c. Network configuration for compute resources (Google Compute Engine, Google Kubernetes Engine, serverless networking)

    d. Infrastructure orchestration, resource configuration, and patch management

    e. Container orchestration

3. Designing for security and compliance

3.1 Designing for security. Considerations include:

    a. Identity and access management (IAM)

    b. Resource hierarchy (organizations, folders, projects)

    c. Data security (key management, encryption, secret management)

    d. Separation of duties (SoD)

    e. Security controls (e.g., auditing, VPC Service Controls, context aware access, organization policy)

    f. Managing customer-managed encryption keys with Cloud Key Management Service

    g. Remote access

3.2 Designing for compliance. Considerations include:

    a. Legislation (e.g., health record privacy, children’s privacy, data privacy, and ownership)

    b. Commercial (e.g., sensitive data such as credit card information handling, personally identifiable information [PII])

    c. Industry certifications (e.g., SOC 2)

    d. Audits (including logs)

4. Analyzing and optimizing technical and business processes

4.1 Analyzing and defining technical processes. Considerations include:

    a. Software development life cycle (SDLC)

    b. Continuous integration / continuous deployment

    c. Troubleshooting / root cause analysis best practices

    d. Testing and validation of software and infrastructure

    e. Service catalog and provisioning

    f. Business continuity and disaster recovery

4.2 Analyzing and defining business processes. Considerations include:

    a. Stakeholder management (e.g. influencing and facilitation)

    b. Change management

    c. Team assessment / skills readiness

    d. Decision-making processes

    e. Customer success management

    f. Cost optimization / resource optimization (capex / opex)

4.3 Developing procedures to ensure reliability of solutions in production (e.g., chaos engineering, penetration testing)

5. Managing implementation

5.1 Advising development/operation teams to ensure successful deployment of the solution. Considerations include:

    a. Application development

    b. API best practices

    c. Testing frameworks (load/unit/integration)

    d. Data and system migration and management tooling

5.2 Interacting with Google Cloud programmatically. Considerations include:

    a. Google Cloud Shell

    b. Google Cloud SDK (gcloud, gsutil and bq)

    c. Cloud Emulators (e.g. Cloud Bigtable, Datastore, Spanner, Pub/Sub, Firestore)

6. Ensuring solution and operations reliability

6.1 Monitoring/logging/profiling/alerting solution

6.2 Deployment and release management

6.3 Assisting with the support of deployed solutions

6.4 Evaluating quality control measures

Yes, those are the steps that you can make sure to discuss with your customers when you do the consultation. Focus on their requirements, especially business then technical requirements.

Kind Regards,
Doddi Priyambodo

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.