Showing posts with label CIO. Show all posts
Showing posts with label CIO. Show all posts

Thursday, 10 September 2015

The need and how to virtualize business critical applications


Virtualizing business critical applications brings many benefits for organizations. This blog explains the technical challenges and offers solutions.

When companies deploy virtual infrastructure environments they achieve immediate savings in data center footprint by consolidating server workloads onto few hardware components. Tuning those achieves higher levels of availability for those applications running on them. But after much virtualization organizations often fail to progress.

Getting all applications migrated to a virtual infrastructure platform requires new skills and ways of managing capacity. The shift to Software Defined Databases requires fundamental shift of how applications are developed and deployed. Licensing issues require special attention (as vendors also realize that compute workloads are no longer directly tied to physical hardware components).

The most common problem

As soon as a Business-critical application require a higher levels of availability than available virtual infrastructure can provide, problems arise.

Business critical applications are understood as applications such as Microsoft SQL, Exchange, SharePoint; SAP; Custom Java on Linux; Oracle and Oracle RAC (most common examples) as well as DB2, Cassandra, Hadoop/ HBase, WebLogic, WebSphere; Tibco, Rabbit MQ, MQ Services and other message queue systems and finally in-house custom built/ maintained “home grown” applications.

When the application runs slowly or even becomes unstable, the application is temporarily moved back to the original physical infrastructure and the virtual environment is blamed. The reason is not a problem of the virtual environment, but in the configuration of how the virtual environment was deployed on the physical infrastructure. Further, some often basic mistakes are made.

Understand the key issues

Business-critical applications share a number of technological characteristics: They have high compute loads (with heavy math or thread processing), RAM utilization, specialized I/ O (particularly storage), availability configurations (requiring OS or application clustering) and complex networking configurations (public and private networks to support clustering).

Each critical application requires a disproportionate amounts of CPU, RAM, Disk (including disk space and I/O) and network (including number of connections and bandwidth) and higher levels of redundancy, availability and recoverability. Each application’s requirements are unique, but predictable. Important to translate resource requirements to run on native hardware to the virtual environment.

Although every application has something unique it is not necessary to define individual best practices for each application to thrive in a virtual infrastructure environment. The abstraction layer of the virtual environment with a set of common practices can apply to all critical applications. Then each application can be further tuned like on any other physical infrastructure.

Solutions

Critical applications are already complex, so keep design and solution simple.

-          Avoid adding disks and spreading them across multiple data stores. Keep number of disks and data stores to a minimum. Avoid splitting out base files that are part of a virtual machine’s core components (vswap and others).

-          Avoid duplicating features for high availability or redundancy through external/ homegrown solutions (often already present in the base systems or architecture).

-          Avoid assigning more CPU cores than necessary as it may slow performance (hypervisor may seek to schedule CPU cores that will do nothing; heavily threaded applications use more cores while number crunchers use fewer cores and more cycles).

Instead, architect hardware from a total performance perspective.

The virtual environment always depends on the hardware. Therefore, size HW components appropriately to handle the anticipated loads. Optimize CPU, RAM, Disk and Network.

-          RAM is almost always exhausted first on virtual infrastructure environments.

-          Spread I/ O appropriately across storage area network (SAN); use solid state drive (SSD) and cache capabilities to boost performance. Enable jumbo frames as norm for IP SAN technologies (iSCSI and NFS).

-          Use 10GbE connections for all network connectivity.

Storage is the perhaps the most complex resource to manage, because it is almost always abstracted in multiple layers and varying dependent on the make & model of the storage system used. It is where most application performance problems arise first and most frequently.

-          Storage capabilities should be pushed as low as practical in the hardware stack.

-          Storage should appear as simple, local disks, and networks should appear a simple connections.

-          Make sure that individual components are not easily overwhelmed similar to architecting shared storage for high-capacity I/O systems and applications.

-          Use raw disk mappings (RDMs) as last resort only (does not add performance advantage over a virtual disk located in a properly configured data store). Instead and where feasible, use OS-level storage systems like ASM on Oracle.

Keep networks simple.

-          Avoid virtual network interface controller (vNIC) teaming and bonding inside a VM, as it is already handled by the hypervisor. Use one NIC for each distinct network to connect to.

-          Keep virtual machines simple and transparent. Do not install/ turn off unnecessary services and features.

