Module: CMDB Automation

Task: Provisioning of AWS Instances

Client Requirement:

Modify the AWS connector plugin to automate the provisioning and termination of the AWS instances via a catalog item. For a particular user’s request, one CI will be created but for that CI there will be multiple instances requests and terminations.

Implementation should be done using a catalog item, where the user will have two options, one-time provisioning, and re-curring provisioning.

  • For a one-time provisioning request, there will be specific variables that will ask the user to provide Start date and time of the provisioning of the instance and termination date and time of the instance with the CI.
  • For recurring provisioning, there will be specific variables that will ask the user to provide, the day and date of the provisioning of the instance, daily termination time, and CI termination date and time.
Challenges:
  • To keep the OOB functionality of the plugin active with our modification and enhanced functionality.
  • To build the architecture of the catalog item to accept the scheduling time based on the selection of the type of provisioning.
  • To build automation where the provisioning/termination of the EC2 instance from the AWS occurs on the specific time as mentioned in the catalog item at the time of provisioning. For re-provisioning instances, the instances should only be provisioned for business working hours
  • For re-curring instance provisioning keeping a single CI to track all the provisioned and terminated instances.
Solution:
  • To keep the OOB functionality of the connector plugin, a new catalog item was created which ran the enhanced version of the workflow which contained all the new functionality that the client required. The new catalog item which was created had all the same variables added to it with some modification of new variables that were required for new functionality.
  • New fields/checkboxes were created and added to the catalog item so that the workflow can validate which type of provisioning is required ex. one time provisioning or re-curring provisioning. On the basis of the selection of the checkboxes, the appropriate fields were visible on the catalog item to insert the timing of the provisioning and termination.
  • To create automation workflows and sub-workflows plus some manual script includes were used, as workflow was the best implementation way for this requirement as a workflow can wait for a specific time using timers and can only trigger rest calls on the specific date and specific time using proper code and logic. This helped us to build accurate provisioning and terminating automation without any delay. The workflow would check the input from the requested item and depending on that will run the logic of one-time provisioning or recurring provisioning of the instances.
  • Every time a new request was generated a CI would be created, if the request was for re-curring provisioning then multiple instances would be provisioned and terminated on the basis of the time selected in the request, and this was maintained by creating a relationship between CI table and instance provisioning table which came with OOB plugin. Certain fields were created in the AWS instance provisioning which kept the track of the which instance is being requested for which CI. Using the response from REST calls made by the plugin and the type of the requested item the CI would start maintaining the track of all the instance provisioned under that specific CI for that specific user.
Results:
  • The whole motive of this implementation was to be able to modify the OOB functionality of the AWS connector to provide the organization with a cost-saving process when using AWS instances for there employees.
  • The requirement here was to keep OOB functionality of provisioning instances for a set of days to be able to process the server or instance where the availability of the system was required for 24*7 so that there is no discrepancy in the operations of the organizations. But the OOB functionality of the plugin was not suited for all the normal users of the organization, as the user would require the instance for a certain task and will only work for a specific business hour, but the AWS instances would be available for off-time working hours as well which would resulted the cost to increase as AWS charges for the time an instance is active. By implementing our functionality the instances would get terminated after business working hours of the user and the next day a new instance will be provisioned for the user before working hours. This helped the client to save money and only use the instance when they were required.
  • With this functionality, the client was able to save 80% of the total cost they had to give to the AWS for all their instances.
  • The client had feasibility to use OOB functionality as well as cost-saving functionality that was built as per the requirement they had in hand.
  • Also, it helped the client yo maintain there billing for AWS and were able to analyze the usage of the type of instances for there employee and all those records were being tracked using CI that was created at the time of the request was made.

Leave a reply

Your email address will not be published. Required fields are marked *.

    Focus on Your
    Business

    We Take Care of Your Technology

    Embrace your computerized change with LegoLogix's adaptable technical guidance, proactive strategies and unmatched digital expertise. Depend on us for transformation through technology.

    Contact Us