Welcome!

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

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
The Japan External Trade Organization (JETRO) is a non-profit organization that provides business support services to companies expanding to Japan. With the support of JETRO's dedicated staff, clients can incorporate their business; receive visa, immigration, and HR support; find dedicated office space; identify local government subsidies; get tailored market studies; and more.
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
AI and machine learning disruption for Enterprises started happening in the areas such as IT operations management (ITOPs) and Cloud management and SaaS apps. In 2019 CIOs will see disruptive solutions for Cloud & Devops, AI/ML driven IT Ops and Cloud Ops. Customers want AI-driven multi-cloud operations for monitoring, detection, prevention of disruptions. Disruptions cause revenue loss, unhappy users, impacts brand reputation etc.
Atmosera delivers modern cloud services that maximize the advantages of cloud-based infrastructures. Offering private, hybrid, and public cloud solutions, Atmosera works closely with customers to engineer, deploy, and operate cloud architectures with advanced services that deliver strategic business outcomes. Atmosera's expertise simplifies the process of cloud transformation and our 20+ years of experience managing complex IT environments provides our customers with the confidence and trust tha...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility. As they do so, IT professionals are also embr...
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...
As you know, enterprise IT conversation over the past year have often centered upon the open-source Kubernetes container orchestration system. In fact, Kubernetes has emerged as the key technology -- and even primary platform -- of cloud migrations for a wide variety of organizations. Kubernetes is critical to forward-looking enterprises that continue to push their IT infrastructures toward maximum functionality, scalability, and flexibility.
Today's workforce is trading their cubicles and corporate desktops in favor of an any-location, any-device work style. And as digital natives make up more and more of the modern workforce, the appetite for user-friendly, cloud-based services grows. The center of work is shifting to the user and to the cloud. But managing a proliferation of SaaS, web, and mobile apps running on any number of clouds and devices is unwieldy and increases security risks. Steve Wilson, Citrix Vice President of Cloud,...