-          Follow best practices to harden OS (it should feel too the applications as any other optimized environment).

A typical business critical application optimization stack

A typical business critical application optimization stack could look as follow (from bottom to top):

-          Application oriented optimization

o   5b) Java Application

§  Resource Allocation, App Tunables

o   5a) Java Virtual Machine

§  Heap Size, Threads, etc.

o   5) Application

§  Cache, SGA, RM Commitment, App Specific Tunables

o   4) Operating System

§  Para-virtual Drivers, Kernel Parameter Tuning (Linux)

-          Virtual infrastructure oriented optimization

o   3) Virtual Machine Hardware

§  Optimize vCPU, RAM, Storage, Resource Limits & Reservations

o   2) Hypervisor

§  Resource Pools, HA, DRS, Data Stores, Parameter Tuning

o   1) Physical Hardware

§  Server, storage, network

Clustering/ final optimizations

Understand when to cluster and when not.

With a well-engineered virtual infrastructure platform certain high-availability configurations provided by system clustering for physical infrastructure deployments can often be eliminated. However, clustering plays and important role still for active-active clustered systems to support rolling upgrades, regular maintenance, minimize downtime during patches, etc.

When clustering on top of virtual infrastructure the high-availability features of each layer should be optimized to complement one another. Avoid clustering techniques that may interfere with infrastructure layers above and below.

To use shared disk between individual nodes (voting and quorum drives) for operating system clusters on VM use one of the four available methods. The iSCS/ NFS Gateway VM is gaining traction as it resolves almost all of the limitations of the other available solutions (RDM, multi- write virtual disk, iSCSI or NFS on SAN/NAS). However, it is also more complex to set up and maintain.
Use anti-affinity policies between the various cluster nodes to avoid that two nodes run on the same physical host at the same time (and by thus defeating one of the high-availability purposes of clustering).

Use a multi-write virtual disk to have all data remain in virtual disk files on a data store. All cluster nodes can then access that folder.

Credits & Special thanks: This blog incorporates thought leadership and publicized content of Chris William, director of Cognizant Virtual Solutions.



+++
To share your own thoughts or other best practices about this topic, please email me directly to alexwsteinberg (@) gmail.com.

Alternatively, you also may connect with me and become part of my professional network of Business, Digital, Technology & Sustainability experts at

https://www.linkedin.com/in/alexwsteinberg   or
Xing at https://www.xing.com/profile/Alex_Steinberg   or
Google+ at  https://plus.google.com/u/0/+AlexWSteinberg/posts


 
 

Saturday, 5 September 2015

Key trends in mobile and making the right technology decisions


Mobile Trends

Mobile companies are focusing on connecting the next billion consumers. In many developing countries most people by-pass the computer and go directly mobile.

Our generation Z has already grown up with the intuitive understanding of click & find, click & know, and click & buy. Mobile is increasingly becoming the starting point for everything, not just an add-on. Many young people already consider their mobile device as a remote control to life.

The car is becoming a mobile device. Mobile is set to transform the banking, financial & payment markets. Mobile wallets are already replacing cash.

Mobile devices are becoming integral part of the consumer process: Wearables (smart glasses, watches, wristbands, body implants), Appcessories (mobile devices with computational abilities to collect and analyze data about the world), medical smart phones (serving as wellness gurus, performing self-diagnosis, reminding about exercise and medication), etc.

People expect the content to be increasingly personalized, hyper relevant and automated.  

Brands recognize the opportunity to reach the right people, with the right message, at the right time to achieve maximum impact. They will focus on privacy, permission and preference of their target audience. People have a much lower tolerance for unsolicited messages arriving at their mobile device (considered part of their being and personality).

Building a long-term strategy for mobile from a technical perspective

Integrated mobile commerce capabilities are a must for companies. Selecting the right technology approach is critical to drive user experience, cross channel activity, profitability, etc.

Select the right mobile environment

Mobile sites appear in the browser of any internet enabled device, which most likely can access it. No need for users to download anything. Content is automatically formatted to the device. HTML5 gives mobile Website increasingly App-like capabilities.

Mobile applications require download from the market place. The applications native capabilities provide enhanced functionality such as caching for off-line usage, GPS location service, scanning…

