AWS Best Practise Map

After using AWS over 5 years, last weekend read the article of Architecting for the cloud(AWS best practise), download PDF, I made some mind-map to give a impression of AWS best practise and sharing my personal thought of cloud future.

To be honest, the AWS PDF is not real best practise guide, it seems sales flyers. But anyway, some part of pattern is useful practise to understand the current popular solution for which kind of architecture problems they want to solve.

AWS Best Practise.png

Summary this tree in short, make a right data persistence for application, loose coupling your system, scale horizontally with high availability.  

Some patterns can be understood in one Chain

  1. [X] is code 
  2. Automation is the king
  3. Monitoring is self-reflection
  4. Availability is the baseline

First pattern is quite popular in current developing period like

  • Infrastructure as Code(IAC)
  • Documentation as code(DAC)
  • Security as code(SAC)

[X] is code 

X As Code is changing the cognition of  us. The implementation of IAC is a huge revolution in devops world, with the magic of ansible and Chef. Maintaining thousands of node is not big deal. 3 years ago, our ugly Linux shell and Python or Ruby scripts are already into good structured and organised git repositories in our system.

Secondly, DAC is new direction to corporate between Business and Development, for example in decoupling pattern, good interfaces are core. With repaid requirements changes, api is always changed by PM, PO, Developers, how can we sync and understand in same. OpenAPI is a industry standard. It can be in a .yml file which it is used to between human and application. Human can modify it which constrains the implementation of the business requirements.

Thirdly, AWS environment give you have the opportunity to capture them all in a script that defines a “Golden Environment.” This means you can create an AWS CloudFormation script that captures your security policy and reliably deploys it. Security best practices can now be reused among multiple projects and become part of your continuous integration pipeline.

Screen Shot 2017-11-01 at 13.09.36.pngAutomation is the king

Furthermore, code has version. If something can be as code, all the changes can be managed. If something can be managed, then we can make it automation. Peter Drucker’s prediction in 1950, the biggest challenge of economy after the second world war, 1 was automation of system. 2  was free will of labour.

Machine does not have the introspection psychology, but human have. So building a system, we have to monitor the log, cost, performance in a feedback system. AWS cloudwatch, events, alarm, etc… Detect fail is the first step, like people can self-refection. Then we can make nice strategy or pattern to achieve graceful failure or change our business idea.

Screen Shot 2017-11-01 at 13.20.58.png

Monitoring is self-reflection

there are 3 kinds of monitoring,

  1. Log system like Kibana, Graylog2
  2. Application performance management (APM) system like AWS cloudwatch, appdynamics
  3. User behaviour system like google analytics, firebase, woopra

In general,  we are never short of tools. But we are lack of the knowledge which kind key index or metrics we need to measure.  Peter Drucker famously observed, “If you can’t measure it, you can’t manage it”.

Screen Shot 2017-11-01 at 13.38.35.png

Lean canvas Step8, we have to list keys that tell you and your business is doing. Maybe this is good start point to redefine our KPI of Application and System again.

Availability is the baseline

In the end, High availability means no down time. Whatever strategy or methodology did you use, don’t make system down is the baseline. if we learn some Positive and negative feedback concept in Cybernetics,  availability in software is almost dealing with negative feedback. Screen Shot 2017-11-01 at 13.53.37.png

The AWS auto scalding or beantalks like the Effector & Controller to reduce system error when performance is not enough. But enterprise software industry is still in low level of feedback system in current software.

With the Cloud capabilities, I believe that software architecture can be much easier than earlier age or in-house made solution.  In the future, I hope more computer feedback actions can be wrote in algorithms, it means another [x] is code. Regarding the Peter Drucker prediction,  high-automation system by machine, free will labour can be machine.

Posted in

Leave a comment

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