 So students in the previous module, we talked about the design principles for the cloud environment. And we are covering 10 design principles. In the previous module, we talked about the first five design principles. And in this module, I will talk about the next five design principles. So what are the design principles that we will be discussing in this module? Because design principles are listed in the module coverage as follows. So you can read and you can see the design principles which we will be discussing in this module. So what I will do is that for each of these design principles, for example, with reference to automation, security, encryption, which is also related to security, and a tier-based this also relates to security and encryption. And of course, the technical debt, technical debt, which is similar to the financial debt in analogy. So that I will also discuss and share with you. So let's go and more deep study. Automation is good, but human implementation. Now we discussed in the previous module that the system is not feasible to be monitored manually. Now the system is monitored automatically. That's what the Amazon Web Services does. And not only the system is monitored automatically, but the actions, the human, but this human implementation should not be there because then it is not 24-7. So that human intervention is not there. This is also automatic. So we have this monitoring and we have this implementation. Both are automatic. Both are automatic. And these are the tools used by Amazon Web Services, CloudWatch, Autoscaling, Elastic Beanstalk. Through these tools, the implementation is also automatic. So it has efficient. Now what can happen is that the resources can fail, hard disk can fail, servers can crash. Now because of this automatic implementation, in case of failure, resources can be added. And when there is load, then more resources are added. So in case of failure, the resources are added. And when the load increases, the resources are added. And all of this is done automatically. So why it has to be automatic? Because the approach is a multi-tiered application. Now when you have a complex six or seven tiered application, for that you need tools. Automatic tools are required. That's are there in Amazon Web Services. Security design prevents. Now people ask about the security of the cloud. Now of course it can happen theoretically that the administrators of the cloud use their privileges in a way which compromises the security. Improper use, that is possible. Users have to recognize their responsibility. Now for example, if I place my documents in a locker in a bank, the bank is responsible after I lock the locker. But if I leave the locker open, no security of the bank can secure or can ensure the security of the contents of that locker. So there are certain basic guidelines which the user has to follow. Partition the application. And multiple tiers so as to ensure security groups. And implement these shields depending upon how the application is going to be accessed. And implement security measures which you can do more in the next slide. So how you implement those measures, you use encryption. But it is again vulnerable to malicious insiders. If your data is not encrypted, it's not encrypted. There may be malicious insiders who with their malicious intents would like to look at your data. So you have to encrypt your data. You have to lock your locker. You don't have to share your password of your ATM card. You don't do this. And recognize the excess vulnerability. And when you encrypt your data, then it becomes useless to anybody with nefarious intentions. So you use the encryption in two ways. When the data is in transit, you use the secured socket layer. And when the data is at rest, it means it is stored on the hard disk. Then you use encryption. And the private key is at your premises. The data is at the cloud, but the private key is with you. So you ensure the security of your data. Tier based design increases the efficiency. It increases the security also because you have tiers, you have levels. So you ensure a check and balance from going from one tier to another tier. And that is how you secure your application. And of course, the another advantage of multi tiered approach is efficiency. When you design your application, when the load is changing, you add or remove your processing power, your computing power, so that your computing resources are not sitting idle. And even if you start with a single instance, you design your application in such a way that it can be divided into multi tiers and it can be distributed for efficient use for efficient results for efficient application. And finally, the technical debt, same as the financial debt. If the code is inefficient, okay, then it will be hampering the efficiency. And one will have to work on that code to make it efficient. So that is a technical debt. How you can go about resolving these issues when the interfaces are well defined when it is cleared how the application is going to be called and how the application is going to call what are the input-output interfaces and different application portions can be updated, can be worked upon, okay, with the proper architecture without disturbing the entire application and by improving the working of the entire application. This you can achieve. And remember, if it's large mingled course, which is called as specification also, this is difficult to understand. It is difficult to modify and you should ensure that you are not doing this, okay. So avoid this technical debt. If it's not, even if it's not a cloud environment, it's a non-cloud environment, don't do these things. These things should not be there. It is a high cost of fixing these issues. That is all I have for this module. Thank you very much.