mirror of
https://github.com/nickpoida/og-aws.git
synced 2025-03-09 15:40:06 +00:00
Update ru.md
This commit is contained in:
parent
eb28898478
commit
d93511c64b
1 changed files with 16 additions and 16 deletions
|
@ -2392,22 +2392,22 @@ SNS
|
|||
- **Спотовый флот(Spot fleet):**
|
||||
- Вы можете добиться еще больших сокращений затрат в то же время, как и улучшения стабильности парка инстансов, по отношению к обычному использованию спортовых инстансов посредством использования [спотового флота(парка инстансов)](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html) чтобы делать ставки на инстансы среди различных типов инстансов, зон доступности, а также (путем запроса нескольких спотовых флотов) регионов.
|
||||
- Использование спотовых флотов преследует цель поддержки заданной (и взвешенной по типу инстанса) полной вычислительной емкости в кластере серверов. Если спотовая цена одной комбинации типа инстанса и зоны доступности поднимается выше взвешенной ставки, он будет отключать запущенные инстансы и поднимать новые инстансы другого типа и местоположения, чтобы поддерживать целевую емкость без превышения целевой стоимости кластера.
|
||||
- **Spot usage best practices:**
|
||||
- **Application profiling:**
|
||||
- Profile your application to figure out its runtime characteristics. That would help give an understanding of the minimum cpu, memory, disk required. Having this information is critical before you try to optimize spot costs.
|
||||
- Once you know the minimum application requirements, instead of resorting to fixed instance types, you can bid across a variety of instance types (that gives you higher chances of getting a spot instance to run your application).E.g., If you know that 4 cpu cores are enough for your job, you can choose any instance type that is equal or above 4 cores and that has the least Spot price based on history. This helps you bid for instances with greater discount (less demand at that point).
|
||||
- **Spot price monitoring and intelligence:**
|
||||
- Spot Instance prices fluctuate depending on instance types, time of day, region and availability zone. The AWS CLI tools and API allow you to describe Spot price metadata given time, instance type, and region/AZ.
|
||||
- Based on history of Spot instance prices, you could potentially build a myriad of algorithms that would help you to pick an instance type in a way that **optimizes cost**, **maximizes availability**, or **offers predictable performance**.
|
||||
- You can also track the number of times an instance of certain type got taken away (out bid) and plot that in graphite to improve your algorithm based on time of day.
|
||||
- **Spot machine resource utilization:**
|
||||
- For running spiky workloads (spark, map reduce jobs) that are schedule based and where failure is non critical, Spot instances become the perfect candidates.
|
||||
- The time it takes to satisfy a Spot instance could vary between 2-10 mins depending on the type of instance and availability of machines in that AZ.
|
||||
- If you are running an infrastructure with hundreds of jobs of spiky nature, it is advisable to start pooling instances to optimize for cost, performance and most importantly time to acquire an instance.
|
||||
- Pooling implies creating and maintaining Spot instances so that they do not get terminated after use. This promotes re-use of Spot instances across jobs. This of course comes with the overhead of lifecycle management.
|
||||
- Pooling has its own set of metrics that can be tracked to optimize resource utilization, efficiency and cost.
|
||||
- Typical pooling implementations give anywhere between 45-60% cost optimizations and 40% reduction in spot instance creation time.
|
||||
- An excellent example of Pooling implementation described by Netflix ([part1](http://techblog.netflix.com/2015/09/creating-your-own-ec2-spot-market.html), [part2](http://techblog.netflix.com/2015/11/creating-your-own-ec2-spot-market-part-2.html)\)
|
||||
- **Лучшие практики использования спотовых инстансов:**
|
||||
- **Профилирование приложений:**
|
||||
- Профилируйте ваше приложение, чтобы выяснить его характеристики во время выполнения. Это поможет понять минимальные требования к ресурсам процессора, памяти и диска. Наличие этой информации очень важно, прежде чем пытаться оптимизировать расходы на спотовые ресурсы.
|
||||
- Как только вы определите минимальные требования приложения, вы сможете делать ставки на различные варианты типов инстансов, вместо того, чтобы ротировать инстансы одного типа (это дает большие шансы получения спотового инстанса для запуска вашего приложения). Например, если вы знаете, что четырех ядер достаточно для запуска вашей задачи, вы можете выбрать тип инстанса, у которого количество ядер равно или более четырех, а также имеет минимальную цену на спот рынке, исходя из исторических данных. Это поможет вам выставить ставку на инстансы с самой большой скидкой (менее запрашиваемые на текущий момент веремени).
|
||||
- **Мониторинг и прогнозирование цены спот инстансов:**
|
||||
- Цены на спот инстансы колеблются в зависимости от типа инстанса, времени суток, региона и зоны доступности. Инструменты, такие как AWS API и AWS CLI позволяют описывать метаданные спотовой цены с указанием времени, типа инстанса, а также региона/зоны доступности.
|
||||
- Основываясь на истории цен спот инстансов, вы могли бы потенциально создать множество алгоритмов, которые помогут вам выбрать тип экземпляра исходя из стратегии **оптимизации расходов**, **максимального повышения доступности** или **обеспечения предсказуемой производительности**.
|
||||
- Вы также можете отследить количество случаев, когда инстанс определенного типа был забран (из-за превышения ставки), и построить график на доске, чтобы улучшить свой алгоритм в зависимости от времени суток.
|
||||
- **Утилизация ресурсов спотовых машин:**
|
||||
- Для выполнения нагрузок с всплесками утилизации (таких как spark или map reduce), которые основаны на расписании и где отказ не является критическим - спотовые инстансы являются наилучшим кандидатом.
|
||||
- Время, необходимое для удовлетворения ставки на спот рынке и получения инстанса, может варьироваться от 2 до 10 минут в зависимости от типа инстанса и наличия машин в этой зоне доступности.
|
||||
- Если вы используете инфраструктуру с сотнями задач, с вероятностью резких нагрузок, рекомендуется начать объединять инстансы, чтобы оптимизировать затраты, производительность и, что наиболее важно, время на приобретение инстансов.
|
||||
- Объединение в пул подразумевает создание и обслуживание спот инстансов таким образом, чтобы после выполнения задачи они не отключались. Это способствует повторному использованию спот инстансов для исполнения различных задач. Это, конечно, связано с накладными расходами на управление жизненным циклом.
|
||||
- Пул имеет свой собственный набор показателей, которые можно отслеживать для оптимизации использования ресурсов, эффективности и стоимости.
|
||||
- Типичные реализации пула позволяют оптимизировать затраты на 45-60% и сократить время создания спот инстанса на 40%.
|
||||
- Отличный пример реализации пула, описанный Netflix ([часть 1](http://techblog.netflix.com/2015/09/creating-your-own-ec2-spot-market.html), [часть 2](http://techblog.netflix.com/2015/11/creating-your-own-ec2-spot-market-part-2.html)\)
|
||||
- **Spot management gotchas**
|
||||
- 🔸**Lifetime:** There is [no guarantee](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html) for the lifetime of a Spot instance. It is purely based on bidding. If anyone outbids your price, the instance is taken away. Spot is not suitable for time sensitive jobs that have strong SLA. Instances will fail based on demand for Spot at that time. AWS provides a [two-minute warning](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#spot-instance-termination-notices) before Amazon EC2 must terminate your Spot instance.
|
||||
- 🔹**API return data:** - The Spot price API returns Spot prices of varying granularity depending on the time range specified in the api call.E.g If the last 10 min worth of history is requested, the data is more fine grained. If the last 2 day worth of history is requested, the data is more coarser. Do not assume you will get all the data points. There **will** be skipped intervals.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue