Welcome to Canada AWS

It was great news to learn that  AWS was comming to Canada as per the AWS blog:

Hello, Canada
I am happy to announce that we will be opening an AWS region in Montreal, Québec, Canada in the coming year. This region will be carbon-neutral and powered almost entirely by clean, renewable hydro power.

The planned Canada-Montreal region will give AWS partners and customers the ability to run their workloads and store their data in Canada. As a reminder, we currently have 4 other regions in North America—US East (Northern Virginia), US West (Northern California), US West (Oregon), and AWS GovCloud (US)—with a total of 13 Availability Zones, plus the planned but not yet operational region coming to Ohio in 2016.

Today’s announcement means that our global infrastructure now comprises 32 Availability Zones across 12 geographic regions worldwide, with another 5 AWS regions (and 11 Availability Zones) in Canada, China, India, Ohio, and the United Kingdom coming online throughout the next year (see the AWS Global Infrastructure page for more info).

As always, we are looking forward to serving new and existing Canadian customers and to working with partners in the area. Of course, the new region will also be open to existing AWS customers who would like to process and store data in Canada

As data residency issues continue to be a concern, this move by Amazon will help to reduce this issue.  With plans by Microsoft to have a  data centre in Canada, I am hoping that Google will also set up a data centre here as well.

TOGAF is not Enterprise Architecture

I  came across this article  from 2009 while doing some research on TOGAF. In my opinion it is still relevant today. Key points:

      • a SKILL is the ability to complete a job that is acquired over time.Sometimes a skill uses tools
      • A framework is another tool
      • A framework is not the skill or the point of the activity in the first place
      • It is a process for doing things
      • The point is to use a common process to make architecture easier and better, the goal to save time and hence save money and the skill…. Applying Architecture Methodologies.

Virtual Machines,JavaScript and Assembler- talk by Scott Hanselman.

 

Scott Hanselman gave on of the best talks,I have seen, on the Cloud  and  JavaScript at Velocity Santa Clara 2014. The talk is both informative and hilarious.

One  thing I did disagree with was Adrian Cockroft’s response to an audience member question about Netflix’s move to SSDs (around 6:30 in the talk). Mr Cockroft’s response was

That’s not my problem, I am renting them.

In my opinion you should discus business continuity and disaster recovery (BCDR) with your cloud provider.

Software Agile Development and Infrastructure Development relationship mitigation strategies

 

I have observed that the relationship between agile software development and infrastructure development requires mitigation strategies.Mitigation strategies range from applying the prime the pump agile principle to organizations creating a could environment.

The Problem

The Agile Development Lifecycle is optimize  for software projects. Consider the following definitions: 

Agile is a cyclical process, iteration based, where each iteration is like a miniature waterfall process software project including all of the tasks (or phases) necessary to release the mini-increment of new functionality, i.e. planning, requirements analysis, design, coding/engineering, testing, documentation, releasing. While not always the case, an agile methodology used for a software project intends to be capable of releasing new software at the end of each iteration.

Scrum defines a project management framework in which development activities of requirements gathering, design and programming take place. The development period typically a two-week to one-month iteration called a Sprint. The framework has three components: pre-sprint, sprint, and post-sprint. The focal point is the iteration Sprint, in which working software gets developed.

(source:IASA )

Software needs infrastructure to exist;however  building new infrastructure for an agile software  project will face logistical issues. Changing requirements,not enough up front requirements or just in time practices goes against the stability mindset of an infrastructure team.

 

image

How can we mitigate the relationship between an agile team and an Infrastructure team ?

Solutions

  • Prime the pump

The Prime the pump agile principle requires that  you look at the feature list of future iterations. This looking ahead will help lay the foundation for up coming iterations,so developers can hit the ground running when the actual iteration has started.  Infrastructure teams can use the prime the pump to observe upcoming  infrastructure implications and start planning. This principle also forces early and constant communication with between the the software team

  • Pre-Sprint Story Review

In the blog post  Placing Architecture Properly into Scrum Processes Nick Malik proposed the Pre-Sprint Story review:

This is a meeting that occurs one week prior to the start of a sprint.  It is called by the product owner and he or she invites “senior chickens” (architects, user experience leads, development and test leads, and any other “non-team” members that want a say in the sprint). 

In that week prior to sprint planning, those folks, working with the product owner, can improve the stories, add constraints, refine the description and acceptance criteria.  And here’s where the architects get to play.  Architects fulfilling the role of “Balancing” in the model above will have (or can create) an outline document describing the architecture of the software system, and can “link” that document to the SPECIFIC STORIES that are impacted by that design. 

(Source: Nick Malik)

https://i1.wp.com/blogs.msdn.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-39-54-metablogapi/7774.image_5F00_36A52905.png

(Source: Nick Malik)

Infrastructure teams should also be part of the this Pre-Sprint story review to discuss infrastructure implications. Just like the prime the pump principle, infrastructure teams can make plans for infrastructure changes.

Organizations that have decided to pursue the agile software development path should consider a DevOps strategy. The goals of DevOps  include:

      • Improve the relationship between software and infrastructure teams
      • Help an organization produce software products and services rapidly.
      • Use of tools (e.g Chef and Puppet) to automate infrastructure tasks.

 

  • Cloud environment

   What I have observed is that agile software development teams sometimes do not have concrete infrastructure requirements,especially in the early stages of the project. Organizations should consider adopting a cloud environment model – the agile software team purchases the infrastructure they think they will need.

Improving architecture craftsmanship–Architectural Katas

How often do get to we  practice  being architects ? Most of the time we get to practice when on a project. Just like an athlete needs to practice prior to a big  event, architects should get chance  to practice being  architects. This is the premise for  Ted  Neward’s  Architectural Katas

 

image

Similar to Dave Thomas’ “Code Kata”,  Ted Neward has introduced the concept of  Architectural Katas – a method to improve architecture craftsmanship.  A description of the concept and rules for having a kata is described on Ted Neward’s website.  There  are katas on the website you can use to practice.

On the website  architecture katas are intended as a small group of 3-5 people. In my opinion  a group will have a mixture of the architecture disciplines – software,infrastructure,information,etc.

Virtually attending tech conferences

I do not get a chance to physically attend tech conferences;however there are various tools I use to virtually  attend and keep abreast of  tech conferences:

  • Lanyrd is an app  that I  use to keep track for  upcoming tech conferences. It is free for IOS. It interfaces with slideshare.net so you can view  slides of some conferences
  • Twitter allows me to follow live tweets of  tech conferences.
  • I  watch the live feed of some of the tech conferences e.g  e.g Google I/O  and WDC
  • Some of the tech conferences provide  on demand access to content. For example I am catching up on content from  the Software Architect 2013 conference.

I know nothing beats physically attending a tech conference;however with tools like twitter and Lanyrd you have the next best thing.