DevOps Playground #23: Hands-on with AWS Serverless

DevOps Playground #23: Hands-on with AWS Serverless

No comments

In most IT departments you usually have an individual who’s responsibility it is to manage the servers. When your software or website has a particularly high load they can rearchitect the site to manage it.

“In essence, “serverless” is a computing model where the existence of servers is hidden. So you don’t need to worry about servers at all. All you have to worry about is  the function and programming.” – Sunil Tailor

Serverless computing is a cloud-computing execution model in which the cloud provider acts as the server, dynamically managing the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity.[1] It is a form of utility computing.In this DevOps playground, Sunil will be getting hands on with AWS’s serverless technology.

Interested in attending our next DevOps Playground events. Follow us on Meetup to receive a notification about the next event

Sunil TailorDevOps Playground #23: Hands-on with AWS Serverless
read more
DevOps Playground #19 – AWS CloudFormation

DevOps Playground #19 – AWS CloudFormation

No comments

The 19th DevOps Playground took place at the ECS Digital office’s in Bermondsey Street. The topic was AWS CloudFormation with a focus on Infrastructure as Code (IaC). This was my second DevOps Playground, last year I ran a meet-up showing off Serverless with AWS Lambda, available here.

The playground was composed of a number of sections, with an introduction to Infrastructure as Code, with labs to create S3 bucket to launching an EC2 instance and managing security groups. The idea behind this DevOps Playground was to introduce the basic fundamentals with enough hints for further deep dive studies people could make on their own, using the templates and links mentioned in the labs.

There was a special mention of what’s coming next in the CloudFormation in the form of Configuration Drift, which was mentioned and previewed at Re:Invent 2017.

DevOps Playground 19

Some of the keytake aways from this DevOps Playground were:

  • CloudFormation Fundamentals
  • Service Roles
  • Creating & Updating Stacks
  • Using Change Sets
  • Launching EC2 instances with bootstrap scripts
  • Creating and Updating Security Groups

The feedback from the meet-up was very positive throughout the evening, ending with pizza, beer and networking. Overall, another successful DevOps Playground where everyone present had a good time, and hopefully learned something new.

We are looking forward to seeing everyone again at our next meet-up: Hands on with Kubernetes and Jenkins.

Interested in attending one of our DevOps Playground events? Follow up on Meetup to receive a notification about the next event – Join us!

Sunil TailorDevOps Playground #19 – AWS CloudFormation
read more
AWS Serverless Computing

AWS Serverless Computing

No comments

Serverless refers to a computing model where the existence of servers is hidden from developers. Within AWS’s eco-system “Lambda” (a compute service based on event programming model where you can execute code for a maximum of 5 minutes at a time) is one such offering.

Lambda is not the only serverless service AWS offers, however it will be one of the services you use to architect a serverless offering. Below is a list of additional serverless offerings from AWS and by no means complete.

  • Storage – S3
  • Compute – Lambda
  • Database – DynamoDB, ElasticCache
  • API Proxy – API Gateway
  • Analytics – AWS Kinesis
  • Messaging & Queues – AWS SNS, SQS
  • State Management – AWS Step Functions
  • Diagnostics – AWS X-Ray

Using serverless technologies enable businesses to focus on business objectives and not concern themselves with operational issues while reducing costs. Using this technology as an enabler of business while reducing the costs in terms of time, resources and operational costs, are compelling reasons to look towards architecting a serverless solution. Developers need not concern themselves with operating systems, provisioning servers, nothing to manage there. It is not that there are no servers involved when taking a serverless approach it’s, just not your concern. You still need to think about backup and there are operational elements to think about but running and availability of server(s) has now been off loaded to Amazon.

AWS clients pay for 100 milliseconds of code execution and get continuous scaling, with AWS free tier offering, you get 1 million requests per month and 400,00 GB-seconds per month. It’s possible to have production solutions where some use cases have no cost due to design and usage on Lambda service. Free tier is not provided with every serverless offering and you should conduct your own research for your own specific goals.

Serverless offers benefits to organisations in terms of:

  • Reduced operational cost
  • No more over capacity issues
  • Continuous scaling
  • You don’t pay for idle time
  • Consistent reliability and availability
  • No load balancing, no security patches
  • Easier operational management
  • Greener computing – only pay for what you use
  • Quicker to market – focus on development and services
  • Improved latency and geolocation