Usually companies do not have to make large investments in new technologies to support mobile expansion. Companies can leverage their core technologies including e-commerce platform, merchandising tools, product information, Content management system user reviews.

Four options to build your mobile environment

Companies can either develop and implement a mobile solution themselves or use outside help from various sources. Here, are four main options organizations may consider:

1)      Create and manage home grown solution.

a.       It allows for tight integration and full control.

b.      But it requires much technical skills, ramp up time and upfront cost.

2)      Engage a mobile service provider.

a.       You can obtain a fully outsource mobile solution, including development, hosting. Expertise is acquired, existing internal skills and capabilities can be leveraged. Maintenance and long-term support are guaranteed. There a short ramp up time and modest upfront costs.

b.      But there is duplication of website data and configuration. Often lack of integration with existing infrastructure. High long-term TCO. A first workable solution, but unlikely to achieve a consistent user experience due to lack of integration with primary website and existing e-commerce solutions.

3)      Engage a software provider that has expanded into mobile

a.       Tight integration with existing infrastructure. Robust capabilities & features; integration of existing infrastructure & tools. Ease of maintenance and long-term support.

b.      Software provider’s mobile IP & technology expertise may not be cutting edge. There are upfront costs.

4)      Engage an agency

a.       Full service design & implementation (even manage customers, if desired). Advanced, custom-designed features with highly differentiated user experience; rich environment and integration with existing infrastructure.

b.      High-cost engagement, expensive to manage, difficult to change user experience; loss of in-house control, longer lead times.



+++
To share your own thoughts or other best practices about this topic, please email me directly to alexwsteinberg (@) gmail.com.

Alternatively, you also may connect with me and become part of my professional network of Business, Digital, Technology & Sustainability experts at

https://www.linkedin.com/in/alexwsteinberg   or
Xing at https://www.xing.com/profile/Alex_Steinberg   or
Google+ at  https://plus.google.com/u/0/+AlexWSteinberg/posts


 
 

Thursday, 3 September 2015

Big Data Series – Part 3 Six technology components for Data Acceleration


There are at least six key technology components to build a supporting architecture: Big Data platforms, Ingestion solutions, Complex event processing, In-memory databases, Cache clusters and Appliances. Each component helps with data movement (from source to where needed), processing and interactivity (the usability of the data infrastructure).

Big Data platform (BDP)

BDP is a distributed file system and compute engine. It contains a big data core, a computer cluster with distributed data storage and computing power. Replication and sharding partitions very large databases into smaller, more easily to manage parts in order to accelerate data storage.

Newer additions enable more powerful use of core memory as a high-speed data store. These improvements allow for in-memory computing. Streaming technologies added to the core can enable real-time complex event processing. In-memory analytics support better data interactivity.

Further enhancements to the big data core create fast and familiar interfaces with data on the cluster. The core stores structured and unstructured data, but requires map/reduce functionality to read. Query engine software enables the creation of structured data tables in the core and common query functionality (SQL etc.)

Ingestion

Collecting, capturing and moving data from its sources to underlying repositories used to be done traditionally through the extract, transform and load ETL method. Today the priority is not the structure of the data as it enters the system, but assuring that all data is gathered covering different increasing data types & sources and quickly transported to areas where it can be processed by users. Ingestion solutions cover both static and real-time data. The data the gathered by the publisher and then send to a buffer/ queue, where the user can request the data.

Complex Event Processing (CEP)

After data ingestion the CEP is responsible for preprocessing and aggregation (& triggering events). It tracks, analyzes and processes data of events and derives conclusions. CEP derives data from multiple sources and combines historic as well as fresh data in order to infer patterns and to understand complex circumstances. Its engines pre-process fresh data streams from its sources, expedite processing of future data batches, match data against pre-determined patterns and trigger events based on detected patterns.

CEP offers immediate insight and enables fast action taking. In-memory computation allows to run Data movement and processing in parallel, increasing speed. CEP solutions add computing power by processing the data before it is submitted to the data stores or file systems.

In-memory databases (IMDB)

IMDBs are faster than traditional databases, because they use simpler, internal algorithms and executive fewer central processing unit instructions. The database is preloaded from disk to memory. Accessing data in memory eliminates the seek-time involved in querying data on disk storage. The applications communicate through SQL, which receives records in the RAM and triggers the query optimizer.

