As a developer, I would want agility in my Fusion Middleware SOA development and operations for the following three main reasons:
1. When I perform SOA integrations, I would like them to run hassle-free for at least five years.
2. I want to cut down the cost of testing to 25% of the project cost.
3. I want my development and operations teams to communicate effectively and in real time for better productivity.
The way to achieve agility is to adopt DevOps; or even better, to automate the DevOps. There are many platforms to achieve automation of DevOps, leading to agility. For instance, Chef, Puppet, Jenkins, or more comprehensive platforms such as DevOpsXpress that does a great job.
According to me, there are the following five phases of a typical software development life cycle:
In this article, I share my experience of automating each of the above steps with the help of specific tools.
If you are planning to implement SOA integrations of Oracle Fusion Middleware in your organization, read on to gain insights on how DevOps automation will help you start the SOA journey in the right approach.
If you’re already using OFM SOA integrations, read on to get insights on how DevOps automation reduces risks and transforms your business, bringing agility and consistency.
1. Automate design and build of Fusion Middleware SOA Environments
The numerous configurations, architecture designs, and other details of the design phase are often stored as tribal knowledge in the mind of the consultant. However, if the consultant were to leave midway through the project (as it has occasionally happened, in my experience) and be replaced by a new one who is not aware of the configurations used thus far, the code would fail at installation due to inconsistent configuration settings. When I was trying to build my installation platform, I tried out a few automation modules that would help me automate the design as well as build of the environments, in order to avoid situations like above.
Solution: Of all the tools I tried out, MintPress, which helps Fusion Middleware administrators to manage an error-free OFM environment aligned with the standard reference architecture, was the easiest to use. It comes with pre-defined blueprints that may be used to provision SOA, BPM, OSB, WCS, and IDM, and easily create the environment.
2. Automate SOA Code Development and Code Quality
Code review is a critical step in this phase. As we all know, manual code review is a time-consuming and laborious process, a routine chore that skilled resources avoid undertaking. Not only that, often, there is no set standard for reviewing code, or the standards are not enforced by all reviewers, leading to inconsistent or ‘patchy’ code quality.
No one needs such patchy code that may give rise to crippling ‘code bombs’ – the likes of which shut down NYSE for almost four hours in July 2015.
Solution: Automation of code review is the answer: Automation can simplify and speed up the process of reviewing code, with zero-error results and excellent code quality. Some excellent automated code review tools that I came across are Codacy (for scripting and programming languages), CodeScanr (for Oracle Fusion Middleware), etc. These tools can be deployed for multiple languages, on cloud or on premises, do not require special installations, can perform security and performance checks, and can apply a standard configuration across projects.
3. Automate SOA Testing
Once code development is done, it should ideally undergo repeated testing, following the maxim of “Test early, test often”. I would any day rather have a bug caught early in the cycle, because then it can be rectified with time to spare. Errors identified at later stages need more expensive corrections. On the other hand, the frequent and multiple tests that need to be performed to catch all bugs can be very time-consuming. Moreover, often, the exact required test environment may be unavailable. So, what do we do?
Solution: I use automated testing solutions such as IBM’s Continuous testing or Suneratech’s AppTestr to solve these issues. They can run tests on a variety of testing environments, continuously and speedily, enabling testers to run tests early and repeatedly. This results in improved performance quality and efficiency for my software.
4. Automate SOA Deployments
I have seen that deploying Oracle Middleware solutions can be an error-prone and resource-intensive process.One needs to define the artifacts meant for release, and configure the artifacts and the changes that need to be made to the Middleware. I figured that, as in the other phases, deployment also can get a super-efficient boost with automation, leading to an increase in continuous deployment rate.
Solution: Tools such as AppDrop and IBM’s Urbancode make the process of deployment rapid, error-free, and economical. I can have a continuous deployment of projects with considerable cuts in time as well as costs.
5. Automate SOA Administration:
A code’s journey doesn’t end with its deployment. Post-deployment activities such as tracking key performance indicators and solving user experience issues are critical to stably maintaining the software. For Fusion Middleware,efficient operations management requires analysis of performance reports of SOA/BPM applications, and real-time monitors of ADF/Web applications.
Solution: Automated tools for Oracle FM – AppMonitr–can lead to a 10-fold increase in production and significant cost savings for the business. Other tools like New Relic combine deep-dive diagnostics with efficient monitoring abilities to enable stable and high-performing software.
Numerous surveys have shown that automation of DevOps directly results in driving efficiency in the process of ideating and developing cutting-edge software. The organization reaps business benefits (higher customer satisfaction, lower down times) as well as technical enhancements (more innovation, newer features) by adopting automated DevOps.
I have no doubt that automation of every step of development and operations leads to an exponential increase in efficiency and speed of the software, in turn bringing noteworthy cost savings and customer satisfaction to the business.