Devops "Magic"

When I first heard about the concepts of automation in the cloud, deployment, scale, launch scripts and most particularly AWS’s own cloudformation, I truly drank the cool aid… Devops, "the cloud" was truly magical.

This was it folks, my job as an Infrastructure Engineer was over.. this piece of magic made me redundant, I mean look at that beautiful design, I could build an entire mail server stack, load balancers and storage all with a few clicks… I could deploy hundreds of web servers, load balanced all in sync with performance services like elastic ache (memcache as a service)

I was absolutely excited, I embraced these services like a horse whisperer should of embraced mechanics.

But then reality kicked in, The reality was these services were hard.

Many systems were not ready, applications were not designed yet to truly adopt these concepts, scripts had to be written, and edited and edited again but most of all too many people showed apathy or complete lack of grasping the fundamentals this shift was offering.

Testing, testing, testing, countless nights trying so hard to have a launch script add an instance to a cluster, update remote services, download and compile the latest piece of code, connect to load balancers… the work was relentless.

Along the way though I realised that I’d learnt more than I expected about automation, that coming up with hacks to get a system bootstrapped was in its own way a very special skill.

I realised without knowing I had very much embraced Devops, The more people I spoke with working in similar devops roles were saying the same things, that All these concepts of ideas for cloud infrastructure as code at scale were practically useless without the right people gluing it all together.

I'm lucky that even in Brisbane there was a growing community of Devops, startups and cloud enthusiasts,

Scaled systems and designing for failure.

Ephemeral & Loose Coupling.

To me, the fundamental difference between modern cloud computing and simple virtualisation are these two basic concepts.

Ephemeral Ephemerality (from Greek εφήμερος – ephemeros, literally "lasting only one day"[1]) is the concept of things being transitory, existing only briefly.

Put simply, it means not permanent, what does this have to do with cloud computing?
Well its how "compute" should be designed in the cloud, not a permanent thing, just a thing you need to do now, on demand, when needed but once you're done it's gone.

Traditionally a server is a big box I run up that sits there doing a task or - serving a service
even if the service is not needed all the time.
The server is static, pre-configured with software and configuration data, given a name and places in its place as part of a system, say a mail server.
All the components of the server (hard drive, processor etc) are dependencies of the server and therefor dependencies of the system.

Now along came virtualisation, which made it significantly easy to create servers, servers were now software but the fundamentals had not changed, the components may be virtual but they were still dependencies, they were still static.
Reliability increased by "copying" the server, just like it were a piece of software and allowing it to exist as part of multiple "hardware boxes" 
In the end though this only really benefited the sysadmin, those who were responsible for the servers and infrastructure, end users or customers gained next to nothing and developers saw no benefit besides the slight decrease in provisioning time.

Now with programmable on demand stateful instance based "cloud computing" I introduce the idea of ephemeral compute, A server is no longer built to sit there and serve, it is created when its needed using software, an application needs a service, it creates a new "server" or instance to do the job, when the job is done it can destroy it.
The configuration of the server. traditionally done by the sysadmin can be completely automated by the software and provisioning tools, puppet, chef, scripts, boot strapping.

By completely automating the configuration of a server from zero to fully functional you eliminate almost all the issues of a computing environment, if something goes wrong, just destroy the service and create a new one, you need more, create more and place them in a group behind a load balancer and of course, this brings us to the concept of loose coupling.

Loose Coupling ties together with ephemeral because in a system with multiple servers or instances they need to talk to each other, however if nothing is "static" you cannot simply point one service to another, so we don't, we use a load balancer, a middle man and a dns service to never point two ephemeral systems to each other, point to the balancer, the balancer learns about any new instances (DNS and API) and passes to them, thus solving the static problem.

Together these two concepts allow complete systems to be completely disposable, to grow, to scale to shrink to self heal and to be designed for failure.
A concept that was nearly impossible in the days of hardware and component dependency

Building everything we use in cloud computing must be built on these concepts, because it allows us to build it once, build it right and know it will scale and fix itself.
Here at Skyramp we passionately believe in these fundamentals, we have no doubt this is how all things should be designed now and love the challenge of applying these concepts to new ideas and systems.
As always give us a call or contact us on the front page and we can discuss further, whether it be in our Brisbane Office or via email or phone I'm sure you will be impressed.

The Future is not cloud...

The future is not cloud.... its already cloud, the future is now.

Not a day goes by I don't read another article about how the future is coud, everything will be in the cloud etc etc..

Well I'm going to say these articles have got it all wrong because that day has come and gone and we are well past it, for the normal person now the vast majority of what they do in their digital lives (and even non digital) is already in the cloud, your musid, your applications, your emails, your messages, your files and your information.. private and personal...

This isnt even surprising, for most its just accepted.
So why are we still hearing about the future and cloud and blah blah blah...
Why? because enterprise I.T is decades behind.
Enterprise I.T is still ran under the mindset that company data is only safe behind their own digital bars, under their own digital control.
Though there are many reasons this mentality has held, most if not all areas of concern have been addressed time and time again, private I.T is being held back by the lack of true understanding of a globally connected system that utilizes all that the new age cloud stacks have to offer.

Here in Australia more so than the rest of the world, the business side of technology is lagging drastically behind that of the consumer, seamless world of interconnectivity.

I started this company because I have a passion for bringing the fluint beautiful experience that consumers have come to expect in their personal lives to the world of private technology for business.

Consumers don't have down time, performance issues, slow systems.

Neither should you.