IMDBs constrain the entire database to a single address space. Any data can be accessed within microseconds. The steadily falling RAM prices favor this solution.

Cache Clusters

They are clusters of servers in which memory is managed by a central software designed to transfer the load from upstream data sources (databases) to applications and users. They are typically maintained in-memory and can offer fast access to frequently accessed data. They sit between the data source and the user.  Traditionally they accommodate simple operations such as reading and writing values. They are populated when a query is sent from a data user to the source. Prepopulating data into a cache cluster of frequently accessed data improves response time. Data grids can take caching a step forward by supporting more complex queries and using massive parallel processing (MPP) computations.

 Appliance

Massive parallel processing sits between data access and data storage. Appliance here is a pre-configured set of hardware and software including servers, memory, storage, input/output channels, operating systems, DBMS, admin software and support services.

It may have a common database for online transactions and analytical processing, which improves the interactivity and speed.  Appliances can perform complex processing on massive amounts of data.

Implementing and maintaining high performance data bases on clusters is challenging and few companies have the necessary expertise to do so themselves.

Custom-silicon circuit boards enable to develop their specific solutions. It enables development on devices for specific use cases and allows for network optimization (integrating embedded logic, memory, networking and process cores). This plug and play functionality offers interesting possibilities.

Continue part 4 out of 5

Big Data Series - Part 1 Technical challenges


Big Data requires to learn much about data as an asset and analytics. Data is the most precious asset in an organization, the currency of the enterprise.

Companies’ data ecosystems have become complex and littered with silos. A large majority of companies is still not able to make full use of Big Data advantages.

There are many challenges with Big Data: Lack of knowledge, varying definitions & expectations, different views about data sources and use cases, ignorance about valuable data sources, technologies, etc.

Companies must understand data across the entire data supply chain and their individual stages: Identifying & leveraging data sources, importing, enhancement of data value, combination with other data, generation of insight, and taking of specific actions.

This means: companies must mobilize data across the enterprise; deeply understand, analyze and determine value of respective data; understand business use case and data patterns to determine appropriate actions.

It requires companies to commit to continuous discovery, experimentation, testing, learning, adapting and innovation.

There are many approaches, solutions and technologies presently offered in the Big Data domain and quickly evolving. Companies need to be aware of the different options and their pros & cons to combine those to an overall solution.
Continue part 2 out of 5    

Friday, 28 August 2015

How Telcos can develop into Integrated Digital Service Providers


The majority of telcos have digital agendas to build multi-channel or omni-channel capabilities. However, their digital transformation is often only in the early stages.

Telcos to become Integrated Digital Service Providers

The objective for telcos should be to develop into Integrated Digital Service Providers, bringing together digital infrastructure, digital business operations & capabilities and digital offerings.

Telcos could become key players in the digital value chain by assuming new roles and offering new services such as: M2M enabler, Cloud Service provider, one stop IT service provider, smart city enabler or offer vertical solutions (digital home and home health care integrator, transport tolling partner, etc.).

Telcos need to take necessary actions

In order to do so, telcos must rethink their current customer operations and inherent BSS/ OSS landscapes. Core capabilities should be extended to campaign management, order entry, fulfillment, charging & billing, self-service user interface and other.

Operators should increase their strategic capabilities in the service market including omni-channel experience management, single order product catalog and entry function for all sales channels, integrated policy management & control. Partner enablement across the value chain must include M2M and over the top providers, Content, resellers, roaming, wholesale and other players.

The use of APIs and techniques next based action, Unified Marketing, social sentiment analysis, real time charging, can help.

Data need to be integrated with decision support and campaign management systems as well as the analytics engine to trigger context aware events in real time. Customer platforms need to enable marketing campaigns down to the micro and nano level of segmentation and customization. They must support a seamless omni-channel experience, including crowdsourcing. A key word is mass differentiation.

A Web and mobile Portal needs to effectively enable ecommerce, Mobile & Web care, Collaboration Community and order entry. Cloud based sales & services need to guarantee Social listening & Ads, Lead & Opportunity, management, forecasting, etc.

Such system needs to bring together all key parts such as Customers, Prospects, Partners, Social networks, Call Centers, Shops, Connected devices, etc.

How to bring things together for an overall solution

