pets vs cattle

You've got a great application and users are finding it useful. Word is spreading, you need to scale to expand to keep up with demand.

I wrote about this choice in the article Scale UP or Scale OUT?

A metaphor attributed to Randy@Microsoft (link below) known as Cattle vs Pets, helps clarify the choice.

PET computer PET computer

 

Pets


When you name your server like troy, stella, kryten, etc.
They are unique, loved and cared for.
When they become ill, they are nursed back to health and you hope they will stay well for a long time.
You couldn't possibly imagine getting rid of or decommissioning the server.

 

Numbered cattle A numbered cow

Cattle


They are name more like a number - S02343. They are pretty much identical to the others, when they get ill, you just get another one. As the server is so easily replace, you wouldn't think twice about removing any you don't need, at night for instance.

 
 

Our solution is to give you a way of creating servers, automatically and on demand. How ever many you need. With the confidence of being able to create a server whenever you want, it's easy to decommission they when not needed. This allows your business to follow the demand curve with the supply of servers meeting that demand. This allows you to pay for the servers, when they are needed, and save money when they are not. In the example below, traditionally 2 servers would be on all day. Imagine the cost savings if you have one server on all day, and only pay for the extra server during the peak working hours. Saving 2/3 cost of a server, every single day.

[caption id="" align="aligncenter" width="638"]Elastic Capacity meets demand Elastic Capacity meets demand[/caption]

For an informal chat with one of our cloud specialists, contact us.
Ref:
Randy's slideshow

(Read more...)

what is cloud computing?

Cloud computing is a metaphor to describe the way shared services are accessed over the internet.

From the user perspective, the specifics of each component of a service are not visible as if obscured by a cloud.

cloud computing metaphor cloud computing metaphor

 

The term however has origins in the 1960s where the server you performed work on would be remote from your terminal and you shared the resources and time with other users. The first multi user systems.

A leap to the 1990s, when computer owners were used to storing their information on their own computer, starting on floppy disks and then later hard drives.

By the time we get to 2000s, the internet has become the network to link all the things, which gives global choices to share central resources again. Amazon launched EC2 (Elastic Compute Cloud) in 2006 which allowed access to powerful hardware to anyone with a credit card.

Gartner defines cloud computing as a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service using Internet technologies.

Wikipedia breaks this down into the following capabilities:

  • Agile - provide user flexibility with re-provisioning, adding or expanding infrastructure resources
  • Cost - public cloud model converts capital expenditure (on off and up front) to operational expenditure. This lowers barrier to entry as well as allowing an on-demand billing model.
  • Device and location independence - As the infrastructure is off-site and access via the Internet, users can connect to it from anywhere.
  • Maintenance - Cloud computing applications are centrally maintained.
  • Multitenancy - Enables sharing of resources among multiple clients, further sharing costs.
  • Performance - monitoring by IT experts and using the model of loosely coupled architecture can improve workload balance and performance to the user.
  • Reliability - Multiple redundant sites give the choice without the cost, suitable for business continuity and disaster recovery.
  • Scalability and elasticity - on demand workloads without needing to order parts and waiting for engineers to fit them.
  • Security - can improve due to centralisation of data, but concerns can persist about loss of control over sensitive data. Private clouds can overcome this.

In the cloud computing space, 5 service models have appeared.

  • Infrastructure as a Service (IaaS) - providing virtual machines and the infrastructure required such as disk-image libraries, block storage, firewalls, load balancers and networks.
  • Platform as a Service (PaaS) - These provide further abstraction from the servers themselves and often allow deployment of specific applications, allowing you to focus on application delivery without the maintenance of servers and other infrastructure.
  • Software as a Service (SaaS) - Top level of abstraction where as a user you gain access to an application. SaaS is sometime referred to as "on-demand software" and is usually priced on a pay-per-use basis.
  • Mobile "backend" as a service (MBaaS) - Specific services and platforms useful for mobile application developers. Provides application programming interfaces (APIs) where services include user management, push notifications and integration with social network services.
  • Serverless computing or Function as a Service - an execution only model for code. This despite the name, does have servers, however the provider looks after the maintenance, starting and stopping to enable requests to be served. Billing is usually based on number and time for each request.

Many enterprise organisations are adopting public cloud services, however due to migration and/or security are running a 'hybrid' cloud, where some of the services are hosting publicly and some are hosted On premise, Internal or even Private Cloud.

What is right for your business depends very much on where you are and what you want to achieve. Should you want to discuss further, please contact us or join us on Slack

