Welcome!

Microservices Expo Authors: Pat Romanski, Elizabeth White, Liz McMillan, Stackify Blog, Yeshim Deniz

Related Topics: Microservices Expo, Containers Expo Blog, @DevOpsSummit

Microservices Expo: Blog Feed Post

Navigating the Politics of Microservices | @DevOpsSummit #Microservices

Microservices do far more than simply keep the project manageable

Navigating the Politics of Microservices
By John Mueller

Microservices has the potential of significantly impacting the way in which developers create applications. It's possible to create applications using microservices faster and more efficiently than other technologies that are currently available. The problem is that many people are suspicious of microservices because of all the technology claims to do. In addition, anytime you start moving things around in an organization, it means changing the status quo and people dislike change. Even so, microservices present a way to create great applications quickly, but first you must overcome the politics that prevent people from using it.

Considering the Need for Microservices
A problem with current development techniques is that the developer needs to work with a large number of design patterns in order to produce a quality result. The application development environment continues to become more complex with each passing year. Even with good development practices and the employment of the appropriate design patterns, today's applications can become inefficient and difficult to maintain due to the ball of mud problem, where one task ends up taking on most of the processing needs or it becomes so huge that it starts to work outside its originally designed areas of expertise. Microservices avoids these problems by using just a few patterns and keeping the size of each task small.

However, microservices do far more than simply keep the project manageable. By using microservices, you can avoid making as many application design decisions up front. It's entirely possible to be tasked with an application development project one Monday and have a working model the following Monday. The working model may consist of just a login and a main screen, but you have something to show people – a sign of progress. Thereafter, each Monday will show another update in the application development process. Even using agile techniques, you can't obtain this result. It's essential to remember that development speed wins every time in the marketplace, so creating an environment in which it's possible to work quickly (and with few errors) is important.

There is also the issue of rolling out updates. Using current techniques, you need to lock down the system, roll out the new version, and hope that it works properly in the production environment. When working with microservices, you can roll out an update a little at a time by transferring traffic gradually to the new version of the microservice. As the new version takes more of the load, you can watch for potential problems and fix them before the user even notices. Consequently, updates don't occur at strict time frames and users are unlikely to even notice that they've taken place.

Defining Organizational Goals
The goals of using microservices are to make an organization more efficient and to allow updates in a timely fashion. In addition, using microservices allows better application designs where a single piece of code doesn't end up doing everything. Companies such as Nike, Netflix, and Twitter are using microservices to create better applications in far less time than would normally be possible. In order to achieve these goals, an organization must:

  • Incorporate new disciplines into the development process.
  • Obtain new tools to use when creating the applications.
  • Change the team dynamics in order to make microservices workable.

These sorts of changes don't occur overnight, so it's important to set realistic milestones when adding microservices to your development cycle. It may very well be that you'll continue to use older techniques for existing applications and employ microservices with new development-at least, at the outset.

Overcoming Fiefdoms
It's fine to say that there are all sorts of good reasons to adopt microservices as a strategy. You can spend a great deal of time demonstrating their superiority and even point out the need for these solutions in order to progress with organizational goals. In a perfect world, pointing these things out would be enough to convince anyone of the purity of your insights and they'd likely go along with you to some extent. Unfortunately, this is the real world and the real world is ruled by managers jealously guarding their fiefdoms. Siloed applications present a real threat to your organization. In fact, I've discussed this issue before in Breaking Down the Walls of the Siloed Application. The problem with microservices is that they represent a new way of accomplishing tasks that will threaten people's stranglehold on a piece of the pie, which makes microservices a very hard sell indeed.

The push for using microservices comes from ambitious vice presidents who have authority to fund large programming projects. These people see how long it takes to create applications using older approaches and know that waiting that long in today's environment simply won't work. Using microservices provides an effective and quick method for creating applications that actually do everything they promise. The payback for the vice president is the potential for advancement or other perks. Once a vice president is able to deliver applications more quickly and with fewer problems, the organization as a whole gets behind using microservices as the preferred approach. The problem is getting those early successes and overcoming the inertia of the siloed application environment.

