Welcome!

AJAX & REA Authors: Andreas Grabner, Tim Hinds, RealWire News Distribution, Kevin Benedict

Blog Feed Post

Why Application Modernization is Necessary When You Move to the Cloud?

FutureFor decades we have been developing applications that are tightly coupled and bound to the underlying infrastructure. With the introduction of the cloud though this legacy architectures prove not only to be inefficient but also a major obstacle for you to compete successfully in the new competitive landscape.

 

Let's look at couple of reasons why application modernization is a requirement if you want to leverage cloud technologies, independent of whether those are home grown, private or public.

 

The Problem With Tightly Coupled Applications

Majority of the applications are developed with some user interaction layer, business logic and backend storage. When those are tightly coupled together your only option to scale the application is to add more hardware to the machine that currently runs this application, approach also known as vertical scaling. However there are few problems that arise:

  • Adding more CPU power and memory to the machine has certain limits that are imposed by the hardware architecture. You can invest in more advanced hardware but this increases even more your infrastructure costs (high-end hardware costs several times more than the commodity hardware used in cloud data-centers).
  • The performance of your application is determined by the slowest component in it. Thus even if the UI is super fast and is able to handle large amount of users but the business logic is slow and cannot handle the load you will be limited to the load the business logic can handle. Because the UI and the business logic are tied together you will not be able to scale just the business logic in order to handle more users. This leads to inefficient resource utilization and again higher infrastructure costs.
  • Tightly coupled applications do not normally have clearly separated tiers with defined interfaces and changes in one part of the application may have undesired impacts in another. Tasks like fixing, updating and extending it become a maintenance nightmare. The budget for supporting and maintaining such applications grows each year.

 

Here is how those things get solved in a cloud architected applications:

  • Adding CPU power and memory is trivial - it is just a matter of adding a new instance of the application (or just part of it as you can see in the next bullet point). Cloud enabled applications scale out by adding more instances of the application or the application components that work in parallel (also known as horizontal scaling).
  • The performance of the application is not anymore determined by its slowest component. Because the components of the application are clearly separated you can scale out just parts of the application (i.e. the business logic in the previous example) to match the load that the UI can handle. You have much more flexibility and granular control over the way your application scales.
  • Because the components of the application are clearly separated, changes in one component do not impact another as long as the interfaces are kept in tact. Tasks like testing fixes, updating components, improving the performance of particular tier and any other maintenance and support becomes much easier.

 

The Problem With Local Resources

Another common problem with legacy applications are the dependencies on local resources. Few examples are:

  • Dependencies on locally installed software or libraries. Such dependencies can be specialized server software, local queue implementations, client libraries used for special rendering etc. Lot of the times this software comes with additional licensing costs.
  • Reliance on the local file system. Application logging is a typical example but you can also think of other things like loading data from local files, storing data locally etc. Server failure results in data loss, which in some cases may not be acceptable.
  • Sticky sessions and storing session information locally. Every web application relies on user sessions and each web framework offers a way to manage those on the server side. However if the server fails the session is lost, which impacts the user experience.

The biggest problem with local resources is the assumption that those will be available throughout the lifetime of the application. But even the most reliable hardware can fail and when this happens everything that is stored locally will be lost. The price you will pay for lost data will significantly exceed even the most expensive hardware.

 

Cloud enabled applications solve those problems as follows:

  • Workloads that require specialized software can be deployed on a infrastructure pool that has the software preinstalled. Thus adding more customers will not require new licenses for the software.
  • Critical data as well as logs is stored in a central storage local that is regularly backed up and can even be geo-replicated. The chances of data loss in the cloud are significantly lower.
  • Sessions are stored either in a shared storage or in distributed cache and accessible from each instance of the application. Thus failure in one application instance does not impact the user experience because the next request is routed to another instance.

 

The Problem With Configurations

The last one I would like to touch on is the problem with configuration. Near all applications suffer from the  configurations problem but in legacy applications this is particularly amplified. The whole problem starts with the need to have one configuration that mangoes all components or at least the front-end and the business logic. Then over time this configuration grows and grows together with the new functionality added to the application.

 

But this is not the only issue with legacy applications configurations. The bigger issue is the settings that rely on the underlying infrastructure. This was OK when you were in control of the infrastructure and on which server the application is deployed however this approach results in increased configuration sprawl when the application needs to be moved between environments.

 

When you design your application for the cloud though you are forced to abstract the configuration from the underlying infrastructure and things like hard coded local paths, reliance on local environment variables or machine configurations have no place in your configuration files. Thus you make changes in your configuration only when new functionality is added and not when you move your code between environments (as in development, test, production)

 

Even if you are not considering immediate migration of your applications to the cloud is worth evaluating your application portfolio and estimating the effort to make it cloud-ready. It is of benefit not only for your cloud efforts but as a general strategy for the future.

