Welcome!

Microservices Expo Authors: Pat Romanski, Liz McMillan, Simon Hill, Madhavan Krishnan, VP, Cloud Solutions, Virtusa, John Rauser

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
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, discussed how by using ne...
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...
Cavirin Systems has just announced C2, a SaaS offering designed to bring continuous security assessment and remediation to hybrid environments, containers, and data centers. Cavirin C2 is deployed within Amazon Web Services (AWS) and features a flexible licensing model for easy scalability and clear pay-as-you-go pricing. Although native to AWS, it also supports assessment and remediation of virtual or container instances within Microsoft Azure, Google Cloud Platform (GCP), or on-premise. By dr...
The cloud revolution in enterprises has very clearly crossed the phase of proof-of-concepts into a truly mainstream adoption. One of most popular enterprise-wide initiatives currently going on are “cloud migration” programs of some kind or another. Finding business value for these programs is not hard to fathom – they include hyperelasticity in infrastructure consumption, subscription based models, and agility derived from rapid speed of deployment of applications. These factors will continue to...
While we understand Agile as a means to accelerate innovation, manage uncertainty and cope with ambiguity, many are inclined to think that it conflicts with the objectives of traditional engineering projects, such as building a highway, skyscraper or power plant. These are plan-driven and predictive projects that seek to avoid any uncertainty. This type of thinking, however, is short-sighted. Agile approaches are valuable in controlling uncertainty because they constrain the complexity that ste...
identify the sources of event storms and performance anomalies will require automated, real-time root-cause analysis. I think Enterprise Management Associates said it well: “The data and metrics collected at instrumentation points across the application ecosystem are essential to performance monitoring and root cause analysis. However, analytics capable of transforming data and metrics into an application-focused report or dashboards are what separates actual application monitoring from relat...
"This all sounds great. But it's just not realistic." This is what a group of five senior IT executives told me during a workshop I held not long ago. We were working through an exercise on the organizational characteristics necessary to successfully execute a digital transformation, and the group was doing their ‘readout.' The executives loved everything we discussed and agreed that if such an environment existed, it would make transformation much easier. They just didn't believe it was reali...
"Codigm is based on the cloud and we are here to explore marketing opportunities in America. Our mission is to make an ecosystem of the SW environment that anyone can understand, learn, teach, and develop the SW on the cloud," explained Sung Tae Ryu, CEO of Codigm, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"We're developing a software that is based on the cloud environment and we are providing those services to corporations and the general public," explained Seungmin Kim, CEO/CTO of SM Systems Inc., in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Many enterprise and government IT organizations are realizing the benefits of cloud computing by extending IT delivery and management processes across private and public cloud services. But they are often challenged with balancing the need for centralized cloud governance without stifling user-driven innovation. This strategy requires an approach that fundamentally reshapes how IT is delivered today, shifting the focus from infrastructure to services aggregation, and mixing and matching the bes...
"CA has been doing a lot of things in the area of DevOps. Now we have a complete set of tool sets in order to enable customers to go all the way from planning to development to testing down to release into the operations," explained Aruna Ravichandran, Vice President of Global Marketing and Strategy at CA Technologies, in this SYS-CON.tv interview at DevOps Summit at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
DevOps promotes continuous improvement through a culture of collaboration. But in real terms, how do you: Integrate activities across diverse teams and services? Make objective decisions with system-wide visibility? Use feedback loops to enable learning and improvement? With technology insights and real-world examples, in his general session at @DevOpsSummit, at 21st Cloud Expo, Andi Mann, Chief Technology Advocate at Splunk, explored how leading organizations use data-driven DevOps to close th...
We just came off of a review of a product that handles both containers and virtual machines in the same interface. Under the covers, implementation of containers defaults to LXC, though recently Docker support was added. When reading online, or searching for information, increasingly we see “Container Management” products listed as competitors to Docker, when in reality things like Rocket, LXC/LXD, and Virtualization are Dockers competitors. After doing some looking around, we have decided tha...
The nature of test environments is inherently temporary—you set up an environment, run through an automated test suite, and then tear down the environment. If you can reduce the cycle time for this process down to hours or minutes, then you may be able to cut your test environment budgets considerably. The impact of cloud adoption on test environments is a valuable advancement in both cost savings and agility. The on-demand model takes advantage of public cloud APIs requiring only payment for t...
DevOps teams have more on their plate than ever. As infrastructure needs grow, so does the time required to ensure that everything's running smoothly. This makes automation crucial - especially in the server and network monitoring world. Server monitoring tools can save teams time by automating server management and providing real-time performance updates. As budgets reset for the New Year, there is no better time to implement a new server monitoring tool (or re-evaluate your current solution)....
The benefits of automation are well documented; it increases productivity, cuts cost and minimizes errors. It eliminates repetitive manual tasks, freeing us up to be more innovative. By that logic, surely, we should automate everything possible, right? So, is attempting to automate everything a sensible - even feasible - goal? In a word: no. Consider this your short guide as to what to automate and what not to automate.
"We are an integrator of carrier ethernet and bandwidth to get people to connect to the cloud, to the SaaS providers, and the IaaS providers all on ethernet," explained Paul Mako, CEO & CTO of Massive Networks, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
From our perspective as consumers, perhaps the best thing about digital transformation is how consumerization is making technology so much easier to use. Sure, our television remote controls still have too many buttons, and I have yet to figure out the digital display in my Honda, but all in all, tech is getting easier for everybody. Within companies – even very large ones – the consumerization of technology is gradually taking hold as well. There are now simple mobile apps for a wide range of ...
"I focus on what we are calling CAST Highlight, which is our SaaS application portfolio analysis tool. It is an extremely lightweight tool that can integrate with pretty much any build process right now," explained Andrew Siegmund, Application Migration Specialist for CAST, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.