It's important to understand that microservices won't become a major contributor to application development in any organization quickly. You need to start small and build on your successes to overcome the inertia of monolithic application development in most organizations. Even if the organization is ready to start development today, you need to build the required expertise to make microservices successful. In order to overcome objections from the various individuals in an organization who currently control development of one or more monolithic applications, begin by building a small application that starts out as a microservices project. The success you have will provide a reason for others to believe in the ability of microservices to deliver on its promises.

Creating Workable Solutions
When considering a microservice ramp-up for your organization, it's important to remember that you already have a considerable code base defined around existing technologies. In addition, using microservices involves fundamentally changing how an organization performs development. You can see how Microservices affects your development team here. Here are some other things to consider in order to create a workable solution.

  • Create a few course-grained microservices for new application features to start.
  • Keep the development team that is responsible for microservices development separate from the team that currently maintains the monolithic application.
  • As development progresses with the initial microservices and you can see where changes need to be made, create finer-grained microservices to produce better results.
  • Provide enough time for existing teams to discover how to use microservices and begin incorporating them into existing applications.
  • Develop microservices that provide self-contained business features at the outset so that you don't have to worry about interactions as much.
  • Obtain the tools required to perform granular monitoring, log aggregation, application metrics, automated deployment, and status dashboards for data such as system status and log reporting.
  • Slowly cross-train individuals so that the sharp divisions between skill sets diminishes.
  • Break down the silos between various groups.
  • Standardize service templates so that it's possible to create microservices with a minimum of chatter between groups.
  • Slide development from the existing monolithic application to one designed around microservices. However, don't make an existing monolithic application your first project-start with an application that uses microservices from the outset.
  • Prune older microservices from the system as you replace them with finer-grained and more functional replacements.

What Do You Think?
While implementing microservices presents certain political and cultural problems in an organization, it also holds the chance to create new opportunities in teams that earnestly want to build better software faster than ever. Coworkers not only build more scalable software in the process of properly implementing microservices, but also build more efficient group dynamics at the same time.

What challenges are you facing in your journey with microservices? We'd like to hear your stories, your experiments, and your opinions on the matter.

Read the original blog entry...

More Stories By SmartBear Blog

As the leader in software quality tools for the connected world, SmartBear supports more than two million software professionals and over 25,000 organizations in 90 countries that use its products to build and deliver the world’s greatest applications. With today’s applications deploying on mobile, Web, desktop, Internet of Things (IoT) or even embedded computing platforms, the connected nature of these applications through public and private APIs presents a unique set of challenges for developers, testers and operations teams. SmartBear's software quality tools assist with code review, functional and load testing, API readiness as well as performance monitoring of these modern applications.