An interesting point I have found during my serverless research is uses cases, here are some that I have found but, this is by no means an exhaustive list:

  • Static web site hosting – S3 is capable of hosting a website, when used in conjunction with Lambda you can add dynamic functionality to the site.
  • Log analysis on the fly – Lambda and other AWS services sends log           entries LogStream CloudWatch its perfectly reasonable to fire a CloudWatch log event to watch for particular events occurring within logs
  • Automated backups and everyday tasks – It’s possible to schedule an event which creates snapshots and clean them up for you on EC2 EBS volumes.
  • Processing uploaded S3 objects – Useful technique for generating thumbnail images
  • Filtering and transforming data on the fly – Also known as ETL within the database world.
  • Real-time data processing – Collect and process records in real-time.

N-tier Architecture

N-tier application design, where data applications are separated into multiple tiers. A typical n-tier application includes, presentation tier, data access tier, logical tier and data storage tier. Each having its own clear separation. With serverless you can still architect a n-tier style solution the diagram below shows how a typical transformation might look like using a serverless approach.

Learning Curve for Severless 

The learning curve in practice is not steep, recently ECS Digital held a DevOps Playground lab session where we created a static website and added dynamic functionality to the website via Lambda and form processing capabilities. There are many online courses on udemy, acloud.guru and tutorials on AWS website should you wish to look further into the topic.

Do get in touch if you’re interested in discussing what’s involved in our DevOps Maturity Assessment or if you have any questions for us. We’d love the chance to discuss how we can help you in your adoption of DevOps. 

 

Sunil TailorAWS Serverless Computing
read more
All Hands on DevOps #6

All Hands on DevOps #6

No comments

Last Thursday, we hosted our first All Hands on DevOps meetup of 2017 (our 6th so far!). It was great to see the successful turnouts of last year continue, with another fantastic group of attendees.

As it’s best to always start the year as you mean to go on, we aimed high (literally) with our kick-off venue – the impressive Puppet offices, located on the 13th floor of Aldgate tower.

Upon arrival at the office, we were greeted not only by our partner colleagues from Puppet, but also, by a welcome selection of drinks for the evening.

On to the real business of the meetup: We began with two engaging speakers from Elsevier, Iain Gray and James Rasell, discussing ‘Taming the chaos through Automation’, and finished with a Q&A session on the 2016 State of Devops report with Russ Parsloe and John Boero from Puppet.

For those who were unable to join us, and those who may want a refresher, below is quick summary of what was covered in the evening.

 

Taming the chaos though Automation:

This began with Iain Gray, Cloud hosting infrastructure and operations manager for Elsevier, giving a short intro on the challenges they, as a company, face with having 40 independent development teams, each with 2-3 AWS accounts, and each account with between 1 and 6 VPC’s.

In summary, they have 90 AWS accounts and 300 VPCS, all managed by a single person – our other speaker for the evening – James Rasell… something Iain hinted James deserved a pay rise for!

Their goal behind this way of working was to reduce the barrier of entry, have various development teams owning their infrastructure, and simply having infrastructure governed through technology. The approach, governed by a DevOps philosophy, places ops engineers within development teams and has them take responsibility for operational maturity and usage of platforms. They can then provide a consultation service to the users of their tools and give regular advice on best practice methods.They ended up with about a team of 20 people for ops.

 

Why Terraform?

James then picked up where Iain left off and described how they had initially gone through a proof of concept phase and rejected AWS CloudFormation for a number of reasons, but mainly as it did not meet their cloud provider agnostic requirement. They decided upon Terraform, which is a cloud provider agnostic, and also allowed them to store their code in version control and have a low barrier to entry.

Their highly modular design approach focused on creating core modules and having them tested by teams. By using semantic visioning and maturity ratings, each module was responsible for building all the necessary functions it needed to run itself. The modules would then have full README’s and change logs. Using DRY principles, (a software development principle, aimed at reducing repetition of information of all kinds) to achieve their modular approach, and using Jenkins Terraform plugin.

 

Q&A:

The evening then concluded with a Q&A session on the 2016 State of Devops, led by Russ Parsloe, Technical Solutions Engineer, and John Boero, Senior Technical Solutions Engineer from Puppet.

And while we can’t cover every question raised, one of the most interesting points was on the number of DevOps teams increasing from 19% in 2015 to 22% in 2016, something that is covered in greater detail in Puppet’s 2016 State of DevOps report.

 

As you can see, the evening covered some really insightful and engaging topics. And as such, we’d encourage you to book your place at our next Meetup before seats fill up!

Our next All Hands on DevOps Meetup will take place on Wednesday 15th March. Register here.

 

In the meantime, we’d like to offer you the opportunity to win one of a wide selection of prizes including $500 gift cards, an iPad Pro, a ticket to DevOps Enterprise Summits in London & San Fransisco, a Phillips Hue starter kit and more.

For a chance to win, and to view the full list of prizes on offer, simply complete the Puppet ‘2017 State of DevOps report’ survey before the 10th of February 2017.

Sunil TailorAll Hands on DevOps #6
read more