Read the original blog entry...

More Stories By Toddy Mladenov

Toddy Mladenov has more than 15 years experience in software development and technology consulting at companies like Microsoft, SAP and 3Com. Currently he drives the sales engineering efforts of the private-PaaS startup Apprenda and consults enterprise customers on their cloud computing and software development strategies. Before Apprenda Toddy spent more than six years working on Microsft's cloud computing platform Windows Azure, Windows Client and MSN/Windows Live. During his career at Microsoft he managed different aspects of the software development process for Windows Azure and Windows Services. He also evangelized Microsoft cloud services among open source communities like PHP and Java. In the past he developed enterprise software for German's software giant SAP and several startups in Europe, and managed the technical sales for 3Com in the Balkan region.

With his broad industry experience, international background and end-user point of view Toddy has an unique approach towards technology. He believes that technology should be develop to improve people's lives and is eager to share his knowledge in topics like cloud computing, mobile and web development.

Cloud Expo Breaking News
More and more enterprises today are doing business by opening up their data and applications through APIs. Though forward-thinking and strategic, exposing APIs also increases the surface area for potential attack by hackers. To benefit from APIs while staying secure, enterprises and security architects need to continue to develop a deep understanding about API security and how it differs from traditional web application security or mobile application security. In his session at 14th Cloud Expo, Sachin Agarwal, VP of Product Marketing and Strategy at SOA Software, will walk you through the various aspects of how an API could be potentially exploited. He will discuss the necessary best practices to secure your data and enterprise applications while continue continuing to support your business’s digital initiatives.
The revolution that happened in the server universe over the past 15 years has resulted in an eco-system that is more open, more democratically innovative and produced better results in technically challenging dimensions like scale. The underpinnings of the revolution were common hardware, standards based APIs (ex. POSIX) and a strict adherence to layering and isolation between applications, daemons and kernel drivers/modules which allowed multiple types of development happen in parallel without hindering others. Put simply, today's server model is built on a consistent x86 platform with few surprises in its core components. A kernel abstracts away the platform, so that applications and daemons are decoupled from the hardware. In contrast, networking equipment is still stuck in the mainframe era. Today, networking equipment is a single appliance, including hardware, OS, applications and user interface come as a monolithic entity from a single vendor. Switching between different vendor'...
You use an agile process; your goal is to make your organization more agile. What about your data infrastructure? The truth is, today’s databases are anything but agile – they are effectively static repositories that are cumbersome to work with, difficult to change, and cannot keep pace with application demands. Performance suffers as a result, and it takes far longer than it should to deliver on new features and capabilities needed to make your organization competitive. As your application and business needs change, data repositories and structures get outmoded rapidly, resulting in increased work for application developers and slow performance for end users. Further, as data sizes grow into the Big Data realm, this problem is exacerbated and becomes even more difficult to address. A seemingly simple schema change can take hours (or more) to perform, and as requirements evolve the disconnect between existing data structures and actual needs diverge.
Cloud backup and recovery services are critical to safeguarding an organization’s data and ensuring business continuity when technical failures and outages occur. With so many choices, how do you find the right provider for your specific needs? In his session at 14th Cloud Expo, Daniel Jacobson, Technology Manager at BUMI, will outline the key factors including backup configurations, proactive monitoring, data restoration, disaster recovery drills, security, compliance and data center resources. Aside from the technical considerations, the secret sauce in identifying the best vendor is the level of focus, expertise and specialization of their engineering team and support group, and how they monitor your day-to-day backups, provide recommendations, and guide you through restores when necessary.
Cloud scalability and performance should be at the heart of every successful Internet venture. The infrastructure needs to be resilient, flexible, and fast – it’s best not to get caught thinking about architecture until the middle of an emergency, when it's too late. In his interactive, no-holds-barred session at 14th Cloud Expo, Phil Jackson, Development Community Advocate for SoftLayer, will dive into how to design and build-out the right cloud infrastructure.
SYS-CON Events announced today that SherWeb, a long-time leading provider of cloud services and Microsoft's 2013 World Hosting Partner of the Year, will exhibit at SYS-CON's 14th International Cloud Expo®, which will take place on June 10–12, 2014, at the Javits Center in New York City, New York. A worldwide hosted services leader ranking in the prestigious North American Deloitte Technology Fast 500TM, and Microsoft's 2013 World Hosting Partner of the Year, SherWeb provides competitive cloud solutions to businesses and partners around the world. Founded in 1998, SherWeb is a privately owned company headquartered in Quebec, Canada. Its service portfolio includes Microsoft Exchange, SharePoint, Lync, Dynamics CRM and more.
The world of cloud and application development is not just for the hardened developer these days. In their session at 14th Cloud Expo, Phil Jackson, Development Community Advocate for SoftLayer, and Harold Hannon, Sr. Software Architect at SoftLayer, will pull back the curtain of the architecture of a fun demo application purpose-built for the cloud. They will focus on demonstrating how they leveraged compute, storage, messaging, and other cloud elements hosted at SoftLayer to lower the effort and difficulty of putting together a useful application. This will be an active demonstration and review of simple command-line tools and resources, so don’t be afraid if you are not a seasoned developer.
SYS-CON Events announced today that BUMI, a premium managed service provider specializing in data backup and recovery, will exhibit at SYS-CON's 14th International Cloud Expo®, which will take place on June 10–12, 2014, at the Javits Center in New York City, New York. Manhattan-based BUMI (Backup My Info!) is a premium managed service provider specializing in data backup and recovery. Founded in 2002, the company’s Here, There and Everywhere data backup and recovery solutions are utilized by more than 500 businesses. BUMI clients include professional service organizations such as banking, financial, insurance, accounting, hedge funds and law firms. The company is known for its relentless passion for customer service and support, and has won numerous awards, including Customer Service Provider of the Year and 10 Best Companies to Work For.
Chief Security Officers (CSO), CIOs and IT Directors are all concerned with providing a secure environment from which their business can innovate and customers can safely consume without the fear of Distributed Denial of Service attacks. To be successful in today's hyper-connected world, the enterprise needs to leverage the capabilities of the web and be ready to innovate without fear of DDoS attacks, concerns about application security and other threats. Organizations face great risk from increasingly frequent and sophisticated attempts to render web properties unavailable, and steal intellectual property or personally identifiable information. Layered security best practices extend security beyond the data center, delivering DDoS protection and maintaining site performance in the face of fast-changing threats.
From data center to cloud to the network. In his session at 3rd SDDC Expo, Raul Martynek, CEO of Net Access, will identify the challenges facing both data center providers and enterprise IT as they relate to cross-platform automation. He will then provide insight into designing, building, securing and managing the technology as an integrated service offering. Topics covered include: High-density data center design Network (and SDN) integration and automation Cloud (and hosting) infrastructure considerations Monitoring and security Management approaches Self-service and automation
In his session at 14th Cloud Expo, David Holmes, Vice President at OutSystems, will demonstrate the immense power that lives at the intersection of mobile apps and cloud application platforms. Attendees will participate in a live demonstration – an enterprise mobile app will be built and changed before their eyes – on their own devices. David Holmes brings over 20 years of high-tech marketing leadership to OutSystems. Prior to joining OutSystems, he was VP of Global Marketing for Damballa, a leading provider of network security solutions. Previously, he was SVP of Global Marketing for Jacada where his branding and positioning expertise helped drive the company from start-up days to a $55 million initial public offering on Nasdaq.
Performance is the intersection of power, agility, control, and choice. If you value performance, and more specifically consistent performance, you need to look beyond simple virtualized compute. Many factors need to be considered to create a truly performant environment. In his General Session at 14th Cloud Expo, Marc Jones, Vice President of Product Innovation for SoftLayer, will explain how to take advantage of a multitude of compute options and platform features to make cloud the cornerstone of your online presence.
Are you interested in accelerating innovation, simplifying deployments, reducing complexity, and lowering development costs? The cloud is changing the face of application development and deployment, with enterprise-grade infrastructure and platform services making it possible for you to build and rapidly scale enterprise applications. In his session at 14th Cloud Expo, Gene Eun, Sr. Director, Oracle Cloud at Oracle, will discuss the latest solutions and strategies for application developers and enterprise IT organizations to leverage Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) to build and deploy modern business applications in the cloud.
Hybrid cloud refers to the federation of a public and private cloud environment for the purpose of extending the elastic and flexibility of compute, storage and network capabilities, in an on-demand, pay-as-you go basis. The hybrid approach allows a business to take advantage of the scalability and cost-effectiveness that a public cloud computing environment offers without exposing mission-critical applications and data to third-party vulnerabilities. Hybrid cloud environments involve complex management challenges. First, organizations struggle to maintain control over the resources that lie outside of their managed IT scope. They also need greater infrastructure visibility to help reduce maintenance costs and ensure that their company data and resources are properly handled and secured.
As more applications and services move "to the cloud" (public or on-premise), cloud environments are increasingly adopting and building out traditional enterprise features. This in turn is enabling and encouraging cloud adoption from enterprise users. In many ways the definition is blurring as features like continuous operation, geo-distribution or on-demand capacity become the norm. At NuoDB we're involved in both building enterprise software and using enterprise cloud capabilities. In his session at 14th Cloud Expo, Seth Proctor, CTO of NuoDB, Inc., will cover experiences from building, deploying and using enterprise services and suggest some ways to approach moving enterprise applications into a cloud model.