Welcome!

Mobile IoT Authors: Zakia Bouachraoui, Pat Romanski, Yeshim Deniz, Carmen Gonzalez, 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
Dion Hinchcliffe is an internationally recognized digital expert, bestselling book author, frequent keynote speaker, analyst, futurist, and transformation expert based in Washington, DC. He is currently Chief Strategy Officer at the industry-leading digital strategy and online community solutions firm, 7Summits.
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addr...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
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...
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in ...
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...