radedespodovski
radedespodovski on Hacker News
We wanted to start with something. There are other aspects of cloud cost optimization like rightsizing, unused resources, use of spot and reserved instances that are as important as instance scheduling. As well as additional supported services you've mentioned that we are planning to support in the future.
The solution is fully serverless, the scheduling as you are already familiar, is based on triggers that initiate calling certain AWS APIs to manage state of the resources. On top of it, we added support for enabling/disabling the schedule, on-demand start/stop of resources in case somebody needs the environment immediately, auto-tagging, cost per schedule etc. all integrated in one solution.
There are tools similar to ours on the market that could solve more complex saving workflows but are also more complicated to manage and are pretty expensive.
If you are interested in how it works, feel free to try it out it's free. Any feedback is welcome.
You can find more information about our cost optimizer in this blog post: https://microtica.com/reduce-aws-costs-on-non-production-env...
The scheduling part is close to AWS instance scheduler solution. The added value of Microtica Saving Schedules is that it's much easier to manage compared to aws saving schedule where you have to update CloudFormation whenever you would need to change configuration. This could become hard to manage especially when you have multiple accounts and multiple different resource groups with different schedule configs.
On-demand start/stop of resources associated with the schedule is also something that is hard to deal with when solution is done with CloudFormation.
We also added additional features like: 1. automated resource tagging 2. enable/disable schedule 3. cost and saving dashboard 5. notifications
I completely agree with your approach, we also encourage our users to start with the base permissions and then give more when necessary. Even more, to give an access only on resources provisioned by our system. As we automatically tag all resources, using IAM policy conditions this could be easily done. The control is always on the user's side.
The benefit of Microtica Cost Optimizer over using CloudWatch+Lambda comes when you have to manage more different schedules. With CloudWatch+Lambda solution you also have to manage the schedule infrastructure no matter how simple that infrastructure is, this could become an overwhelming repetitive task.
We added additional features like: 1. automated resource tagging 2. enable/disable schedule 3. manual start/stop of resources assigned to a particular scheduler 4. cost and saving dashboard 5. notifications
Cost Optimizer is just one feature of the Microtica product. Microtica is a DevOps automation tool that you can use to provision complete cloud infrastructure and deliver applications on Kubernetes using CI/CD.
The components you are referring are ready peaces of infrastructure that you can just pick up, combine and provision in the cloud.
Behind the scenes, we register a schedule in our system and when start/stop event is fired, first we obtain temporary credentials (assume role) for the AWS account where resources to be scheduled reside, then we call AWS APIs to perform scheduling operations over EC2 and RDS.
Imagine if you have to use different tags as selectors with different schedule times for each. You would have to control each of them through CloudFormation or even manually log into EC2 instance to update the script.
In addition, the solution provides few more benefits: 1. Auto-tagging 2. Native integration with infrastructure provisioned with Microtica 3. Cost and Saving dashboard 4. You don't need to manage your own infrastructure which will handle start/stop operations for EC2 and RDS 5. Schedule notifications
Ultimately, the user has the complete control over what access he will give to Microtica.
Since this policy was primarily intended for DevOps module, and Cost Optimizer needs only a subset of those permissions we will update the documentation to avoid the confusion.