Architect are requested to create the operation model to represent the infrastructure that will support the application.
Now, the question is: With pattern oriented solutions, does an architect still have to create an operational model or is the architect still need to be part of a project once it comes the time of the infrastructure design? Should all infrastructure architect need to be assign to other tasks? Do we still need operation model as we have patterns ready for different types of workload (ie: webapp, database, Java…). See all existing pattern for the IBM Workload Deployer solution at the PureSystems Center.
Scary question for some of us!
My feeling is yes, infrastruture architect will still be needed at this stage and here some of the reasons (not exaustive) but first I would like to make a different between a pattern and a pattern-type.
A pattern-type contains a number of components, links between these components and rules that can be applied to the components. For example, we could create a pattern-type for a LAMP solution and have a pattern-type containing an Apache Server which can be link to an MSSQL database but the pattern-type could have also a DB2 server and provide all necessary automation to link the Apache server to the DB2 instead of the MS-SQL. So the pattern-type is like a tool box you will use to build/design a pattern.
As said, a pattern is a topology designed based on the tool box provided by the pattern-type. The pattern is more or less like a template which represent the topology you would like to deploy.
Now, as always, pattern needs to be validated and here comes the IT Architect. The architect will review the provided template and check if it matches the application requirements. If not, the architect will have to adapt the pattern with the tools provided by the pattern-type by adding new components (e.i.: an LDAP component).
It is like when you buy an ERP environment, the default functionality doesn’t match necessarily your requirements and you will have to adapt/enhance the ERP capability to match your business.
Pattern (template) are customizable with parameters, so the architect will have to find out the right parameters and policies, for example what is the best heap size for this application, which scaling policy must be applied (based on CPU usage, Response time or any other home-made metric).
It is possible also that the pattern-type doesn’t contains all tools you need to fulfill your requirements and thus the pattern-type will need to be enhanced and once again the architect will find his role here.
May be no pattern-type exists for your type of landscape and here it is an opportunity for IT Architect and Subject Matter Expert to design a new pattern-type which encompass the best practice and provide the tooling to design a pattern in there domain and this can go up to selling there pattern-type to other company.
No, the IT Architect profession is not in danger by pattern enabled infrastructure design arrives on the market. On the contrary, it is a chance for IT Architect to leverage on best practices, validate and adapt the patterns and potentially create new pattern-type. It is also an opportunity for company to create a new business by providing new pattern-type based on their own domain of expertise to customers.
Hi Dominique, great article. I fully agree that the role as architect will still remain a valid one in the age of cloud computing and infrastructure patterns. I actually think that the role is becoming more essential as organization IT landscapes get more complex and dispersed across multiple IT and cloud service providers. And all this complexity needs to be understood, designed and managed, by architects.
And actually patterns have been around since 1994, so so 18 years already, started by “The Gang of Four” software developers. And software development has changed slowly but gradually since, but software developers are still needed. Patterns however shift the focus of the people using them from doing commodity activities to reusing existing and proven patterns, leaving more time for the stuff that really matters like functionality.
A lot of application programming frameworks now exist that allow programmers to use the “wheels already invented” to focus on unique functions, think of Rails, Visual Studio and Eclips. I think infrastructure will slowly but gradually follow.