02 Feet in the Cloud
Compute on Demand: Virtual Servers
Leave the OS Alone: Containers for Developers
Unfortunately, The physical burden of bare metal maintenance was only replaced with a virtual one.
It was 2014 when I started my second job at a medium-sized Israeli startup called Dealply and getting a server was far too easy, as many as I wanted or needed.… Continue Reading ->
Design for Resilience: Isolation and Availability with Containers
The Bin Packer: Container Orchestration
Containers are so amazing but do they also present new challenges in the Ops world.
Let’s continue with the example from the previous article, two applications and two database instances. For simplicity and generalisation, let’s presume that all the applications in the world require exactly 1 CPU and 1GB of RAM and also all the servers in the world have only 4 CPUs and 4GB of RAM.… Continue Reading ->
Towards Zero Maintenance: Serverless Containers
A Burden Lifted: Functions
November 2014 was a big day for cloud computing, but it happened not on the 13th the day that ECS was launched but a day after on the 14th. While AWS were continually pushing forward Containers technology they were working on an entirely new revolutionary concept named Function as a Service, which once again completely changed the landscape of cloud computing.… Continue Reading ->
Scaling Strategies: Infrastructure or Applicative scaling
For the last few years I’ve taken part in a philosophical debate on how to better handle concurrency and throughput. I would say three are three main approaches to this:
- Programmatically in the application layer:
- Multi threaded programming
- Low-level languages over high level ones (C++ over Java for example)
- Code/OS optimizations
- Garbage collection tuning
- (many other kinds)
- Scale your infrastructure layer:
- Launch larger servers
- Scale with more instances (servers, containers or functions)
- Combinations of the above two
I see two main reasons that tilts towards infrastructure scaling:
- The costs of infrastructure and infrastructure maintenance are constantly reduced while personnel costs are constantly on the rise
- Doing it once on the infrastructure layter, instead of customizing each application individually.
I don’t know Compute: Not Choosing Compute
If you’d ask me today about a future service whose responsibility would have something to do with food shopping, would it run in a Container or a Lambda, I would definitely answer “I don’t know”. I would say that the service may run on one or the other.… Continue Reading ->