AWS Cost Optimizations

Think about instance reservations

Spot Instances

Spot instances can be provisioned at 10-20% price of on-demand pricing. Spot instances can be used to do batch tasks convert media or do stateless jobs in general

Reserved  Instances

If machines are running at good utilisation for a long time consider reserving instance. They can give you around 25-40% savings depending on payment options and tenure.

Note – Instances can be reserved by region only , so make sure you decide the right region for you.

Use only what you need

Stopping servers which need not be up the whole time can lead to large savings. Dev servers at off-time or autoscaling for tasks which have a very varying usage pattern.

Simple python scripts and good tagging on instances can make this task of stopping and bringing them up very easy.

Take Care of Resource Leakages

These are typically small savings but it can help to maintain these so they dont add up.

  • Unused Elastic Ips
  • Unused EBS Volumes
  • Redundant Snapshots

I made a simple script to find these out here.

If you would rather just have the relevant script

Checks on AWS Console

Trusted advisor gives recommendation about your resources on aws. These includes cost saving tips, increasing performance  and security. You can also register alarms on budgets console.

 

Whats new in Mysql 8.0

Mysql 8.0 was released a couple of months back, if you havent heard the news here is what it brings to the world.

MySQL 8.0 status. MySQL 8.0 is a development series not recommended for production use.For latest update see

Global Data Dictionary

Instead of maintaining the FRM, TRG.. files, MySql will use the global data dictionary to store table metadata. These will be cached in memory as data objects. There is a pragmatic difference between system table and data dictionary as the mysql blogs says

Data dictionary contains meta data needed to execute SQL queries while system tables contain auxiliary meta-data like timezone and help information.

Roles

Instead of remembering which user had the INSERT UPDATE privilege now MySql gives the ability to create roles. Roles are basically a group of privileges.
So you might want to create an analytics role and assign it to all users who only want read access. Certainly, should help DevOps, DBA guys.

Index Toggling

MySql now allows for making an index invisible, what invisibility signifies is that the MySql query optimizer wont consider that index in the query plan optimization. The primary use case here is to monitor query performance after making index invisible and then proceed as needed, as toggling index costs almost nothing.

Better UUID support

For long it has been considered a bad idea to make UUID as primary key And for good reasons. Mysql now adds UUID_TO_BIN, BIN_TO_UUID functions, these solve two problems

  • Increase space efficiency vs varchar(36)
  • The problem of innodb storing data by primary key order(by swapping the high time variant part to start

For more detailed changes refer MySql Blog or What new in MySql 8.0

This is the first blog in the HHYN(Have you heard the news) series.

Feedback is always precious so  please like, reblog or comment below.

Introduction to Rust-lang

Rust is a compiled, statically-typed, non-garbaged collected systems programming language. An initiative by Mozilla, it has attracted a lot of traction lately because of its blazing fast speed and the high level abstraction(as the rust-lang page says “Zero cost abstractions”).

Read Time ~10 mins.
Continue reading

Elm-Lang : Client side functional programming

Elm is a client side pure functional programming language for programming. Elm code compiles down to HTML, CSS and Javascript. The introduction page mentions it being a competitor to React.

Elm is a functional language that compiles to JavaScript. It competes with projects like React as a tool for creating websites and web apps.

Dont just dismiss this as Yet another language that transpiles to JS. Elm has a lot of nifty features, that makes it a choice worth considering.

Continue reading

All you need to know about HTTP/2

HTTP/2 is the largest change in Hyper text transfer protocol after almost 16 years. Being a major version upgrade from HTTP/1.1, there has been a lot of discussion around it.

HTTP/2 is a binary protocol highly inspired from Google’s SPDY, It brings improvements over older version of HTTP in terms of security(by proposing an explicit TLS profile) , speed and simplicity. HTTP/2 can be used both on TLS and TCP More details, but most browsers only support it over TLS.

Major additions in HTTP/2

Continue reading

Getting Started with Unity Animations

Animations are a crucial part of any unity project. In this post we explore the various method of animating game objects in unity.

Most common ways to achieve animation in unity –

  • Animation View  – This allows you to view/edit animation inside unity and apply them on game objects.
  • Animator(Mecanims) – Animator allows user to define animation as a state machine. Transition between animation can be either scheduled or done programmatically.
  • External Modeling tools – Make animations in external tools and import them as asset in unity.(I am not going to talk about this much)

Continue reading

Flux Server Interaction Approaches

Flux is awesome, React combined more so.

I have been working with flux and react for a while now. Some of the problems that i faced were around server interaction. Facebook hasn’t talked much about it, the documentation gives no guidelines, except a mention of interaction must be done through action creators.

So i trolled around internet for exloring what other developers have adopted, to find some best practices and solutions to problems i encountered while building react+flux apps.

yP2gv-700

Continue reading