Welcome!

Mobile IoT Authors: Elizabeth White, Pat Romanski, Yeshim Deniz, Zakia Bouachraoui, Liz McMillan

Related Topics: Mobile IoT, @DevOpsSummit

Mobile IoT: Blog Post

Nine Rules for the New World of Applications By @BernardGolden [#DevOps]

IT needs to figure out how to accelerate the application deployment process

Through the magic of cloud computing, infrastructure is no longer the long pole in the IT process. Organizations can now set up the infrastructure they require within minutes instead of weeks. However, removing this bottleneck has exposed another; application delivery is the next issue to be resolved. With the ongoing move to digital-first enterprises, companies are now faced with a software-intensive business environment. Simply put, IT needs to figure out how to accelerate the application deployment process. Here are the new rules for enterprises to solve this new bottleneck.

1. The Trouble Ticket Is DOA
Most IT organizations have an electronic system that is a big queue of requests that generates a work order to an IT person who is notified via email from the system. The challenge with this process is that it's very manual. That person has to notice it, respond to it and execute it.

That process is what stands in the way of agility.

PayPal had started with a process that required 117 trouble tickets be executed in order to provision a virtual machine. This meant it took six weeks for a VM to be delivered to the requester. The biggest issue in shortening this time frame was rethinking their process and automating all of the steps. Each step needed to be reviewed and determined how it could be automated. For example, one of the steps reviewed was how IP addresses were created and assigned. That had to be automated.

One of the biggest challenges for organizations is that they want to move to DevOps, but just want to transplant cloud computing into their existing process, which is very manually based.

As a first step, organizations need to ask themselves: "How do we stop doing trouble tickets and doing these tasks manually? How do we move to a world where trouble tickets are no longer part of the process?"

2. Beware of Self-Inflicted Solutions
When organizations are ready to make the move to DevOps, they are ready to build a DevOps process internally. Someone may go to a DevOps event and then come back ready to wire together several open source packages to automate the deployment process.

Through the admirable initiative of moving faster and getting out of the trouble ticket world, creating a one-off solution for most organizations is not a recommended approach because it soon becomes your legacy. In a year's time, the creator of the home-grown DevOps process may no longer be employed, leaving you with questions such as "How do we update it? How do we integrate new products into it?"

You need to create a solution that will not just be focused on one particular infrastructure. What if you decide to move from a public to a private infrastructure, can the new solution be easily extended to utilize it? You don't want to build something that is hampered and not extensible enough to do everything you need to do, today or in the future. You need to seek a commercial product or at least a commercially supported OSS-based product that has integrated a number of OSS components into a full product set. While it's a natural reaction to want to build in-house, you don't want to be painted into a corner.

3. Composable, Not Monolithic
Expectations of developers and business units processes are changing dramatically. The approved stack world (i.e., "all applications will be built this way") is dead. There are a lot of reasons for this.

One of the reasons is that there are so many open source components and so many commercial services that are available that people integrate into their applications, they are more assembled and glued rather than created from scratch.

Even if you use a so-called "approved" component, you have to expect that the totality of the application is going to be a number of different components assembled together. For example, external services, scheduling service, mapping arrangement, etc., would be integrated into your application.

Moreover, you may have distributed development teams, both internal (i.e. those who work for your organization), as well as external. You now have a distributed development organization in which they are all building components or creating services that you will assemble and integrate.

The short-hand term for this is microservices. Pioneered by Netflix, it is based on the concept of aggregating a number of independent components into a complete application. Each component delivers a specific service and responds independently of other components. Your application has to be deft enough that if one service doesn't respond or respond quickly enough, that your application still operates gracefully and continues to operate. And certainly doesn't hang waiting for a response from an external component.

These applications may have highly erratic load conditions. Your application may get traffic based on seasonality or based on an event (e.g., Super Bowl). The application has to be built to support those changing load conditions and assume those components of services all have changing loads in them, so the application can then respond to the load. What will your application do if it doesn't get a response within milliseconds? How will your application respond to a service failure? Your application needs to address these response issues and it should be part of the application design process.

4. Agile Across the Application Lifecycle

One of the biggest shortcomings organizations often react to when they think about cloud computing is putting together a test-dev cloud so developers can get virtual machines on-demand. While this addresses the issue of waiting for infrastructure, it is insufficient.

The whole charter of Enterprise IT is about becoming part and parcel of what your company is doing to deliver business agility, so you need agility across the entire application lifecycle. It doesn't do any good to have your developers work fast, if they still need to go back to the manual, trouble ticket process to get their application deployed into production. So the application delivery must accelerate - extending across the entire lifecycle. The most common phrase for this end-to-end agility is DevOps.

DevOps is a term that's a hot-button - some people really embrace it and really like the message, while others see it as disconcerting or too vague; in addition, when presented with the concept, many people are concerned about how this will affect their job. However, the message of DevOps is that all of these formerly disparate groups that had very separate processes or performed manual rework when they received work performed by a group earlier in the lifecycle, can now use common artifacts that can be handed off to the different groups to gain agility across the application lifecycle.

5. Scalable
Application loads are becoming more erratic than ever based on the idea that "software is eating the world." In this new world of cloud computing, companies don't know when people are going to access their application. They don't know when peaks may happen, so applications must be elastic - able to scale up and down to meet workloads and user inputs. And this has to happen automatically - requiring manual intervention to provision more resources in the face of suddenly increased load is a recipe for disaster.

Having someone monitoring your application to respond to the traffic (send off a trouble ticket to spin up a new VM, etc.) means you will probably be too late to respond to the workload. Those people who try to get in and use your application will be frustrated, and as a result you might lose revenue because users can't trigger a transaction in your system. Your application must be able to grow and shrink according to workloads without manual intervention.

This also means that your infrastructure must have spare capacity. You need to have an environment that has a lot of capacity. Most of our customers have a plan to utilize public cloud computing as part of their overall infrastructure environment. This is very important and will probably be a common infrastructure use pattern going forward.

In addition, you need to do load testing before it goes into production. When you're going through the process, you need to find a way to test the load. You should be doing at least 5X to 10X expected load before going into production. You need to find out if there are any bottlenecks and it is too late to do this when it's in production.

6. Polyglot
It's a polyglot world. As your developers and business units begin to do more unique things with applications that require domain-specific languages, you're going to see more languages coming into your environment. In addition, applications are assembled from disparate components. Developers will want to work in a language that's comfortable for them, you need to expect that's going to happen.

If you're on the operations side, responding with "that's not part of our approved stack," that's a losing argument. An application that is part of a company's revenue-generating capability or is part of a new product will require you to support it. This does make operations more complex, but that is the nature of the world that we're going to and IT needs to support the business.

7. API Enabled
As enterprises begin to integrate more with external companies, every company is becoming a service exposing organization and so just as you consume APIs, you're going to be exposing APIs. While many people think of APIs as being primarily consumer-oriented offerings, the fact is that business-focused companies also provide APIs for customers and partners to integrate with their systems.

For example, AT&T gets 7.8 billion API calls per month. API calls are used for integration with external apps, but also with external services, meaning some external company might be calling your application to get data from you.

Part of what you need to think about is: "How do I envision what my apps do as a service?" One option is to expose all of your objects as APIs. But you don't want to get too granular, so you need to think about service design rather than object exposure.

This raises the issue of "How do I manage this?" Some of the issues include

  • Identity and management control
  • Traffic throttling
  • Your app always has to be up and running
  • Making it easy for those to access it

These are all very important as you become an online service.

8. Client Independent
BYOD understates reality. Your user base is anyone in the world. They can be on any device and capability, so you need to enable apps on any device, not just the one the company prefers. Users can be anyone in the world, so you can't dictate.

Mobile is the tip of the iceberg because the Internet of Things (IoT) is looming on the horizon... thermostats, blood pressure monitors, etc., - essentially, in the near future nearly all physical products will have a software component. There will be a huge number of devices that will be generating a huge amount of data. How do you support the back end of the IoT, devices and erratic workload?

9. Framework Based
This where Stackato comes into play and has a role to play for Enterprise IT. There will be such a demand for applications, if you're in Enterprise IT you need to get out of managing plumbing. And you can't expect your application developers to be writing applications that need to manage erratic loads and build in logic to spin up machines to handle the load. That's crazy. You need to abstract your developers from managing plumbing and let them focus on the business functionality of the application, where all the value to the company resides.

Certainly hybrid cloud manages portability. You might deploy this application into Amazon, an on-premise environment, or Azure or, after initial deployment, you might want to move it. One of the drawbacks of writing the application to manage underlying infrastructure and services is that if you need to move the application to another environment, you're in a world of hurt because you have to rewrite all of that plumbing. You really want some kind of portability and preconfigured common services. Every application has a database in it, so why make every developer design, implement, install, and configure database capability? Why not have a pre-configured service that offers instant database access? That's part of what Stackato, ActiveState's Cloud Foundry based Platform-as-a-Service (PaaS), provides.

It supports late binding deployment decisions. You can develop the application anywhere and then deploy to whatever cloud, public or private, that suits your organization, and you can make that decision literally the day before you deploy. This is critical for the future of IT because it is going to be a hybrid, distributed world.

There is a need for a framework that supports rapid development, provides the same artifacts across the lifecycle, preconfig services and gives you late binding deployment.

Conclusion
In conclusion, it's critical to recognize that IT is the future of every company as "software eats the world." Every IT organization must understand the implications of living in a software-first business environment and make plans to succeed in a world in which infrastructure is easily available and demand for applications is enormous.

The post Nine Rules for the New World of Applications appeared first on ActiveState.

More Stories By Bernard Golden

Bernard Golden has vast experience working with CIOs to incorporate new IT technologies and meet their business goals. Prior to joining ActiveState, he was Senior Director, Cloud Computing Enterprise Solutions, for Dell Enstratius. Before joining Dell Enstratius, Bernard was CEO of HyperStratus, a Silicon Valley cloud computing consultancy that focuses on application security, system architecture and design, TCO analysis, and project implementation. He is also the Cloud Computing Advisor for CIO Magazine and was named a "Top 50 Cloud Computing Blog" by Sys-Con Media. Bernard's writings on cloud computing have been published by The New York Times and the Harvard Business Review and he is the author of Virtualization for Dummies, Amazon Web Services for Dummies and co-author of Creating the Infrastructure for Cloud Computing. Bernard has an MBA in Business and Finance from the University of California, Berkeley.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments t...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...