DevOps represents a way of delivering better solutions to a higher quality in a more repeatable way and with greater governance. It’s a cultural approach that places a heavy emphasis on collaboration, and AWS provides a suite of best-in-breed services to facilitate that approach.
Despite best intentions, manual deployment of the latest version of your killer application is a risky approach – a slip of the finger or omission of a crucial step in the run-sheet can lead to embarrassing downtime. AWS provides the AWS CodePipeline service to automatically orchestrate your deployment process. Adopting a modular approach, AWS CodePipeline provides the means to generate complex pipelines comprising not only AWS CodeBuild and AWS CodeDeploy stages, managed services for building and deploying applications respectively, but also allows integration with many popular third-party build and deployment tools that you may already be using.
Platform As A Service
If you’re spending too much time managing the details of your platform and infrastructure, and not enough time iterating on your application, you may want to give AWS Elastic Beanstalk a try. This service allows you to standardise and package your platform together with your application into a stack that can be updated easily once the next feature is greenlit. Alternatively, if you’re a fan of Docker, you can take advantage of Amazon EC2 Container Service to launch your customised containers onto a scalable cluster within your own VPC. You can even host your own private container image repository. If you’re just after an alternative to Chef or Puppet, you can delve into AWS OpsWorks, the AWS answer to server and application management, which can help bridge the automation gap between your legacy on-premise systems and your cloud-based instances.
You might have the greatest tool-chain and most rock-solid deployment system on the planet, but if something goes wrong, you need to know about it. AWS CloudWatch can provide current and historical measurement of core metrics for many AWS services, and can be used to trigger notifications or corrective actions based on custom thresholds. If you’re after a centralised logging solution, then AWS CloudWatch Logs might be for you. As well as native hooks for standard system and event logs, you can install the agent on your instances and deliver your own application logs to the same place. You can even interface directly with Splunk or SumoLogic to dig deeper into your data. The Amazon Elasticsearch Service bundles the core components of the popular ELK stack into a fully managed service, leaving you to visualise and customise your data without the heavy lifting.
Infrastructure As Code Frameworks
AWS CloudFormation is king here, and remains one of our most widely-utilised AWS services. AWS CloudFormation enables every one of your AWS resources to be described in a JSON or YAML template file. This means you can store and version your infrastructure in code repositories, and deploy and update stacks of related components in a highly repeatable manner. We love AWS CloudFormation, and have built up an extensive collection of best-practice patterns ready to respond to the most commonly encountered problems.
We understand that standing still in the fast-paced world of application development allows your competitors to streak past you. Fewer situations are more frustrating than having that world-beating feature ready to go, but having to battle against your tool-chain before you can get it in front of your clients. We’ve helped customers adopt a DevOps approach to minimise the barriers to deployment, and to enable more rapid pace of iteration and release, often with zero manual interference.
We like our beer to be hand-crafted, but not our production deployments. Manual operations are prone to error and take a long time – much better to let a machine do the work for us. Our solutions rely on automation at every possible level, and the first thought we have when approaching a problem is “How can we automate this?” We provide the answer in the form of code and infrastructure automation tools galore.
Being fastest, however, does not always mean being best. You need assurance that your solution is fit for purpose and won’t leave you red-faced if it blue-screens. We’ve leveraged AWS services to run the ruler over releases before they make it out the door, ensuring that unit tests are all passed before heavyweight testing suites are let loose on the latest code. Fewer bugs, happier users.
Gain Competitive Advantage
You’ve put in the hours, and your vision has been realised, but you need to get your product out there where the rest of the world can use it. Our approach significantly reduces time to market by architecting your pipelines and platforms using fundamental DevOps principles from the start. We want to make launch day as smooth as possible, and make sure that every subsequent new feature is delivered with the minimum hassle and to the highest quality.