Recent articles by Administrator
We are always looking for sharp technology pros to join our consulting practice.
Some of the skills that we are constantly looking for are:
source code management using ClearCase/Multisite, Rational Team Concert(RTC), Git, Subversion, Accurev and many others
build engineering using Ant, Maven, GNU Make and MS Build
deployment frameworks including Puppet, Chef and of course commercial tools
release engineering and deployment (Devops)
configuration control using ITIL practices including CMDB/CMS
process improvement including software methodologies such as Agile/Iterative Waterfall
All of our positions are hands-on and technical.
Send your resume to Leslie Sachs (firstname.lastname@example.org) or link on linkedin http://www.linkedin.com/in/LeslieSachs
The FEB 9TH Webinar. ACHIEVE AGILE PROCESS MATURITY THROUGH DEPLOYMENT AUTOMATION will be available on-demand. Please contact us for more information
Join Bob Aiello and Leslie Sachs, authors of CM Best Practices: Practical Methods that Work in the Real World, for a Webinar describing exactly how to achieve success through deployment automation while also meeting essential regulatory and audit requirements. This Webinar will also cover how to use deployment automation to support Agile in both small and larger organizations, helping you to achieve Agile Process Maturity. Join us for an interactive webinar:
Originally Aired - Feb 9th, 12pm (EST) - Click here to register
Featuring: Andrew Philips, VP of Product Management at XebiaLabs who will describe a method of deployment automation, Deployit, by XebiaLabs, that is quickly being adopted by the banking, retail and airline industries. Webinar Title: Achieve Agile Process Maturity Through Deployment Automation Agile development practices have helped many organizations achieve faster deployment times and increased overall operational efficiencies by improving both productivity and quality. However, Agile development also comes with its own set of risks and challenges that can impact your business and your project's success. This webinar will focus on how to script and automate error-prone manual procedures that can lead to costly mistakes and wasted effort and possibly even derail your project The good news is that there are configuration management best practices that you can use to streamline build, package and deployment procedures achieving enhanced speed, productivity and quality.
Deployit, a leading application release automation tool that enables accelerated delivery of applications to middleware and cloud environments. Deployit is unique because it is based on a patented algorithm that automatically calculates changes to environment components and precisely deploys application files to middleware and cloud environments, in minutes. By automating error-prone, scripting and configuration processes, Deployit increases speed, accuracy and productivity for application delivery teams. Deployit offers robust cross platform reporting, role-based security and an Industry leading User Interface. Whether you are a release engineer, Devops or the developer in charge of deployments, Deployit can help you accelerate and improve productivity while maximizing quality!
Cool Product features include: A completely automatic approach to scripting and configurations, robust reporting feature, rich user interface and plugin integrations with all major build tools, middleware environments and cloud environments.
Popular articles by Administrator
We provide consulting services to help you implement all of the Configuration Management Best Practices described in our book. Most organizations ask us to conduct a rapid assessment of their existing practices. This typically takes us 3 to 4 days (depending upon how many people you wish to be included). We then provide you with a detailed report of our findings and a plan to help your team improve their existing CM functions. We are there every step of the way supporting your efforts with our hands-on consulting and mentoring services.
We provide consulting services to help your organization implement configuration management best practices including:
1. Source Code Management (e.g. RTC, ClearCase, Subversion, Git, CVS)
2. Build Engineering (e.g. Ant, Maven, Make, Team City, Cruise Control)
3. Environment Configuration (e.g. Puppet)
4. Change Control (e.g. CCB, CAB as described in ITIL v3)
5. Release Engineering (e.g. continuous integration, automated packaging)
6. Deployment (e.g. continuous delivery, Devops)
Please contact us for more information on all of our CM Best Practices Consulting Services!
Source Code Management involves the control of versions of each piece of application code and all required configuration items (e.g. config files, docs) to help your development team be more productive. These tools are sometimes called version control systems (VCS).
Focus on Traceability
The primary goal of a VCS is that code is never lost and that all changes are fully traceable. Your team will be much more effective with state-of-the art source code managment tools and procedures. We help you select and implement the right solution for your team along with mentoring, training and installation support. We have experience with many software configuration management tools including both commercial and open-source along with integrations to common defect tracking, workflow and requirements tracking.
Modern source code management solutions include automated workflow by creating workitems such as tasks, defects and requirements (in agile Epics and Stories). Most importantly, today's software configuration management solutions include the ability to trace an atomic changeset back to the workitem which authorized the work.
Variant in the Code
Modern VCS can also manage multiple variants in the code including branches and streams (which typically have more functionality). Variants can be used for a variety of purposes including bugfixes against a baseline that has been deployed.
Random articles by Administrator
Building Software to Deploy
The recent swarm of high profile software glitches may lead one to believe that software and systems are so complex today that a few outages here and there is just inevitable. Nothing could be further from the truth. There are many fields were software must conform to safety standards and have zero tolerance for error. For example, software in helping to run a nuclear power plan or a missile defense system must never "glitch". Deming pointed out that quality must be built in from the beginning. Relying upon testing to uncover defects is just not a formular for success. You need to design software with testing in mind from the very beginning. Test Driven Development has become a popular approach where developers actually write and execute the test cases before they write the code. This means that initially the test code indicates a failure and then the code is written to satisfy the condition and the test cases passes. However, many of the outages have been blamed upon the software deployment process itself. Deployment engineering is often overlooked and really needs to take the center focus as is explained in the DevOps movement.
In my book on Configuration Management Best Practices, I discuss CM Driven development where applications are designed to be easily built, packaged and deployed. DevOps takes this a step forward by encouraging us to develop, practice and fine tune our application build and deployment procedures from the very beginning of the software and systems development lifecycle. This leads us to real cause o the recent system glitches that threaten our financial systems infrastructure.
Senior management needs to realize the importance of having skilled technology professionals running IT department. Further, IT controls need to be established that allow us to continously build, package and deploy our systems without incidents. We know how to do this. This is not really a technology problem. We don't see software glitches in nuclear power plants, missile systems and medical life support systems because there is a recognition that getting it right it necessary and failure is not an option.
So now some folks will say that IT controls are too expensive. Try telling that to Knight Capital who lost $440 million dollars in one day due to the wrong version of a piece of code on one of their servers. Millions of dollars have been lost due to high profile glitches at the Chicago Board Options Exchange, NYSE Euronext, NASDAQ and the Tokyo Exchange. Enough is enough. Our Senior management shows to show some leadership and allow us geeks the time, money and other resources to get it right. We know how to do this. Either lead, follow or get out of the way.
Baselining an application is an essential task required to identify all of the compile and runtime dependencies that are necessary to support application build, package and deployment. If you get this right then you will always be able to be certain which version is running in Production (or QA for that matter) at any point. You will also be able to retrieve a specific code milestone and make modifications (e.g. bugfix) in order to make changes to the code without any chance of the code regressing due to the wrong version of a particular header file or other compile dependency. Baselining at the source code level is fundamental and usually depends upon version control practices including placing an immutable tag (or label) to identify the exact versions of all source code and configuration files necessary to reliably build a specific release. Baselining at the runtime level is a little different and involves ensuring that the correct versions of the code are built, packaged and deployed.
Many organizations have a regulatory requirement to independently build code, verifying in the process that the code has been correctly baselined. The build should also embed unique immutable version IDs into each and every configuration item. This is essential for conducting the configuration audit. The next step is to package the release which should include a manifest with a bill of materials (BOM) identifying all of the configuration items included in the release. This facilitates automated application deployment. These practices are the ABCs of excellent DevOps!