Netflix open sources their continuous delivery platform, spinnaker

Netflix recently announced the open source release of their new continuous delivery platform.

For those of who have way too much spent time trying to piecemeal jenkins jobs together, this is certainly worth a look.
“Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.

It provides two core sets of features: cluster management and deployment management”

It is a drop in replacement for their (now legacy?) Asgard platform.

A note about their deployment pipeline:

Pipeline: Pipelines are the key deployment management construct in Spinnaker. They are defined by a sequence of stages, along with automated triggers (optional) that kick off the pipeline, parameters that get passed to all stages in the pipeline, and can be configured to issue notifications as the pipeline executes.

  • Automatic triggers can be a Jenkins job, a CRON schedule, or another pipeline. You can also manually start a pipeline. Notifications can be sent out to email, SMS or HipChat on pipeline start/complete/fail.”

More info about spinnaker can be found at:

http://spinnaker.io/




How to get back your git commits after somebody ate them

You do a git pull and you find that someone has undone all the changes you’ve made today. To restore your commits, you’ll need to create a branch, checkout your commit you want to restore, and merge your branch into master (or whatever branch you want to restore to).

git checkout -b newBranch
git checkout 459a100 .
git diff --name-only master
git add .
git status
git commit -m 'restore commits after funky merge'
git checkout master
git pull
git merge newBranch

Hopefully there will be no merge conflicts. If so, you’ll need to sort those out before you can push. Also, some people will tell you rebase instead. However, this works for me. YMMV.




AWS Certified Solutions Architect - Professional exam preparation

This post, AWS Professional Solution Architect Certification Tips,  is one of the best I’ve read so far regarding preparing for the AWS Solution Architect – Professional exam. I have prepared a basic study guide for myself, which is by no means exhaustive.

1 Domain 1.0: High Availability and Business Continuity

1.1 Demonstrate ability to architect the appropriate level of availability based on stakeholder requirements

1.2 Demonstrate ability to implement DR for systems based on RPO and RTO

1.3 Determine appropriate use of multi-Availability Zones vs. multi-Region architectures

1.4 Demonstrate ability to implement self-healing capabilities
Content may include the following: High Availability vs. Fault Tolerance

2 Domain 2.0: Costing

2.1 Demonstrate ability to make architectural decisions that minimize and optimize infrastructure cost

2.2 Apply the appropriate AWS account and billing set-up options based on scenario

2.3 Ability to compare and contrast the cost implications of different architectures

3 Domain 3.0: Deployment Management

3.1 Ability to manage the lifecycle of an application on AWS

3.2 Demonstrate ability to implement the right architecture for development, testing, and staging
environments

3.3 Position and select most appropriate AWS deployment mechanism based on scenario

 

4 Domain 4.0: Network Design for a complex large scale deployment

4.1 Demonstrate ability to design and implement networking features of AWS

4.2 Demonstrate ability to design and implement connectivity features of AWS

5 Domain 5.0: Data Storage for a complex large scale deployment

5.1 Demonstrate ability to make architectural trade off decisions involving storage options

5.2 Demonstrate ability to make architectural trade off decisions involving database options

5.3 Demonstrate ability to implement the most appropriate data storage architecture

5.4 Determine use of synchronous versus asynchronous replication

6 Domain 6.0: Security

6.1 Design information security management systems and compliance controls

6.2 Design security controls with the AWS shared responsibility model and global infrastructure

6.3 Design identity and access management controls

6.4 Design protection of Data at Rest controls

6.5 Design protection of Data in Flight and Network Perimeter controls

7 Domain 7.0: Scalability and Elasticity

7.1 Demonstrate the ability to design a loosely coupled system

7.2 Demonstrate ability to implement the most appropriate front-end scaling architecture

7.3 Demonstrate ability to implement the most appropriate middle-tier scaling architecture

7.4 Demonstrate ability to implement the most appropriate data storage scaling architecture

7.5 Determine trade-offs between vertical and horizontal scaling

8 Domain 8.0: Cloud Migration and Hybrid Architecture

8.1 Plan and execute for applications migrations

8.2 Demonstrate ability to design hybrid cloud architectures