Expand horizons with Cloud Computing
We all use cloud in some form or the other. It could be Gmail for email, Box for sharing, GitHub for code management or actually building and hosting our own applications on popular clouds. It is empowering anyone with an internet connection. If you are looking for a basic understanding of cloud concepts refer to the article “Demystifying Cloud Computing to a Novice”
The term cloud has become synonymous to public cloud. Public clouds offer servers, storage, network and apps accessible over the internet to the users through a self-service web console and/or API’s. The users use these resources and pay as they use. The capital, operational and maintenance expenses of these resources are borne by the cloud provider making it a lucrative option to one and all. Let’s try to understand public cloud through the lens of different user categories.
Independent Developer :
Developers can build applications for a specific purpose or for fun easily and quickly by leveraging public clouds. Let’s take an example of ‘Frosty’ who wants to start a carpool service for her community dwellers to commute to office. She sets up an account with a popular cloud vendor and starts building her carpool app. The users of the app can login and offer rides or accept offered rides.
Here, Frosty would typically use the development tools and offerings (authentication service, runtime, database, app dev tools) in the PaaS layer of the cloud vendor. Frosty can quickly leverage the offerings without having to build each capability from start. She also pays based on usage hence wouldn’t burn a hole in her pocket. The cloud provider takes care of maintaining these components and managing software upgrades. Her instance is logically isolated but shares the underlying resources with other instances. This is called “Multi-Tenancy”. Most clouds leverage this model where each instance is logically separated but physically integrated.
Some offerings (VM’s) on the cloud provide single tenant option where a physical separation option is also available.
In the pre cloud era, Frosty would have to build the app with open source technologies and host it on a web server on her computer. If the computer goes offline or crashes, her app is not available to users. But now, even if her computer crashes her app is still available since it is deployed on the cloud.
Public cloud model has been a boon to many startups who are instantly getting started without investment in physical data centers.
Frosty’s carpool app is an instant hit among her target user base. She fancies bootstrapping a startup on ride sharing. However, she is worried about the upfront investment given this app would have at least 100 times more users than the original app. After investigating the options, she decides to rent a Virtual Machine (VM) and set up her revamped ride sharing site on the VM.
Here Frosty is leveraging the IaaS option of the cloud vendor. She can easily scale her site as demand increases or scale down if it decreases. Another option would have been to scale her app individually at PaaS layer without having to worry about the infrastructure.
Public cloud providers offer clouds in specific regions (like Dallas, Sydney, London, Mumbai etc.). Each region has multiple Availability Zones(AZ) which are nothing but isolated locations within the region that host the data centers. For better resiliency the instances should be distributed across availability zones, so that if one zone goes down the instance on a different availability zone can handle the load. She chooses VM close to her geographical region, so that there are no latency issues. Frosty also opts for a backup in another region, so that she can hedge against regional disaster situations. Her site “Hop On” is all set without much upfront cost and is also scalable and highly available.
Medium Sized Business :
Public clouds offer plethora of dev tools to build net new cloud native applications leveraging agile principles and DevOps methodologies. Businesses can start with dev and testing on cloud before moving production workloads to cloud. Most cloud platforms also offer innovative technologies like IOT, AI, Big Data and Analytics which can be easily and quickly leveraged to build innovations at very affordable prices.
“Hop On” is a big hit now. A mid-sized car rental company “AMera Tech”, looking to expand its business acquires “Hop On”.
It wants to infuse AI to “Hop On” app. It wants to build and run machine learning (ML) algorithms to learn rider behavior and make recommendations based on historical data. It leverages data platform on the cloud to build and run the ML algorithm. The app is then infused with the API to leverage the result of the learning.
For AI/ML, clouds typically offer OOTB services which can be consumed through API’s. Data scientists can also build ML algorithms and expose the API’s (through AutoML) for consumption within an app. Some cloud providers offer hardware accelerator at infrastructure layer to facilitate running ML jobs.
Large Business :
Large businesses typically have many use cases where cloud could be leveraged. It could be moving entire data center to the cloud, building innovative applications, modernizing existing applications, solve complex problems with high performance computing, mining big data sets or simply backup and recovery.
AMera Tech is now a part of a conglomerate “UTera Group”. UTera group wants to move the physician operations software of their healthcare business to public cloud but is worried given the sensitive nature of the data involved.
Public clouds today offer Virtual Private Cloud(VPC) which is nothing but a private cloud within a public cloud. They can set up different subnets for public facing and private software and provide public access to components as required. The entire VPC can be used as an extension to the on-premise data center thus ensuring high levels of security. Public cloud also provides an option to expose private end points where the end points are not accessible publicly over the internet.
Compliance is another key aspect of pubic clouds. Most big vendors today offer ISO, SOC, HIPAA certified offerings without which big enterprises with regulated workloads would not be able to move their workloads to cloud.
Almost every large enterprise today leverages one or more of the public clouds. Some cloud providers are building their clouds on open technologies, so that the workloads are moveable and manageable across clouds and on-premise data centers. Kubernetes has been a game changer enabling workload compatibility. Kubernetes based Red Hat OpenShift (now part of IBM) runs on AWS, AZURE, GOOGLE CLOUD & IBM CLOUD providing multi cloud solution compatibility. Hybrid multi cloud management tools like IBM Multi Cloud Manager, Azure Arc are gaining popularity given the distributed nature of enterprise workloads.
This article only covers a small subset of possibilities but the opportunities for cloud adoption are unlimited. You will need to find the right architecture, technology and deployment fit in order to uncover the business benefits.