@MicroservicesExpo Stories
SYS-CON Events announced today that Peak 10, Inc., a national IT infrastructure and cloud services provider, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Peak 10 provides reliable, tailored data center and network services, cloud and managed services. Its solutions are designed to scale and adapt to customers’ changing business needs, enabling them to lower costs, improve performance and focus intern...
DevOps at Cloud Expo – being held October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real r...
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...
SYS-CON Events announced today that Fusion, a leading provider of cloud services, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Fusion, a leading provider of integrated cloud solutions to small, medium and large businesses, is the industry’s single source for the cloud. Fusion’s advanced, proprietary cloud service platform enables the integration of leading edge solutions in the cloud, including cloud...
SYS-CON Events announced today that CollabNet, a global leader in enterprise software development, release automation and DevOps solutions, will be a Bronze Sponsor of SYS-CON's 20th International Cloud Expo®, taking place from June 6-8, 2017, at the Javits Center in New York City, NY. CollabNet offers a broad range of solutions with the mission of helping modern organizations deliver quality software at speed. The company’s latest innovation, the DevOps Lifecycle Manager (DLM), supports Value S...
There are two main reasons for infrastructure automation. First, system administrators, IT professionals and DevOps engineers need to automate as many routine tasks as possible. That’s why we build tools at Stackify to help developers automate processes like application performance management, error monitoring, and log management; automation means you have more time for mission-critical tasks. Second, automation makes the management of complex, diverse environments possible and allows rapid scal...
SYS-CON Events announced today that HTBase will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. HTBase (Gartner 2016 Cool Vendor) delivers a Composable IT infrastructure solution architected for agility and increased efficiency. It turns compute, storage, and fabric into fluid pools of resources that are easily composed and re-composed to meet each application’s needs. With HTBase, companies can quickly prov...
This talk centers around how to automate best practices in a multi-/hybrid-cloud world based on our work with customers like GE, Discovery Communications and Fannie Mae. Today’s enterprises are reaping the benefits of cloud computing, but also discovering many risks and challenges. In the age of DevOps and the decentralization of IT, it’s easy to over-provision resources, forget that instances are running, or unintentionally expose vulnerabilities.
One of the biggest challenges with adopting a DevOps mentality is: new applications are easily adapted to cloud-native, microservice-based, or containerized architectures - they can be built for them - but old applications need complex refactoring. On the other hand, these new technologies can require relearning or adapting new, oftentimes more complex, methodologies and tools to be ready for production. In his general session at @DevOpsSummit at 20th Cloud Expo, Chris Brown, Solutions Marketi...
It has never been a better time to be a developer! Thanks to cloud computing, deploying our applications is much easier than it used to be. How we deploy our apps continues to evolve thanks to cloud hosting, Platform-as-a-Service (PaaS), and now Function-as-a-Service. FaaS is the concept of serverless computing via serverless architectures. Software developers can leverage this to deploy an individual "function", action, or piece of business logic. They are expected to start within milliseconds...
We all know that end users experience the internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices - not doing so will be a path to eventual ...
@DevOpsSummit at Cloud taking place June 6-8, 2017, at Javits Center, New York City, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long developm...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, Cloud Expo and @ThingsExpo are two of the most important technology events of the year. Since its launch over eight years ago, Cloud Expo and @ThingsExpo have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, I provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading the...
The purpose of this article is draw attention to key SaaS services that are commonly overlooked during contact signing that are essential to ensuring they meet the expectations and requirements of the organization and provide guidance and recommendations for process and controls necessary for achieving quality SaaS contractual agreements.
SYS-CON Events announced today that OpsGenie will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Founded in 2012, OpsGenie is an alerting and on-call management solution for dev and ops teams. OpsGenie provides the tools needed to design actionable alerts, manage on-call schedules and escalations, and ensure that the right people are notified at the right time, using multiple notification methods.
The first step to solving a problem is recognizing that it actually exists. And whether you've realized it or not, cloud services are a problem for your IT department. Even if you feel like you have a solid grasp of cloud technology and the nuances of making a cloud purchase, business leaders don't share the same confidence. Nearly 80% feel that IT lacks the skills necessary to help with cloud purchases-and they're looking to cloud brokers for help instead. It's time to admit we have a cloud s...
According to a recent Gartner study, by 2020, it will be unlikelythat any enterprise will have a “no cloud” policy, and hybrid will be the most common use of the cloud. While the benefits of leveraging public cloud infrastructures are well understood, the desire to keep critical workloads and data on-premise in the private data center still remains. For enterprises, the hybrid cloud provides a best of both worlds solution. However, the leading factor that determines the preference to the hybrid ...
In this modern world of IT, you've probably got some new colleagues in your life-namely, the cloud and SaaS providers who now hold your infrastructure in their hands. These business relationships-yes, they're technology-based, but cloud and SaaS are business models-will become as important to your IT team and your company as the hardware and software you used to install. Once you've adopted SaaS, or inherited SaaS, it's on you to avoid price hikes, licensing issues and app or provider sprawl....
A completely new computing platform is on the horizon. They’re called Microservers by some, ARM Servers by others, and sometimes even ARM-based Servers. No matter what you call them, Microservers will have a huge impact on the data center and on server computing in general. Although few people are familiar with Microservers today, their impact will be felt very soon. This is a new category of computing platform that is available today and is predicted to have triple-digit growth rates for some ...
In IT, we sometimes coin terms for things before we know exactly what they are and how they’ll be used. The resulting terms may capture a common set of aspirations and goals – as “cloud” did broadly for on-demand, self-service, and flexible computing. But such a term can also lump together diverse and even competing practices, technologies, and priorities to the point where important distinctions are glossed over and lost.