I have been working in customer-facing roles for many years now. My most recent roles are Technical Evangelist at Microsoft, doing some freelance projects and currently as a Cloud Solution Consultant (or Cloud Implementation Specialist) at one of the top universities in Finland.
But these are all titles and roles that can translate to different responsibilities and tasks, and skills. I decided to write down what my current role as a Cloud Implementation Specialist aka CIS involves.
Side note: As a part of our Cloud Computing Strategy, we are implementing a multi-cloud and hybrid environment for various workloads. In this journey, I also wear a hat as AWS (Amazon Web Services) Application Owner at our university. In this role, I am responsible for designing, testing, operating, and improving our AWS adoption lifecycle. I will share more about this role in future posts.
Let us get back to defining the Cloud Implementation Specialist role and its responsibilities.
My role is customer focused. My customers are mostly researchers and teaching staff. Each customer has a unique set of needs and requirements. The amount of time needed for each customer project and the level of my engagement is dependent on the project scope, deadlines, and customer skills. Early customer interactions are the key to a satisfactory solution and outcome.
To tackle each project, I divide my efforts into different phases:
- Understanding the Problem
- Designing a Solution
Understanding the Problem
Before jumping into any solution, I interview customers to understand their functional and non-functional requirements. It is a common pitfall to discuss the solutions too early with the customer. This phase is about exploring and discovering the underlying motivations, needs and goals.
If there is an existing solution that the customer is using, we will evaluate that solution. We also try to identify key stakeholders.
In addition to the functional requirements of each project, we also discuss non-functional requirements such as data privacy, security, SLAs, costs, project timelines, etc.
Various information gathered from the interview(s) with the customer is documented in detail. Sometimes, it is even a good idea to share that information with the customer and other stakeholders as it brings out any disagreements and misunderstandings well in the early stages of the project.
- Meeting with the customer (online or in-person)
- Find out the needs, problems, current solutions, stakeholders
- Discuss functional requirements specific to the project
- Discuss non-functional requirements (Important requirements for our projects are security, privacy, compliance, performance and capacity, disaster recovery and backups, and costs)
- Document the findings
Designing a Solution
Based on the requirements, if the customer workload is suitable for cloud deployment, I will recommend one or more solutions. These solutions are communicated with the customer, and we discuss the pros and cons if applicable. Some projects might need the involvement of other teams such as the security team to provide input. If the solution is going to be implemented in incremental stages, we agree with the customer about steps, outcomes, and timelines.
- Engage required stakeholders
- Find out different solutions
- Pros and cons of each solution
- Communicate the options with the customer
- Document the outputs, designs, and plans
The agreed solution is implemented according to the plan. Depending on the nature of the project, different stakeholders might be involved in this phase. For example, for a hybrid cloud workload, we might need to seek help from our on-premises network team. Different stages of the implementation are documented along the way. Once ready, the customer is engaged in training and testing the solution.
- Engage required stakeholders
- Implement the solution
- Documentation of the implemented solution
- Demo and hand-over to the customer
I continue the administration of the workload environment for new needed resources, improvements, and changes. Changes can arise for several reasons. Often, there are issues with cloud provider capacity which need my engagement with the provider. It is also common that some requirements are changed after the implementation of the solution. Or some new features or services are added. Our team also continuously strives for improvement through implementing best practices and new learning.
- Continuous customer support
- Continuous optimization of performance and costs (automated)
- Drive improvement based on feedback and changes and best practices
Communication is an important key skill for a customer-facing role. Since there are different stakeholders involved, I also find the documentation very effective and useful. Everything from needs and requirements to the solution and implementation is documented in a way that can be picked up by another CIS.
As a bonus, I find it rewarding to share and learn with other CIS. Each project is unique and has its challenges. Sharing the journey and the process from a problem to a solution and its results is very eye-opening.
Since each project is unique, there is no pre-made solution. Problem-solving mindset and the ability to learn new areas are crucial for this role.
- Utilize automation and agreed-upon processes
- Share and learn (mistakes, success stories)
- Continuously pushing for improvement through constant learning and keeping up with best practices
As it is clear from the descriptions above, my role involves tasks from cloud solution architect, cloud engineer and even project management. For bigger projects with many stakeholders, and more communications, it is better to get help from a project manager. It is also common to engage different cloud architects specialized in aspects such as security.