One approach is to split the production systems (Billing & collection, accounts receivables & payables, CRM) from the distribution systems (omni-channel, customer experience management, product catalog, order entry) and integrate those through a Hub.

This Hub could serve as a layer above the network and BSS/OSS layers and then enable digital marketing, online sales, eRetail, smart care and other functions.

Other initiatives could complement:

1)      Drive agile and design thinking across the organization.

2)      Simplify, minimize and standardize. For example, examine and address the overlapping boundaries and inefficiencies among business relationship, development & transformation, IT governance and maintenance.

3)      Leverage SaaS technologies or build virtualized software-based operational stacks.

4)      Move to cloud or outsource tasks such as commissioning, trouble ticketing, fraud & churn analysis, work force management, roaming settlements and partner management.

Work the architecture at two speeds

The backend and transactional core systems of records must be designed and operated for stability, resilience, scalability, reliability and high quality data management. All telcos, different to digital native companies, will need to build on their existing legacy systems. Release cycles will be longer here.

The customer facing front part of the architecture requires fast and highly agile software development and servicing. New micro services must be deployed within hours. Developers should be able to use a wide range of programming languages without being locked in by a stringent development frame work. Business users should be able to make immediate changes to automated processes. Time consuming integration work must be minimized. Decouple products from the processes. Enable work load balancing across private, public and other clouds.

Build a new organization and governance model in parallel with the technology.

The Enterprise Architect’s opportunity to play key role

The Enterprise architect plays a key role to help the CIO drive the digital transformation. The skill set of enterprise architects of the future will include business strategy formulation & execution, business innovation, stakeholder management and agile management. The EA needs to support both hunting and harvesting.



+++
To share your own thoughts or other best practices about this topic, please email me directly to alexwsteinberg (@) gmail.com.

Alternatively, you also may connect with me and become part of my professional network of Business, Digital, Technology & Sustainability experts at

https://www.linkedin.com/in/alexwsteinberg   or
Xing at https://www.xing.com/profile/Alex_Steinberg   or
Google+ at  https://plus.google.com/u/0/+AlexWSteinberg/posts


 
 

Wednesday, 26 August 2015

Applications for competitive advantage - recommended actions


Applications have become a key driver of strategy, innovation and competitive differentiation. Applications are a crucial gateway to seamless customer experience, new services, and revenue streams. Application and business strategies need to align and merge over time.

Companies need to become software driven businesses. They require a new mind set and way of working, an overall organizational approach to business, IT and applications.

Many opportunities and much to be done

A new IT/ OT operating model needed

IT and Operational Technology must increasingly integrate in the age of IoT. Companies require a new IT operating model and a way of how they design, build, use and manage software. Enabling software in itself is becoming a revenue generating product.

The cloud can help mesh together the formerly inaccessible enterprise and machine generated data. It will help bring different business functions even closer together.

New software development thinking

Traditional coding of applications with complex, lengthy implementation cycles does not meet the business requirements any longer. Companies require modular architectures. They need to use next generation integration techniques, driven by a mobile-first, cloud-first mind set.

Applications need to be quickly assembled out of existing, small, reusable components leveraging modular architectures.

Leverage available technologies

Massive amounts of available data, processing power, natural language learning, cognitive computing and machine learning, rule-based algorithms and other advances in data science call for embedding Software Intelligence directly in the applications or processes.   

Intelligent automation helps achieve major productivity increases, minimize errors and throughput time. It also can effectively support and enhance humans in higher quality work. Integrated Analytics enables Applications to analyze, comprehend and take appropriate actions independently.

Digital Agents, enabled by self-governance, are already serving customers. The artificial intelligence company IPsoft has already deployed an effective digital help desk application that can understand human language in 10 languages, search knowledge and databases and respond to specific customer questions within seconds.

Develop better software

The technological advancement enables also of how software can be developed. Test automation tools can use cognitive computing and robotics to generate test artifacts (scenarios, conditions and results) based on plain text functional requirements.

Post deployment tools for service operations can continuously accelerate problem resolution by curating specialized application knowledge and leveraging descriptive analytics and natural language processing.

Applications can and should now automate routine tasks, improve business processes through integrated analytics und ultimately govern themselves.

Leverage Agile, DevOps and other agile engineering techniques!

The importance of APIs

