Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SPG AWS infrastructure analysis (public example)

193 views

Published on

This is a generalised report on the results of the analysis SPG performed for one of its customers. The report reveals certain performance problems of the existing servers and evaluates the feasibility of moving the infrastructure to another cloud provider or changing the existing configuration.

Published in: Business
  • Be the first to comment

  • Be the first to like this

SPG AWS infrastructure analysis (public example)

  1. 1. AWS Infrastructure Analysis The document is not for commercial use or modification Public. ​© 2019 Software Planet Group http://softwareplanetgroup.co.uk/
  2. 2. Contents Objectives 3 Current environment structure 4 Costs 4 Performance statistics 6 Production Server 6 Memory utilization 6 Disk Space Utilization 6 CPU Utilization 6 Staging Server 7 Memory utilization 7 Disk Space Utilization 7 CPU Utilization 7 Statistical Performance Analysis 8 Pricing options review 9 Amazon Web Services 9 Google Cloud Platform 14 DigitalOcean 18 Conclusion 22 Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 2​/27
  3. 3. Objectives Our primary goal is to gather information on the performance of the current project infrastructure. After analyzing the obtained indicators, if necessary, we will then offer options for improving the current infrastructure. The secondary goal is to propose a number of alternatives to reduce the infrastructure’s monthly fees. In order to do this, we will analyze prices from other cloud providers which offer similar environment configurations and suggest different options to reduce maintenance costs. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 3​/27
  4. 4. Current environment structure At the moment, the project is deployed in the AWS Cloud environment and consists of two EC2 (Production and Staging) VMs and a database, located in AWS RDS. The visual structure is shown in Figure 1. Figure 1. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 4​/27
  5. 5. Costs Current costs per month: $84.29. For more detailed information on VMs, see Table 1. AWS now (t2.medium + t2.medium + RDS) # Node Role Instance Type Description Price 1 Production server EC2 t2.medium (2 vCPU Mem: 4 GiB, Vol: 8Gb) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $34,77 2 Staging server EC2 t2.medium (2 vCPU Mem: 4 GiB Vol: 8Gb) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $34,77 3 Relational Database Service (RDS) mysql MySQL db.t2.micro (1 vCPU Mem: 1 GiB) MySQL $14,75 Total price per month: $84,29 Table 1. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 5​/27
  6. 6. Performance statistics To collect statistics on the service’s performance, we used Amazon CloudWatch, a monitoring service for AWS. We gathered statistics for 7 days in order to display the full picture of the infrastructure’s operation. Production Server Memory utilization As shown in Figure 2, memory is consumed by an average of ​90-100%​. Figure 2. Disk Space Utilization The load on the disk subsystem is at approximately ​60% ​(Figure 3). Figure 3. CPU Utilization The CPU has a load of about ​5-10%​ with very ​rare bursts​ of up ​to 80%​ (Figure 4). Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 6​/27
  7. 7. Figure 4. Staging Server Memory utilization The memory status on staging is similar to that of production. The load is at about ​90-100% (Figure 5). Figure 5. Disk Space Utilization The load on the disk subsystem is at approximately ​60%​ (Figure 6). Figure 6. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 7​/27
  8. 8. CPU Utilization The CPU has a load of about ​5-10%​ with short and sparse ​outbursts ​of up to ​100%​ (Figure 7). Figure 7. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 8​/27
  9. 9. Statistical Performance Analysis As the analysis showed, both CPU and HDD instances are sufficient. However, even during periods of inactivity, the memory is constantly loaded at 90-100%. We believe that such indicators of RAM usage are caused by the work of the Neo4j database. Based on an official source​, this database requires at least 2 GB of RAM, and it is recommended to have between 16-32 GB of RAM. The above values ​​are very extensive, but in our case, even the minimum requirements are not being met, because in addition to the Neo4j database, both the backend and frontend parts of the service are working on the same server. Recommendation: It is necessary to either transfer the database to a separate server or use VM with a larger amount of memory. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 9​/27
  10. 10. Pricing options review Our main goal in this section is to discover whether or not we can save money by making use of different services or configurations, and find the optimal configuration for the current environment. Below are the prices for different configurations using a number of reputable services: Amazon Web Services, Google Cloud Platform, Digital Ocean. Amazon Web Services Variant 1​: Increase the memory capacity to 8Gb for the Production server only, bringing the price to $118.25 per month. More details are shown in Table 2. We can further reduce the price by shutting down the Staging machine during weekends and holidays, but this should not be a major improvement. AWS var.#1 (t2.large + t2.medium + RDS) # Node Role Instance Type Description Price 1 Production server EC2 t2.large (2 vCPU Mem: 8 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4 $68,73 2 Staging server EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4 $34,77 3 Relational Database Service (RDS) mysql MySQL db.t2.micro (1 vCPU Mem: 1 GiB) MySQL $14,75 Total price per month: $118,25 Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 10​/27
  11. 11.   Table 2. Variant 2​: Increase the memory capacity of both servers to 8Gb, bringing the price to $152.21 per month (Table 3). AWS var.#2 (t2.large + t2.large + RDS) # Node Role Instance Type Description Price 1 Production server EC2 t2.large (2 vCPU Mem: 8 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $68,73 2 Staging server EC2 t2.large (2 vCPU Mem: 8 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $68,73 3 Relational Database Service (RDS) mysql MySQL db.t2.micro (1 vCPU Mem: 1 GiB) MySQL $14,75 Total price per month: $152,21 Table 3. We also considered the option of transferring the database to a separate VM, which would enable both savings and a greater load distribution in contrast to an increase in the amount of memory. More details are provided in Tables 4, 5 and 6. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 11​/27
  12. 12. Variant 3: ​A separate DB for the production server. AWS var.#3 (t2.medium + t2.medium + t2.medium + RDS) # Node Role Instance Type Description Price 1 Production server EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service $34,77 2 Production DB EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Neo4j $34,77 3 Staging server EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $34,77 4 Relational Database Service (RDS) mysql MySQL db.t2.micro (1 vCPU Mem: 1 GiB) MySQL $14,75 Total price per month: $119,06 Table 4. AWS provides VM reservation capabilities (Amazon EC2 Reserved Instances). In Tables 4 and 5, we provided information regarding a VM purchase for 1 year without Upfront Reserved instances. More details on Amazon EC2 Reserved Instances can be found on their official ​website​. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 12​/27
  13. 13. Variant 4:​ There is also an option to purchase a 1-year contract without Upfront Reserved instances for the current environment. This allows saving money but would require a yearlong commitment. AWS var.#4 (t2.medium + t2.medium + RDS) # Node Role Instance Type Description Price 1 Production server EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $21,76 2 Staging server EC2 t2.medium (2 vCPU Mem: 4GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $21,76 3 Relational Database Service (RDS) mysql MySQL db.t2.micro (1 vCPU Mem: 1 GiB) MySQL $14,75 Total price per month: $58,27 Table 5. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 13​/27
  14. 14. Variant 5: ​An option to purchase a contract for 1 year without Upfront Reserved instances for variant 3. AWS var.#5 (t2.medium + t2.medium + t2.medium + RDS) # Node Role Instance Type Description Price 1 Production server EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service $21,76 2 Production DB EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Neo4j: graph database platform $21,76 3 Staging server EC2 t2.medium (2 vCPU Mem: 4 GiB) + EBS Generiс SSD 8 GiB Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $21,76 4 Relational Database Service (RDS) mysql MySQL db.t2.micro (1 vCPU Mem: 1 GiB) MySQL $14,75 Total price per month: $80,03 Table 6. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 14​/27
  15. 15. Google Cloud Platform Variant 1:​ A configuration which is similar to the current one on AWS. GCP var.#1 (n1-standard-1 + n1-standard-1) + MySQL db-f1-micro): # Node Role Instance Type Description Price 1 Production server n1-standard-1 (1 vCPU Mem: 3.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $24,27 2 Staging server n1-standard-1 (1 vCPU Mem: 3.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $24,27 3 Cloud SQL MySQL db-f1-micro (1 vCPU Mem: 0.6 GiB) MySQL $9,37 Total price per month: $57,91 Table 7. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 15​/27
  16. 16. Variant 2:​ Only upgrade the production VM. GCP var.#2 (n1-standard-2 + n1-standard-1 + MySQL db-f1-micro): # Node Role Instance Type Description Price 1 Production server n1-standard-2 (2 vCPU Mem: 7.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $48,86 2 Staging server n1-standard-1 (1 vCPU Mem: 3.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $24,27 3 Cloud SQL MySQL db-f1-micro (1 vCPU Mem: 0.6 GiB) MySQL $9,37 Total price per month: $82,50 Table 8. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 16​/27
  17. 17. Variant 3:​ Production and staging VMs with the same characteristics. GCP var.#3 (n1-standard-2 + n1-standard-2) + MySQL db-f1-micro ): # Node Role Instance Type Description Price 1 Production server n1-standard-2 (2 vCPU Mem: 7.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $48,86 2 Staging server n1-standard-2 (2 vCPU Mem: 7.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $48,86 3 Cloud SQL MySQL db-f1-micro (1 vCPU Mem: 0.6 GiB) MySQL $9,37 Total price per month: $107,09 Table 9. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 17​/27
  18. 18. Variant 4: ​A separate Neo4j DB server for production. GCP var.#4 ( n1-standard-1 + n1-standard-1 + n1-standard-1) + MySQL db-f1-micro): # Node Role Instance Type Description Price 1 Production server n1-standard-1 (1 vCPU Mem: 3.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service $24,27 2 Production DB n1-standard-1 (1 vCPU Mem: 3.5 GiB, Vol: 8 GiB) Neo4j: graph database platform $24,27 3 Staging server n1-standard-1 (1 vCPU Mem: 3.5 GiB, Vol: 8 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $24,27 4 Cloud SQL MySQL db-f1-micro (1 vCPU Mem: 0.6 GiB) MySQL $9,37 Total price per month: $82,18 Table 10. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 18​/27
  19. 19. DigitalOcean DigitalOcean allows users to save twice as much compared to other providers with the same memory and CPU configuration, but with faster SSD drives. In the USA Datacenter region, you can choose between New York and San Francisco. Variant 1:​ Without changing the current configuration. DO var.#1 (Droplet-20 + Droplet-20) + MySQL Droplet-5): # Node Role Instance Type Description Price 1 Production server Droplet-20 (2 vCPU Mem: 4 GiB, SSD 80 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $20,00 2 Staging server Droplet-20 (2 vCPU Mem: 4 GiB, SSD 80 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $20,00 3 MySQL Droplet-5 (1 vCPU Mem: 1 GiB, SSD 25 GiB) MySQL $5,00 Total price per month: $45,00 Table 11. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 19​/27
  20. 20. Variant 2: ​Only upgrade the production VM. DO var.#2 (Droplet-40 + Droplet-20 + MySQL Droplet-5): # Node Role Instance Type Description Price 1 Production server Droplet-40 (4 vCPU Mem: 8 GiB, SSD 160 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $40,00 2 Staging server Droplet-20 (2 vCPU Mem: 4 GiB, SSD 80 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $20,00 3 MySQL Droplet-5 (1 vCPU Mem: 1 GiB, SSD 25 GiB) MySQL $5,00 Total price per month: $65,00 Table 12. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 20​/27
  21. 21. Variant 3: ​Production and staging VMs with the same characteristics. DO var.#3 (Droplet-40 + Droplet-40) + MySQL Droplet-5): # Node Role Instance Type Description Price 1 Production server Droplet-40 (4 vCPU. Mem 8 GiB, SSD 160 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $40,00 2 Staging server Droplet-40 (4 vCPU Mem: 8 GiB, SSD 160 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $40,00 3 MySQL Droplet-5 (1 vCPU Mem: 1 GiB, SSD 25 GiB) MySQL $5,00 Total price per month: $85,00 Table 13. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 21​/27
  22. 22. Variant 4:​ A separate DB for production. DO var.#4 (Droplet-20 + Droplet-20 + Droplet-20) + MySQL Droplet-5): # Node Role Instance Type Description Price 1 Production server Droplet-20 (2 vCPU Mem: 4 GiB, SSD 80 GiB) Nginx proxy Java backend Python spider Java payment system service $20,00 2 Production DB Droplet-20 (2 vCPU Mem: 4 GiB, SSD 80 GiB) Neo4j: graph database platform $20,00 3 Staging server Droplet-20 (2 vCPU Mem: 4 GiB, SSD 80 GiB) Nginx proxy Java backend Python spider Java payment system service Neo4j: graph database platform $20,00 4 MySQL Droplet-5 (1 vCPU Mem: 1 GiB, SSD 25 GiB) MySQL $5,00 Total price per month: $65,00 Table 14. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 22​/27
  23. 23. Conclusion The resulting comparison of monthly costs appears as follows: In our view, depending on one’s priorities, these results may be examined in one of two diverging ways: ● The best options based on ​savings ● The best options based on a ​balance​ between costs and productivity AWS GCP DO Current Setup $84.29 $57.91 $45.00 Enhanced Prod $118.25 $82.50 $65.00 Enhanced Setup $152.21 $107.0 9 $85.00 Separate Prod DB $119.06 $82.18 $65.00 Current + 1 Year commitment $58.27 N/A N/A Current + DB + 1 Year commitment $80.03 N/A N/A Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 23​/27
  24. 24. In the "Savings" category, we selected the following options: Digital Ocean Variant 1.​ Migrate to DO without changing the current structure. Pros Cons Only $45/month. The service must be migrated from AWS. Enough space on disks to create backup copies of the service. High memory consumption remains a problem. The service will be unavailable during migration. Amazon Web Service Variant 4.​ Purchase a 1-year contract without Upfront Reserved instances. Pros Cons Only $58,27/month. A fixed amount must be paid for a year without an option to terminate the contract. Minimal impact on infrastructure. High memory consumption remains a problem No need to migrate the service from AWS. VM configuration may not be altered during the contract. Limited backup options due to HDD capacity restrictions Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 24​/27
  25. 25. In the "Balance" category, we selected the following options: Digital Ocean Variant 2.​ Migrate to DO and upgrade the production server. Pros Cons Only $65/month. The service must be migrated from AWS. Enough space on disks to create backup copies of the service. The service will be unavailable during migration. Increased responsiveness and speed of service. The staging and production servers will have their own individual configurations. Digital Ocean Variant 4.​ Migrate to DO with a separate DB for the production server. Pros Cons Only $65/month. The service must be migrated from AWS. Enough space on disks to create backup copies of the service. Requires a developer to transfer the database to a separate VM. Increased responsiveness and speed of service. The service will be unavailable during migration. The possibility of reducing or increasing productivity, depending on the future situation. The staging and production servers will have their own individual configurations. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 25​/27
  26. 26. Amazon Web Service Variant 5.​ Purchase a 1-year contract without Upfront Reserved instances and a separate DB for the production server. Pros Cons Only $80.03/month. A fixed amount must be paid for a year without an option to terminate the contract. Increased responsiveness and speed of service. VM configuration may not be altered during the contract. Minimal impact on infrastructure. Requires a developer to transfer the database to a separate VM. No need to migrate the service from AWS. Limited backup options due to HDD capacity restrictions The staging and production servers will have their own individual configurations. Amazon Web Service Variant 2.​ Increase the memory capacity of both servers to 8Gb. Pros Cons No need to involve a developer to transfer the database to a separate VM. Higher price. ​$152,21​/month. Increased responsiveness and speed of service. Limited backup options due to HDD capacity restrictions Minimal impact on infrastructure. VM configuration may not be altered after upgrade. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 26​/27
  27. 27. No need to migrate the service from AWS. Public​ © 2019 Software Planet Group This document is read-only, as it is provided exclusively for informational purposes. It ​is not intended for commercial use or modification​ by any third-parties without the prior written consent from Software Planet Group. http://softwareplanetgroup.co.uk/ 27​/27

×