AWS advent has started! day 4

Today and a new article, this time about lambda with Python.

 

https://www.awsadvent.com/2016/12/04/exploring-concurrency-in-python-aws/

(Read more...)

AWS key announcements

Customer-centric mission. Control in the hands of the customer. Deliver the best service to the customers. To You.
0. Protect customers at all time (Security)
1.Listen closely to customers and act
2.Give customers choice
3.Work backwards from the customer
4.Help customers transform

Amazon Web Services have and do this. That is why they offer well over 1000 services. Removing pain points and giving the choice of how you want to build the products and services you want to build. From primitives with Compute, Memory and Disk, to advanced services for you to choice made up from these primitives RDS, ECS and Lambda. This gives you the choice so you don't have to worry about managing the detail.

Software changes rapidly with agility gives the systems to rapidly deploy code in a reliable way. Scaling and deploying with 99.999% uptime is a reality. By using the components and removing points of failure and planned rapid deployments every day, will allow your business and software platform to grow daily and even hourly.

Development, Data and Compute

Develop, test and operations

Reduce risk; Smaller, targeted application; deliver faster; Reactive to customer needs; More experimental.

Development and testing is where agility is: Unconstrained access to resources; testing with higher fidelity; Faster to market; Major productivity improvement; Significant cost improvements

Well-Architected Framework

Security; Reliability;Performance efficiency;Cost optimisation;Operational excellence (Prepare->Operated->Respond)

Security and Reliability will be improved by Automation

Prepare

CloudFormation or Infrastructure as Code. Defining your infrastructure environments in code provides consistent secure and reliable systems to develop and run production systems on.
OpsWorks is a managed Chef service.
EC2 Systems Manager. Collection of tools to install and patch packages.

Operate

AWS CodeBuild - per minute billing for CI/CD build environments. Provide Docker images as a basis for your build machine.

Respond

Personal Health Dashboard - A personalised view of performance and availability of the AWS services you are using.

 

Even more services added to Amazon Web Services.

Stay tuned for more

(Read more...)

AWS advent, day 1

Continuous integration has been used for years amongst the software developers out there. With the rise of Infrastructure as code, we Devops infrastructure types can also use the design, code, test, deploy pattern.

 

https://www.awsadvent.com/2016/12/01/deploy-your-aws-infrastructure-continuously/

 

(Read more...)

puppet types and providers

Puppet


After becoming very inspired following Martin Alfke's "Moving From Exec to Types and Providers" talk at Puppet camp London, I feel the need to share the love that is Types and Providers.

What are types and providers?


These are the building blocks of Puppet, written in Ruby that give us the Resource types in our classes, such as File or User.

If you don't mind 'fun' language, then Gary's post Fun with Providers here will help explain things better than I can here.

Why now?


I'm currently working on a scalable and resilient Mongodb replication cluster and have this long bash script triggered by an Exec. This is bad, not only because exec statements are a sign that technical debt is building, but the audit entries from Puppet are sparse.

My team will be working on getting up to speed with types and providers to create a much better Mongodb puppet module experience.

All going well, this code may find its way into the puppetlabs mongodb module.

(Read more...)

Architects and designers

Why do you need an architect or designer on your software project?


Writing reusable code is the heart of the DRY principle. However it is important to reuse the correct code.

A picture, as they say

plug animation

Technical Debt and Dependency hell can quickly create big issues and slow a project to a crawl. This can be avoided if a great architect and design steps are involved before the project starts. Often refactoring code will be required to make modules or functions loosely coupled and less dependent on each other.

Even within a Scrum and Agile framework, it is better to have a clear view of the end result and understand how the new 'thing', will interface with the existing 'stuff'.

 

(Read more...)