Cloud Technologies like AWS, Docker, Salesforce are the topics that I would like to learn more about. Though cloud technologies have been around for quite some time now still not all industries have migrated or started using it. It’s interesting to learn how the hardware restrictions are reducing because of the cloud. A few years back if I needed to set up a server I would have to format an existing server or may configure a new server by setting up OS and tons of other procedures whereas now I can just set up an AWS instance in less than 10 minutes. Also, I don’t need to worry about the security configurations or some best practices as AWS will take care of all of that for me which mean I can focus more of my time on the actual work than setting up servers. It’s interesting to see what we can achieve with all the computation power that is available now in terms of cloud computing as all I need is a good internet connection and a browser. AWS provides me with all possible configurations of CPU and GPU along with SSD/hard disks which I may ever need for my tasks.Docker containers are something that I heard the first time in this class and it was really intriguing to learn how fast Docker had captured the market and how fast is it growing. Containers are an abstraction at the app layer that packages code and dependencies together. Multiple containers can run on the same machine and share the OS kernel with other containers, each running as isolated processes in user space. A container image is a lightweight, stand-alone and executable package of a piece of software that includes everything needed to run it, code, runtime, system tools, system libraries, settings. Containerized software is supposed to always run the same, regardless of the environment. Containers isolate software from its surroundings, for example, differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure.It was still not clear to me when exactly one should be shifting to docker or what can be the scenario where one needs to shift to docker from virtual machines. I read an interesting case study of Paypal which was using OpenStack for their private cloud and ran more than 100,000 VMs. The private cloud ran 100% of their web and mid-tier applications and services. Paypal wanted to modernize their datacenter infrastructure, making it more on demand, improving its security, meeting compliance regulations and lastly, making everything cost efficient. They shifted to Docker’s commercial solutions which enabled them to not only provide gains for their developers, in terms of productivity and agility, but also for their infrastructure teams in the form of cost efficiency and enterprise-grade security. Since they didn’t want to completely give on VMs they tried to combine the two technologies. Leveraging Docker containers and VMs together gave PayPal the ability to run more applications while reducing the number of total VMs, optimizing their infrastructure. It’s interesting to see many of the new companies or startups relying heavily on cloud service providers for their infrastructure setup. I worked for a healthcare based startup which was using AWS services for all of their server needs and they just needed one system admin and one develops to handle their entire infrastructure. Once they started growing all they needed was more AWS instances not physical servers or physical space to store those servers. With all the benefits of cloud technologies, I hardly see anyone going wrong with their decision to migrate to the cloud. Though it comes with so many benefits there are certain steps which one can take even while migrating to the cloud. The data stored in the cloud should be encrypted as even cloud can experience data breaches and if the data is encrypted it will make it difficult for hackers to extract information from that data. Cloud security is only as good as the authentication mechanism used. Against right credential, even cloud will not be secured. It’s important to know who has access to what and sharing of credentials for cloud services should be avoided. Like any traditional IT system, even cloud instances are machines with some OS running on them which has vulnerabilities. The instances should be updated with new patches as soon as they arrive like one would do for any traditional IT server.For the people who are still skeptical about shifting to the cloud, there is another technology that takes into considerations all their concerns, hybrid cloud computing. I would like to explore more about this topic. A hybrid cloud is a computing environment which combines a public cloud and a private cloud by allowing data and applications to be shared between them. When computing and processing demand fluctuates, hybrid cloud computing gives businesses the ability to seamlessly scale their on-premises infrastructure up to the public cloud to handle any overflow – without giving third-party datacenters access to the entirety of their data. Organisations gain the flexibility and computing power of the public cloud for basic and non-sensitive computing tasks, while keeping business-critical applications and data on-premises, safely behind a company firewall. Using a hybrid cloud not only allows companies to scale computing resources, it also eliminates the need to make massive capital expenditures to handle short-term spikes in demand as well as when the business needs to free up local resources for more sensitive data or applications. Companies will pay only for resources they temporarily use instead of having to purchase, programme and maintain additional resources and equipment which could remain idle over long periods of time. Hybrid cloud computing is a “best of all possible worlds” platform, delivering all the benefits of cloud computing – flexibility, scalability and cost efficiencies – with the lowest possible risk of data exposure.