Cloud computing brings the business benefits, the Accounting Department is happy with the ability to minimize upfront investments and manage costs, but I'm a tech guy, why should I care about the cloud? Well, here are the benefits from technical perspectives:
- Automation (scriptable API's): The cloud provides an environment rich with automation opportunities. Your infrastructure becomes scriptable. The suite of AWS services have APIs that you can use for all sorts of wonderful things. What once was only thought of as hardware, can now also be viewed as software. By leveraging these APIs, you can create automatically repeatable build and deployment systems, and with improved opportunities for automation, comes reliability, sustainability, and the ability to focus less on boiler plate tasks, and more on what makes a real difference for you and your business.
- Auto-scaling: As a more specific case of the general automation benefit, the ability to automatically scale your system is a key benefit of cloud computing. And one which must be leveraged to really take advantage of the cloud. You can scale your applications in, out, up, and down, to match your demand without any human intervention. The cloud allows you to be instantly reactive in an automated fashion.
- Proactive scaling: In addition to the ability to scale your systems automatically in reaction to some event, you can also easily proactively scale your application in anticipation of demand. So let's say your Marketing Department has a big campaign lined up, and they are sure this is going to be your big Superbowl moment. Assuming you have architected your system in accordance with the principles set forth in this course, you can proactively scale your system to meet this anticipated demand with extremely minimal investment and effort.
- Efficient development and improved testability: The flexibility the cloud provides lends itself to greatly improving the efficiency of your software development life cycle, and provides a means to improve testability.
For example, production systems can easily and inexpensively be cloned for use as development and test environments.
- Disaster recovery: You never have to worry about running out of hardware for testing. The cloud also greatly eases your disaster recovery requirements. In a traditional hosting environment, the ability to deploy your application in different geographical locations, was really only available to very big companies with very big budgets. For the rest of us, what we had to do was implement a process where we had to, perhaps, save everything to tape, or to some external drive, and then we had to physically transport those drives to some other geographical location. If any real disaster were to happen, the recovery part would be extremely painful and slow. The cloud puts those days far behind us. You can now easily replicate your configuration in a different geographical location in minutes.
Now these are just some of the technical benefits that you will realize from building out your cloud-based systems.
References & Resources
- Dependency injection
- Directives and Pipes
- Data binding
- HTTP Get vs. Post
- Node.js is everywhere
- MongoDB root user
- Prefer Async Script Loading
- Components, Bootstrap and DOM
- What is HEAD in git?
- Show the changes in Git.
- What is AngularJS 2?
- Confidence Interval for a Population Mean
- Accuracy vs. Precision
- Sampling Distribution
- Working with the Normal Distribution
- Standardized score - Z score
- Evaluating the Normal Distribution
- What is Nodejs? Advantages and disadvantage?
- How do I debug Nodejs applications?
- Sync directory search using fs.readdirSync