Some weeks ago, meeting with the SAP Functional and
Development teams of one of our global partners, I had one “Eureka” moment.
It all started with a discussion about what do SAP
Functional and Development teams complain more when interacting with infrastructure
teams. And the team immediately started to list those things.
They said: “it’s always the same things, on every customer,
on every project, being on implementation phases or on maintenance phases”.
And this took me to one unexpected journey of discovery how
one technology can really transform the way organizations have always thought
of SAP Application Lifecycle Management activities, and remove the “accepted limitations”
they were thought to live with.
I’m not much into talking about specific Infrastructure
Technologies, but this one blew my mind, and I’m sure many SAP Customers, that
will need to keep operating their Netweaver Systems ABAP still for many years
to come (because moving to HANA will still take time), will realy appreciate
this perspective.
It's all about making simpler all the process involved in getting new code to production, and helping organizations get faster to market. In the SAP world, this process of moving code from development down to production is called Application Lifecycle Management, and through this post I'll be sharing my reflections together with SAP Functional consultants from System Integrators and customer organizations on how EMC XtremIO is unique in transforming this process.
So, where it all started? On one of those meetings where you
think that you might got there by mistake…
I was planning to go and meet the SAP Basis team, and I
found in the room the guys from SAP functional consulting and SAP application
maintenance.
The Business Challenges
Stepping back a bit, and to provide a bit of context, there
is always a tension between what Functional Consulting teams want, and what
infrastructure teams deliver. And Functional Consultants keep seeing their
plans delayed or complicated because infrastructure teams say: what you want is
not possible.
Why infrastructure teams say it’s not possible? Because they
either don’t have available infrastructure resources for what they are being
asked, or don’t have the budget, or don’t have the time to do it in the
requested frequency or time window.
So, Functional teams keep asking, and infrastructure teams
keep saying no. No good working relationship will come out of this, right?
What kind of challenges do SAP Functional Consultants
face that makes them put so much pressure on infrastructure teams?
- The business users always want information faster, and including the most recent data;
- New business initiatives always come to application teams with aggressive deadlines;
- So, being opening a new store, launching a new product, opening a new online channel, updating pricing rules, or whatever configuration is asked, the business always wants is faster in production than development teams can do it.
This is normal in today’s economy where competitiveness is
ever increasing, with global markets, real time connected, and where being the
first to market may make or kill a business initiative.
It’s here that concepts like “Agile Development” and “DevOps”
are being looked at.
And SAP Functional consultants are the ones dealing with the
business owners on a daily basis, having to respond with quality and in time to
the ever changing business needs. They are the first face of IT to the business
users, and they suffer a lot whenever they have to say no, take more time than
acceptable, or miss a deadline.
So, it is important to understand the pain these people
suffer with their “internal customers” (the business users), to be able to really
do something in IT that is meaningful to the business.
The IT Challenges
Being today working for an IT Infrastructure company, I wasn’t
there just for the fun of chatting about life, so the conversation continues in
my intent to find opportunities to help them help their customers.
So, further ahead in the conversation I asked: and does
infrastructure impact your ability to meet those requirements in any way?
Remember that for SAP Application Teams, infrastructure is the SAP Systems
Administration Teams (also known as the Basis Team).
And that’s where the conversation got interesting
infrastructure wise!
They mentioned things they would like infrastructure teams
(meaning the Basis Teams) to provide them, which they almost never get. And
started by saying “it’s always the same 5 or 6 things”:
- Batch Performance in Production is never good enough from the end user perspective;
- Be able to have large datasets in non-production systems for better unit testing is always a challenge as there is no space on those systems;
- Being able to have a freshly updated Test system with a full copy of production data for more comprehensive testing, as many times the cost and time to refresh test systems is so much, that they are only update every 3 or 6 months and they would like to have it every week;
- Being able to deploy Sandbox systems fast to explore new functionalities, as some times they get questions from the business, and not being sure if that is available on a new version or a new component they haven’t installed yet. So being able to spin up Sandbox systems fast and cheap would be great;
- Being able to take a “photo” of the test system before a “potentially destructive test”, and then be able to roll back that test system fast and as many times as needed to that picture until the problem is solved, as indeed many times problem solving, due to time pressure is done through trial and error;
- Being able to do load and report testing on non-production systems with similar runtimes as production systems, as sometimes processes that in production take 1 hour, in non-production take 10 hours, implying longer test cycles.
This is very interesting as it’s not often that you are able
to map the business value of a component very low in the infrastructure stack,
and these things can really make a difference in a company’s competitiveness.
Here you could say: but this is all just a matter of buying
some new or upgrade/expand the existing infrastructure.
The balancing act of Cost and Benefit
Then, why don’t companies just buy new technology components
or expand existing one’s capacity? Why have SAP Application Teams learned to
live with these limitations?
Sometimes "we techies” forget that organizations don’t buy
technologies just because they are the fastest, better or coolest!
Organizations buy IT to serve business purposes, so there need to be a business
rationale in every investment decision.
And things are as they are – not as good as the business
users would like – because there is an associated cost. Here companies try to
find a balance between the total cost of ownership (the purchase cost of a
technology plus the cost of operating it), and the expected business impact /
benefit of having it or not.
In the end, you invest in production to have a
reasonable platform the business can live with, and you minimize as much as
possible the investment in non-production systems as the perceived value is
minimal. At least until the pain I described starts to hit hard the business.
The value of XtremIO for SAP
Application Lifecycle management
And this brings me to my breakthrough. My “eureka” moment.
And I say this, because all of this impact was not completely obvious to me
until I had those discussions.
XtremIO can really address the Business Challenges I’ve
described above, and overcome the IT limitations they imply in a very cost
effective way.
I wouldn’t be able to explain in detail here the
architecture of XtremIO and each of its functionalities, and there are better
people to do that than me.
So, let me instead focus on what XtremIO functionalities
mean to each of the 6 challenges I mentioned above.
I’ll go into the details here, so this will be a bit long,
but hopefully will help both SAP Applications Teams, SAP Basis Teams and
Infrastructure teams understand what this means for each of them:
- Batch Performance:
- Most companies still have the majority of their systems on rotating disks. And no matter how good they are, they are never as fast as the business would like.
- XtremIO by being an all-flash array, it will automatically speed up the system performance.
- The numbers we are seeing show 2 to 3 times performance improvement in batch processing (so a 1 hour job going to 30 or 20 minutes), and this without any application migration, performance tuning or other change from the operating system upwards of any kind.
- Meaning, getting this kick costs little to nothing.
- Two important notes: the more a batch job depends on physical database reads, the better the improvement. So any type of processing on SAP Systems with very low “DB Time” (DB Time is well known to SAP Basis teams, is measured in transaction ST03 for SAP Systems based on Netweaver ABAP, and represents the part of the total run time of a process that was dependent on database response), will see little improvement.
- The other note to “little to no cost”. Here I’m thinking about the cost that represents things like OS/DB migrations and ABAP code changes due to upgrades, which is often way bigger than the cost of an infrastructure component. So, not having to do anything at the application level is a huge cost saving. Of course there is always the cost of the system, and the downtime of implementing it, as doing infrastructure projects always implies at least a little downtime.But here the costs are in line with other investments on rotating disks, an the downtime will be minimal.
- Large Datasets on Development and Quality Assurance systems:
- SAP Basis consultants have learned to make copies of data in many ways:
- Remote Client Copy;
- Export/import;
- Using SAP Test Data Migration Server (TDMS);
- And through database specific tools.
- In many customers refresh of data wasn’t done at all, or not often enough because of one of the following:
- There was simply no space on the non-production system to hold the production database;
- On development systems, overwriting the database might make the customer to lose the version history of developments which is a problem in terms of compliance for many organizations;
- Due to one of the 2 above points, they used copy methods that had very long run times, or had an impact on production, and so needed to be planned carefully as might imply either unavailability of production, or severe limitation on production usage during the copy.
- XtremIO Deduplication feature makes that a copy of a disk volume, occupies no space on the storage. So, if you write the same block at the storage level 3 times, you only occupy the space of 1, not 3.
- This means that the space limitation ceases to exist. You can copy things as large as you want, as many times as you want, and you will only occupy the space of the source.
- On development systems, there are procedures from SAP to export those things (version history of ABAP objects, etc) and I’m planning to do a bit more research on that, and maybe write a blog post on it. Nevertheless, for environments where this is not a constrain (or new implementations), now customers can also build a new development system from a copy of production.
- The only caveat here is if the customer has strict confidentiality requirements, and uses SAP TDMS or equivalent solutions to scramble the data. In this case XtremIO will only help by speeding up the reads on the source system and the writes on the target – so speeding up the overall copy procedure, but would not provide the deduplication benefit. The systems would still occupy the full space.
- Regularly updated test systems with full copies of production:
- The pain here comes from 3 things:
- Most of the times production is one 1 Tier1 storage array, and non-production systems are on another Tier2 storage array. So, copying multi-terabyte databases from one array to the other is heavy lifting.
- Many times, the Tier2 storage system doesn’t have enough capacity to hold the production database. It’s very rare to find a customer with databases larger than 10 TeraBytes that have the same space on their Development, Quality Assurance and Pre-production systems.
- Copying an SAP Database from production to a non-production environment is not only about copying the storage volumes, as there are a number of tasks that need to be done at the database and ABAP level to repurpose the system and have it ready for testing.
- And XtremIO addresses these 3 things:
- XtremIO’s architecture when you make a copy of a disk volume, due to its deduplication feature, it only creates pointers, does not copy the data. So, being on the same array, you don’t have neither movement of data neither read/write of data to copy it. It’s just like taking a photo of the data: takes seconds! I’ve tested in the lab and seen it at work. Amazing! Also, if you study the architecture of XtremIO this will become obvious to you.
- The system deduplication mechanism also makes that, when you create a copy of an existing database at the storage level, as it is an exact copy, will be fully deduplicated, so not consuming any space at the storage level. Yes, this is true, and no, it doesn’t imply an impact on performance of the production database. Of course as you start to change the data on the copy, the changes will start to occupy space on the storage, but my experience as a customer shown that the volume of changes in a non-production system is always very low. So, maybe, just with a max of 10% of the total size of the database, you can have a full copy of production! Lab testing showed that creating 3 additional copies from 2 source databases (one with 340 GB and the other with 126 GB), ocupied only additional 7GB after all the ABAP post processing was completed (BDLS included - SAP Basis teams know what I'm talking about). So instead of going from 466 GB to 1272 GB, we went to 473 GB. How cool is that?
- And last but not least, is now under development the integration of XtremIO with SAP Landscape Virtualization Management software. For those who don’t know about it, is an SAP software that orchestrates all the steps involved in an “homogeneous system copy” process, including the ABAP post processing. So, it will enable to realy have a copy if the system with the click of a button. And in minutes (or few hours depending on how many tasks have to be performed in the ABAP post processing).
- Easiness to deploy sandbox and training systems:
- In many customers, applications teams cannot just get a system to play around. And one reason is because building a new system consumes resources.
- Now imagine that:
- With XtremIO deduplication, new copies of existing systems consume little to no space on the storage;
- If you are running virtualized, you can deploy this system overcommitting RAM and CPU (so with little or no resource contumption) as it is intended or a single user or few users just to learn or “play around”.
- And if you add automation with LVM, even the effort of building the system goes away.
- So, wouldn’t this change the way development and application teams have worked until today?
- True that in many cases doing a client copy, and building a new client was a way to solve some of these things, but didn’t provide the opportunity really to go around and change also repository objects.
- This way, there would be no restrictions, since SAP LVM also has a “system destroy” option to then delete the system once it is no longer needed. And this would take me into “cloud discussions” and things like self-service portals… but will focus at this stage only on the enabling technologies, from an affordability point of view.
- Being able to rollback a system fast and as many times as needed:
- This has implications way further than just test systems, as it can be applied to backups of production systems, build of parallel landscapes for projects like SAP system version upgrades, and also backup of non-production systems.
- Again, the magic here comes from XtremIO deduplication and snapshot functionality, which works in a unique way in the market.
- Since doing these operations consumes little to no capacity, and have no performance impact, it opens endless possibilities, as you can create as many copies as you want (of course within the limits of the XtremIO specifications) for whatever purposes you want. So, you would have production grade backup through storage snapshots for all production and non-production systems at “no-cost”. And no cost I mean that these copies do not occupy space or impact performance, which is a major constrain on traditional systems.
- Also the fact that the system has a very intuitive and simple graphical user interface, makes it easier, faster and less risky to perform these operations. No risk of the storage admin run the wrong command and impact production.
- Being able to do testing in non-production with production alike performance:
- Repeating myself here, the magic comes from the snapshot technology that XtremIO uses, it’s deduplication feature implementation, and the fact that it is all flash.
- This allows the copies of the productive disks to perform as well as the originals. So, testing will be much faster as well.
Conclusion: having infrastructure teams say YES, and drive innovation
So, I truly think XtremIO is a “game changing”
technology, and is disruptive in the way it allows to challenge long time
limitations and constraints on SAP Application Lifecycle Management tasks.
It took me these interactions with SAP
applications stakeholders to get this “Eureka”.
I’ve been digging on XtremIO for professional reasons since June last year, but
I was struggling to see the uniqueness, and especially for the SAP world. Ok, it is fast and has lots of cool features, but looking at it from the SAP Applications Perspective, so what? What is different or unique compared with other technologies in the market?
In the end this is
all about having Infrastructure teams being able to say YES to more of the
requests they get from the functional teams, enabling the functional teams to
serve better the business users, and so driving better time to market, and in
the end, better business agility.
And having already shared this with other persons in
customer and partner organizations, validated my reasoning. XtremIO is really unique in the market from this perspective.
One Applications Director at an organization I spoke with
told me that this would enable him to shorten dramatically SLA’s with the
business in regards to response time of requests for change, while reducing the
costs of “unit testing” and “end user training” dramatically.So, he would fund an infrastructure project to get the SAP Systems on it, as the benefits were tremendous for them.
There is a lot more I could say on XtremIO, but my goal here
was not to make a technology review, but rather – leveraging my knowledge on
XtremIO architecture, together with my knowledge and experience on SAP Systems Operations
and Applications Lifecycle Management – to show how a technology can indeed
transform for the better an organization in terms of iits business agility.
A final though: another customer saw this as an outstanding
opportunity to take out cost of his current operations costs (both at
application maintenance level and on infrastructure operations), to release
budget to invest on new initiatives, like funding the adoption of SAP HANA.
Closing by saying: it will still take some years for
customers to migrate all their systems to HANA, and being able to improve them
at these many levels, with no application changes is of tremendous value for
many organizations.
If you want to know more about EMC Engineering testing with XtremIO, just read the latest whitepaper I've worked with EMC X-BU Engineering on the topic, that you can find at: http://www.emc.com/collateral/white-papers/h13859-xtremio-sap-wp.pdf
Glad to be back to blogging after some crazy months overloaded! Hope to come back soon, again on my favorite topic: HANA!