Cloud Platform assumes the responsibility of “Data Centers on the Fly”. The reason for this comment is manifested in the elasticity of resources that can be provisioned near-real-time. Literally, you can spin up or down instances in a matter of minutes. Matter of fact you can copy and erect an entire Architecture Stack in hours from one region to another using CloudFormation without any formal procurement process. However, projecting, predicting and approval of costing from appropriate departments may be necessary.

On any Cloud Hosting Platform resources will be shared amongst many tenants while keeping Security as a prime requirement. This means resources such as: CPU, Memory, Disk Storage, which are hosted on a common Physical Architecture, will be shared in a multi-tenant model. This is clearly depicted in the following diagram (AWS Security White Paper, Page 28)

Contrary to a traditional Data Centers where many rudimentary responsibilities are assumed by Data Center Providers, Cloud Providers such as AWS provides them to their customers hassle free. For example, Physical Security, Redundant Power Supply from multiple Power Grids, Availability Zones (think of them as Data Centers) in low flooding zones, Access to a facility with ONLY state-of-the-art technologies and much more. 

Additionally, AWS Cloud has augmented many software solutions/packages as pre-packaged services for either free or nominal cost. This provides an efficient way of using these services without the worries of updates on version and security patches. Simple Queue Services (SQS), Docker, Chef are just to name a few services that are ready and available for AWS Cloud Customers. 

Shopping Cart Experience

Selection of Cloud Services experience is analogous to experience at a WalMart Store. You shop around at a WalMart store while picking items of your liking and needs and place them in the shopping cart; Cloud allows you a similar experience. You may have many products/services at your disposal on AWS Cloud but you will provision only the services that fulfill your needs to run your infrastructure.Only difference is the checkout for AWS is at the end of the month as a monthly ‘Bill Bill’ rather than at the end of shopping, as is the case in WalMart on a Point-of-Sale (POS) counter.

You are not limited or bound to use AWS Provided Services, instead you can Bring Your Own License (BYOL) for software that requires licensing or you can install open source software on an EC2 instances. This helps in bringing the cost down as open source licenses software won’t incur any charges. A good example is GoCD Build Server. For your CICD needs, you can use AWS Code Commit, Code Deploy and Code Pipeline. These services will cost you some money (however nominal it may be) but if you are an avid user of GoCD Server, then you can bring this open source CICD software to your AWS environment and configure your entire CICD process using GoCD. Only charge will be your hosted EC2 instance. 

To Cloud or Not To Cloud?

An important question to ask is “To Cloud or not to Cloud?”.  While making that decision few things to consider are:

  1. Is Quick turn-around time on Hardware provisioning needed?
  2. No up-front costing for Hardware required?
  3. Iwanttopay only the services I use?
  4. I don’t’ want a big networking team? 

Once you have made up your mind on migrating or setting up your new infrastructure on Cloud, costing should be projected based on:

  1. Data in/out charges
  2. Number of servers required to support your infrastructure
  3. Database Nodes required

 

Bestway to predict the cost is to use AWS online calculator:

https://calculator.s3.amazonaws.com/index.html

About the Author:

Faisal Khwaja

Faisal Khwaja is the Sr. Director at Qucikstart.com. He is a certified AWS Solution Architect, a Certified Project Management Professional, and certified in TOGAF 9. With over 15 years of experience in technology, Faisal has led many complex projects including the migration of an entire infrastructure from on-premise to AWS cloud. He enjoys coding in Java and getting involved in architecture discussions with technical teams.