(Read more...)

Will automation cost me my job?

One of the biggest concerns I hear from staff at the companies we're helping is, Will I have a job if everything is automated?

This question was also asked on stackexchange.

The biggest assumption and probably the cause of the question, is the short term nature that many people see the world.
I have found that experience and time grows the horizon which you see and as your viewpoint lifts, you can see further into the future. Starting with days, then weeks and months.

In the answers referenced above are references to assumptions about what is happening now and what could be in the pipeline of work to do. If you are aware of the vision for the organisation, then it is unlikely this question will show up.

Growing organisations are always moving forward, improving processes and this includes automation. If you have the skills to grow and improve the business, then you are exactly the sort of person the business will want to hang on to.

(Read more...)

rs_tag for RightScale RL10

TLDR; rs_tag that works on Rightlink 10 agents.

As a DevOps guy that has to deal with AMIs (Amazon Machine Images) not under my control, this creates a few issues where we might be tempted to bake in tools.

One of our clients uses rightscale for infrastructure management and auditing and so one of these tools we use is the rightlink 6 agent. No problem, the provisioning workflow installs it when it creates a server, not an issue unless you loose a server (autoscaling or it just dies) and there is no workflow to install the agent.

Fortunately there is a solution, I've been testing the install 'on boot' of Rightlink 10, however this has some breaking changes.
The biggest is the missing tool RS_TAG, as a lot of the provisioning and automation scripts rely on this to get configuration information about the server.

The rightlink 10 (RL10) agent does come with a RightScale Client (RSC) that can help, but would require rewriting all the scripts. Some of the scripts need to be updated in any case, as the agent no longer executes as root.

I have written a RL10 RS_TAG that works on servers with the rightlink 10 agent installed as a drop in replacement.The only feature not implemented as of v0.1 is the --query function.

I chose to write this in GO as the RSC comes with a library in Golang. It also allows the binary to be statically linked, like the Rightscale Agent. This means no software dependencies are required on the server (other than the RightScale agent of course). Very handy when you're about to build and configure the server in your favourite tool such as Puppet or ansible.

Let me know if it is of use to you.

(Read more...)

AWS User Group North Sept 2016

I attended the AWS User Group North meet yesterday at Zen Internet. What a fabulous day. A change to the usual evening format, we met up during the day.

This gave more time for talks and we were treated to two AWS guys and a few lightening talks.

Network Innovation at Scale - Colin Whittaker (Principal Network Engineer, AWS)


Colin showed us how the network that supports the Amazon Web Services structure has grown exponentially and described a few of the solutions to stay ahead of the demand. The hardware unit in the Datacenters is a prepopulated rack, with the hardware guys deploying a working rack, from arrival at the door to becoming available for customers in 2 hours. Colin also mentioned some of the challenges of moving a massive amount of network data at scale, with miles of fiber optic cables and Enhanced networking requiring custom network cards.

Lightning Talks

  Lambda, Good for the little things - Carl Simpson (Technical Architect, Zen Internet)

In the 1st talk about Lambda, Carl helped us understand how this service from AWS can help with small tasks, such as EBS volume backups and other housekeeping tasks.

  Having a Bash at AWS Management - Michael Pearce (Co-operatives UK)

Michael shared his journey learning about the AWS command line tools and showed us a working example of managing EBS snapshots in a rotation using these tools.

  Five AWS features that shouldn't exist - Sam Bashton (Director, Bashton / Claranet)

Sam shared his opinion with us about some of the anti best practices that shouldn't be there but are available to AWS customers. He used the pets and cattle metaphor to show that you shouldn't use the console (script everything) for stopping instances, creating images or enabling auto recovery. In short don't use the console, use code, such as CloudFormation or Terraform.

"Mummy, where are the servers?" - Ian Harris (Cloud Consultant, BJSS)


Continuing the theme of Lambda, Ian showed us how a competition entry workflow was hosted mostly on Lambda with Js scripts and even running ClamAV in a Lambda container. A short description of how there are actually servers, however they are containerized and patched by AWS. This solution used POST to S3, Lambda events and API gateway to enable the submission of files and a form. Some security considerations were also mentioned so check your IAM policies.

AWS Update - Danilo Poccia (Technical Evangelist, AWS)


Danilo rounded off the day sharing the latest announcements from AWS, including HTTP/2 support, Application Load Balancing, Elastic File System and Aurora read ahead.

 

(Read more...)