|By Tad Anderson||
|September 6, 2012 05:45 AM EDT||
I have been doing Software Architecture for 16 years and Enterprise Architecture for the past few. Along with architecture I usually find as part of each gig, if not the main focus of each gig, process implementation or at least process improvement is required.
It is not easy keeping up the latest technologies, processes, architectural techniques, and enterprise architecture framework improvements. I am a firm believer that to be an architect, you must also be an experienced developer. I do not believe in the hands off architect role and wish the Ivory Tower Architects would stop claiming to be Architects. They are theorist not architects. Modeling, Governance, and documenting are part of the architect's job, but in order to produce valuable artifacts you need to be getting your hands dirty.
I also run into a ton of Googler-Developers. Meaning they have no idea why they are using the code they are using, they just know someone else posted it so it must work. Google has been one of the biggest assets and one of the biggest downfalls for the development community. Proof of concepts are one of the most important parts of the architecture process, and Google has made it easy for developers and architects to shortcut the learning and thinking part of the process.
Back in 1994 when I started my own business I decided I would at a minimum invest 10% of my income back into my education. Over the years that has gone into tons of books, MSDN licenses, other software, and of course equipment.
Now more than ever an architect needs a lot of assets to keep up. I currently carry 5-6 books I am reading with me and 2 laptops to work every day. A shot of my home office is below.
Click for larger view
On the next page are the tools I am currently using to stay current. My hope is that it helps others heading into software development or software architecture understand what it takes to stay current.
Equipment and Environments
|I have four laptops, a windows home server, and a desktop I use at home. The MacBook Pro has 16GB of RAM and a 512GB SSD hard drive. The Alienware has 32GB of RAM and a 750GB 7200RPM hard drive. The Toshiba has a 64GB SSD and a 500GB hard drive.
On the MacBook I program in Xcode and I am running Windows 8 (which by the way is the best place to run it) in Parallels Desktop 8 for Mac. I use Visual Studio 2012 and SQL Server 2012 on Windows 8 instance.
On the Alienware I use Visual Studio 2010 and 2012 with SQL Server 2012. I also have several virtuals built in both Windows Server 2003 and 2008 R2. I do not have any in Windows Server 2012 yet because the RTM kept bombing in VMware. I tried installing it 3 times with no luck. I also have an instance of Windows 8 set up in VMware, but rarely use it.
I have an instances of SharePoint 2003, 2007, 2010, and 2013 I use to proof of concept. I am just finishing up a big 2007 to 2010 migration and without these environments it would not be happening. The Alienware allows me to run two virtuals at the same time with plenty of power left over.
MacBook Pro with Retina Display
Toshiba Qosmio X505-Q890
|My mice are big time productivity savers. Besides the two shown here, I also own the Apple Magic Mouse. It is the best mouse made for the Mac and is by far the best mouse for Windows 8 on the Mac.
The two shown here are awesome for programming, which is all I use them for. When people see my equipment they always ask which games I play. The last game I played was Link (The Legend of Zelda) in the late 1980s.
I have both of these programmed to work with Visual Studio and they work great for building and running, stepping through code, and injecting snippets.
Logitech G600 MMO
|I use coolers on all my machines when I am running them heavy. I started using them because my main laptop that I had 4 years ago would overheat to the point of shutting down.
I use the NotePal U2 for my MacBook. What I like about it is it has 2 fans that can be repositioned and completely removed. I also use this cooler to provide additional protection for my MacBook Pro in my backpack. I put my MacBook Pro in a Thule MacBook Sleeve and then slide the Thule Sleeve into the NotePal U2. Together they provide excellent protection.
I use the ZM-NC2000 for my Alienware and Toshiba. I doubt the Alienware needs it because when its fan system kicks into to high gear it is like a jet engine starting up, but I use it anyway. Most of the time I do not need to use the fans on these. Just getting the laptops off the desk provides the cooling they need.
The External Storage
|I own several external hard drives. I use them for storage but I also use them to run virtuals off of them. I have a Western Digital WD Elements 1 TB USB 2.0 and a U32Shadow (on the right). It is a 1 TB USB 3.0. Virtuals run fine from the externals and the externals allow me to keep tons of them. I have virtuals with Windows 2000 and VB 6.0 development environments and every environment in-between up to Windows 8 and Visual Studio 2012 available.||
Developer Programs and Software
This is the first year since 2002 that I am not a MSDN subscriber. I still have one through my current job, but decided to give my personal one up. For years as a consultant I found value in having access to all the Microsoft tools and servers, but Microsoft has changed my opinion over the past two years. My attitude now is if a company wants me to develop in Visual Studio, they can provide the license from now on.
Microsoft may change my mind in the future if when they get their act together, but right now they are nothing but aggravating to me. The way I look at it is Microsoft has to be doing enough to keep me making enough to afford a license, if they aren't, then I am just throwing my money away. I felt I had been burning $5000 a year for nothing over the past 2 years and the future they are offering I have no interested in. I will learn Microsoft technologies and use it to get a check, but the techie in me has lost all passion for Microsoft.
All that being said, if you are a consultant in the world of Microsoft and you love what they are doing, your current firm should provide an MSDN as part of your contract. If they don't, I would say raise your rate so you can cover it yourself. If I ever get passionate about Microsoft technologies again and the place I am at does not give me an Ultimate license, I will purchase my own. That however won't be anytime soon.
I use the MSDN subscription to set up environments to do proof of concepts and make use of the software that comes with it. I use Expression Studio 4 Ultimate, Team Foundation Server 2012, Visual Studio 2012 Ultimate, Office 2013, and Microsoft SQL Server 2012.
You can check out your MSDN Subscription options here.
iOS Developer Program
Apple offers two real developer programs and a free Safari developer program. The Mac Developer Program allows developers to distribute their Mac apps on the Mac App Store, the iOS Developer Program allows developers to distribute their apps on the App Store and reach millions of iPad, iPhone, and iPod touch users, and the Safari Developer Program includes all the tools and resources for creating extensions that enhance and customize Safari.
I currently only belong to the iOS Developer Program. I like being able to push my apps to my devices for testing and the iOS Developer Program allows me to provision devices to do so. Since Xcode 4 is free to download, that is the only advantage I get right now. If I want to push my applications out for approval and to the store I can also do that with the license.
You can check out the developer programs at the links below.
iOS Developer Program
The Mac Developer Program
The Safari Developer Program
Software Beyond the Subscriptions
Below is some of the key software I use beyond what Apple and Microsoft provide.
SPARX System's Enterprise Architect- Enterprise Architect 9.3 is a high performance modeling, visualization and design platform based on the UML 2.4.1 standard.
Eclipse Process Framework (EPF) - The Eclipse Process Framework (EPF) aims at producing a customizable software process enginering framework, with exemplary process content and tools, supporting a broad variety of project types and development styles.
Android Development Tools (ADT) is a plugin for the Eclipse IDE- Designed to give you a powerful, integrated environment in which to build Android applications.
LINQPad- LINQPad is also a great way to learn LINQ: it comes loaded with 500 examples from the book, C# 4.0 in a Nutshell. There's no better way to experience the coolness of LINQ and functional programming.
Paint.NET- Paint.NET is free image and photo editing software for computers that run Windows.
Notepad++- Notepad++ is a free (as in "free speech" and also as in "free beer") source code editor and Notepad replacement that supports several languages.
Auslogics Disk Defrag- Compact and fast defragmenter with over 11,000,000 fans worldwide. It will improve your PC's performance by defragmenting and re-arranging files on your disk.
Parallels Desktop for Mac- Parallels Desktop for Mac is the most tested, trusted and talked-about solution for running Windows applications on your Mac.
VMware Player- VMware Player is the easiest way to run multiple operating systems at the same time on your PC.
Apple Developer Library
Although I have heard plenty of complaints about the iOS Developer Library I have only found certain information in the library. All iOS books, and I have read plenty, fall short on service communication and security. They either only mention it, or they use a third party library. I don't mind books including third party libraries, but I would prefer they include how to use the framework also. The Developer Library was the only source of any good information on service communication and security using the actual framework.
Webinars and Videos
I am not going to list all the videos I have found on the web. I am just including a few that were really beneficial.
iPad and iPhone Application Development (HD) by Paul Hegarty
Apple Developer Videos
Pluralsight Starter Subscription for MSDN
Latest Books I've Read and some Classic Must Reads
Modern Systems announced completion of a successful project with its new Rapid Program Modernization (eavRPMa"c) software. The eavRPMa"c technology architecturally transforms legacy applications, enabling faster feature development and reducing time-to-market for critical software updates. Working with Modern Systems, the University of California at Santa Barbara (UCSB) leveraged eavRPMa"c to transform its Student Information System from Software AG's Natural syntax to a modern application lev...
Mar. 28, 2015 02:00 PM EDT Reads: 798
SYS-CON Events announced today Sematext Group, Inc., a Brooklyn-based Performance Monitoring and Log Management solution provider, will exhibit at SYS-CON's DevOps Summit 2015 New York, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Sematext is a globally distributed organization that builds innovative Cloud and On Premises solutions for performance monitoring, alerting and anomaly detection (SPM), log management and analytics (Logsene), search analytics (S...
Mar. 28, 2015 01:00 PM EDT Reads: 3,327
In the midst of the widespread popularity and adoption of cloud computing, it seems like everything is being offered “as a Service” these days: Infrastructure? Check. Platform? You bet. Software? Absolutely. Toaster? It’s only a matter of time. With service providers positioning vastly differing offerings under a generic “cloud” umbrella, it’s all too easy to get confused about what’s actually being offered. In his session at 16th Cloud Expo, Kevin Hazard, Director of Digital Content for SoftL...
Mar. 28, 2015 01:00 PM EDT Reads: 1,341
Hosted PaaS providers have given independent developers and startups huge advantages in efficiency and reduced time-to-market over their more process-bound counterparts in enterprises. Software frameworks are now available that allow enterprise IT departments to provide these same advantages for developers in their own organization. In his workshop session at DevOps Summit, Troy Topnik, ActiveState’s Technical Product Manager, will show how on-prem or cloud-hosted Private PaaS can enable organ...
Mar. 28, 2015 12:45 PM EDT Reads: 993
When it comes to microservices there are myths and uncertainty about the journey ahead. Deploying a “Hello World” app on Docker is a long way from making microservices work in real enterprises with large applications, complex environments and existing organizational structures. February 19, 2015 10:00am PT / 1:00pm ET → 45 Minutes Join our four experts: Special host Gene Kim, Gary Gruver, Randy Shoup and XebiaLabs’ Andrew Phillips as they explore the realities of microservices in today’s IT worl...
Mar. 28, 2015 12:45 PM EDT Reads: 1,747
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on T...
Mar. 28, 2015 12:00 PM EDT Reads: 1,361
SYS-CON Media announced that IBM, which offers the world’s deepest portfolio of technologies and expertise that are transforming the future of work, has launched ad campaigns on SYS-CON’s numerous online magazines such as Cloud Computing Journal, Virtualization Journal, SOA World Magazine, and IoT Journal. IBM’s campaigns focus on vendors in the technology marketplace, the future of testing, Big Data and analytics, and mobile platforms.
Mar. 28, 2015 11:15 AM EDT Reads: 1,606
Microservice architectures are the new hotness, even though they aren't really all that different (in principle) from the paradigm described by SOA (which is dead, or not dead, depending on whom you ask). One of the things this decompositional approach to application architecture does is encourage developers and operations (some might even say DevOps) to re-evaluate scaling strategies. In particular, the notion is forwarded that an application should be built to scale and then infrastructure sho...
Mar. 28, 2015 11:00 AM EDT Reads: 2,370
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Ras...
Mar. 28, 2015 11:00 AM EDT Reads: 2,010
For those of us that have been practicing SOA for over a decade, it's surprising that there's so much interest in microservices. In fairness microservices don't look like the vendor play that was early SOA in the early noughties. But experienced SOA practitioners everywhere will be wondering if microservices is actually a good thing. You see microservices is basically an SOA pattern that inherits all the well-known SOA principles and adds characteristics that address the use of SOA for distribut...
Mar. 28, 2015 11:00 AM EDT Reads: 941
Microservices are the result of decomposing applications. That may sound a lot like SOA, but SOA was based on an object-oriented (noun) premise; that is, services were built around an object - like a customer - with all the necessary operations (functions) that go along with it. SOA was also founded on a variety of standards (most of them coming out of OASIS) like SOAP, WSDL, XML and UDDI. Microservices have no standards (at least none deriving from a standards body or organization) and can be b...
Mar. 28, 2015 10:45 AM EDT Reads: 2,074
Our guest on the podcast this week is Jason Bloomberg, President at Intellyx. When we build services we want them to be lightweight, stateless and scalable while doing one thing really well. In today's cloud world, we're revisiting what to takes to make a good service in the first place. Listen in to learn why following "the book" doesn't necessarily mean that you're solving key business problems.
Mar. 28, 2015 10:45 AM EDT Reads: 1,207
Right off the bat, Newman advises that we should "think of microservices as a specific approach for SOA in the same way that XP or Scrum are specific approaches for Agile Software development". These analogies are very interesting because my expectation was that microservices is a pattern. So I might infer that microservices is a set of process techniques as opposed to an architectural approach. Yet in the book, Newman clearly includes some elements of concept model and architecture as well as p...
Mar. 28, 2015 10:15 AM EDT Reads: 2,072
SYS-CON Events announced today the DevOps Foundation Certification Course, being held June ?, 2015, in conjunction with DevOps Summit and 16th Cloud Expo at the Javits Center in New York City, NY. This sixteen (16) hour course provides an introduction to DevOps – the cultural and professional movement that stresses communication, collaboration, integration and automation in order to improve the flow of work between software developers and IT operations professionals. Improved workflows will res...
Mar. 28, 2015 10:00 AM EDT Reads: 1,518
Microservices, for the uninitiated, are essentially the decomposition of applications into multiple services. This decomposition is often based on functional lines, with related functions being grouped together into a service. While this may sound a like SOA, it really isn't, especially given that SOA was an object-centered methodology that focused on creating services around "nouns" like customer and product. Microservices, while certainly capable of being noun-based, are just as likely to be v...
Mar. 28, 2015 10:00 AM EDT Reads: 1,771
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch ...
Mar. 28, 2015 09:15 AM EDT Reads: 2,160
OmniTI has expanded its services to help customers automate their processes to deliver high quality applications to market faster. Consistent with its focus on IT agility and quality, OmniTI operates under DevOps principles, exploring the flow of value through the IT delivery process, identifying opportunities to eliminate waste, realign misaligned incentives, and open bottlenecks. OmniTI takes a unique, value-centric approach by plotting each opportunity in an effort-payoff quadrant, then work...
Mar. 28, 2015 09:00 AM EDT Reads: 732
An explosive combination of technology trends will be where ‘microservices’ and the IoT Internet of Things intersect, a concept we can describe by comparing it with a previous theme, the ‘X Internet.' The idea of using small self-contained application components has been popular since XML Web services began and a distributed computing future of smart fridges and kettles was imagined long back in the early Internet years.
Mar. 28, 2015 09:00 AM EDT Reads: 2,120
SOA Software has changed its name to Akana. With roots in Web Services and SOA Governance, Akana has established itself as a leader in API Management and is expanding into cloud integration as an alternative to the traditional heavyweight enterprise service bus (ESB). The company recently announced that it achieved more than 90% year-over-year growth. As Akana, the company now addresses the evolution and diversification of SOA, unifying security, management, and DevOps across SOA, APIs, microser...
Mar. 28, 2015 08:30 AM EDT Reads: 2,001
Cloud computing is changing the way we look at IT costs, according to industry experts on a recent Cloud Luminary Fireside Chat panel discussion. Enterprise IT, traditionally viewed as a cost center, now plays a central role in the delivery of software-driven goods and services. Therefore, companies need to understand their cloud utilization and resulting costs in order to ensure profitability on their business offerings. Led by Bernard Golden, this fireside chat offers valuable insights on ho...
Mar. 28, 2015 08:00 AM EDT Reads: 556