An architect is a person who is responsible for how development team will come out with product. He handles how different components will talk to each other, he even decides what different components will be used to produce stable and secure product.
So, architect is generally responsible for : –
- What different components will be used?
- How those components will interact with each other?
- How an application will handle fail over and downtime of any specific component.
- He is the person who is normally involved with the project since very early phase.
- He will also plan how application will handle after deployment life cycle.
All these generic architect role responsibilities also applies to AWS architect. In addition to that an AWS architect is required to have good understanding of all services provided by AWS. This knowledge help him or her to architect application in more stable way.
All architects are not similar, some have expertise in database and some are good with fail over or fault tolerant.
An architect start his work by defining the problem set at hand. They enlist the problem or project along with desired output of product or desired behavior of application in a given situation.
Second step is enlisting all available solutions or tool sets at hand. This step involves activities of doing comparison as well as SWOT analysis of things at their disposal. SWOT analysis involves a write up on Strength, Weakness, Opportunities and Threats. Many trade-offs will be identified at this stage only.
Third step is actually writing exact steps or processes for completing the required task.
An architect also plays part in reactive analysis, where questions may be put up by team or direct client about the given choice and architect will clarify the decision or reasons behind his or her choice.
For being a good AWS architect, It is expected that they know the infrastructure part of AWS offerings very well. This includes EC2 instances, VPC, Load Balancers, RDS, No-SQL offerings. They should also have good understanding of SQS, SES, SNS and debugging etc. If they are working mobile applications or API providers, then they should have good knowledge of those offerings also.
I am personally doing architecture part of my applications, and this is my morning time ritual picture, yes I still prefer papers over machine, specially if I am doing brainstorming with myself. This allows me to do these activities even in the cafeteria or park without looking like a complete nerd.