New Application Programming Interfaces (APIs) must enable flexible, efficient exchange of internal and external software components and services. The Internet of Things will bring together all current IT devices with technology equipment, sensors and other devices.  Products will increasingly turn into product-service hybrids.

Support Big Data & Analytics correctly

Extracting the biggest value from Big data & Analytics, requires the right structures, processes and components across the value chain. Big data architectures need to be embedded within the business processes and applications, not at alongside.

Re-work IT systems

One of the barriers is the often monolithic nature of IT systems. Astonishingly, 70 percent of all business transaction still happen in COBOL. Enterprise architecture must support platform integration capabilities, security, API lifecycle management and monitoring. Virtualization, abstraction, simplification, separation of technical and business logic, modularization, componentization and containerization are effective techniques.  

As part of an ecosystem, the individual player need to work together to mitigate the risks of connected applications. Obsolete and legacy applications carry limited or now security built in and must be tightly managed.

Unfortunately, while key technologies are advancing at massive speed, business processes and applications lag behind.

Use IT across the organization

On a larger scale the formerly stand-alone IT function need to be integrated in and fully used by the individual business functions across the organization and value chain.

Integration, Orchestration and Business Process Management services will help configure applications customized to business needs at an ongoing basis.
+++
To share your own thoughts or other best practices about this topic, please email me directly to alexwsteinberg (@) gmail.com.

Alternatively, you also may connect with me and become part of my professional network of Business, Digital, Technology & Sustainability experts at

https://www.linkedin.com/in/alexwsteinberg   or
Xing at https://www.xing.com/profile/Alex_Steinberg   or
Google+ at  https://plus.google.com/u/0/+AlexWSteinberg/posts


Monday, 17 August 2015

CIO actions to build/ improve IT operations


Companies are facing very challenging times. Here, a list of key actions that CIO and Heads of IT should consider. Many of these actions could be financed by vendors/ partners through managed services, cost and risk sharing models:

Build Operations

-          Enable ecosystems of things to respond to action, rather than static, predefine work flows and procedures. Guide end-to-end experience through user personae and journey maps. Monitor/ detect signals and predict impact in the market.

-          Decide on architecture based on use case and business outcomes: Embed intelligence on edge/ each device, in network, cloud broker or back on enterprise hub. Channels and Customer touch points are multiplying the complexity to bring things together

-          Manage all physical and functional attributes of sensors and devices; enable to remotely manage devices. Keep overview of spectrum of network technologies and protocols. Manage properly.

-          Integrate information flow from varying type of devices with proprietary protocols

-          Secure the entire system of devices, connectivity and information exchange. Manage security at the seams (devices, sensor, communication chips, analytics, event analytics, rules engine, etc.)

-          Virtualize and automate operating environment (server, storage, network, security)

-          Implement software defined networking (SDN). Systems must allow real-time integration across multiple services, servers, clouds, data stores enabling mobile devices to initiate requests from everywhere.

-          Build/ support digital platforms to handle all channel, campaign, context and content related activities. Effectively work with CMO to provide richer, target driven, targeted campaigns, promotions and properties. Understand that Marketing is becoming increasingly technology driven and enabled. Connectivity, data and technology have become part of the new marketing mix (with engagement as the forth).

Improve operations

-          Streamline, optimize and automate operations

-          Switch to out-of-the box solutions, minimize customizations and work on technical debt

-          Improve current technical systems through a persona based, user-centric focus.

-          Move applications to the cloud

-          Implement DevOps improving  requirements management, Continuous build, configuration and release management across the organization

-          Upgrade core applications on the existing platform, implement new solutions or overhaul / rebuild platform

-          Drive down operations, people and infrastructure costs. Lead progress in Software defined storage and Software defined data centers as far as feasible (applications strongly dependable on legacy hardware)

-          Drive other sustainable, green initiatives (including energy efficiency programs)


+++
To share your own thoughts or other best practices about this topic, please email me directly to alexwsteinberg (@) gmail.com.

Alternatively, you also may connect with me and become part of my professional network of Business, Digital, Technology & Sustainability experts at

https://www.linkedin.com/in/alexwsteinberg   or
Xing at https://www.xing.com/profile/Alex_Steinberg   or
Google+ at  https://plus.google.com/u/0/+AlexWSteinberg/posts