Posted Date: May 30, 2023 by:
Sidney Antommarchi

Microservices

After its introduction around 2004, Microservices have gained much traction in Industry and Government. Some primary adopters of Microservices include Industry giants Netflix, Uber, Spotify, Amazon, and Meta. In Government, adopters include the Environmental Protection Agency (EPA), General Services Administration (GSA), and the Department of Agriculture (USDA). Industry businesses such as Netflix are run in their entirety with Microservices. Microservices provide a basis for modern custom Cloud-First/Native applications. This article will examine Microservices’ definition, benefits, uses, and architecture.

Microservice architecture is a variant of the Service-Oriented Architecture (SOA) structural style in Software Engineering. Microservices are an architectural pattern that arranges an application as a collection of independent, loosely-coupled, fine-grained services communicating through lightweight protocols. A Microservice stands on its own; in other words, Microservices are independent. A Microservice can also be used along with other Microservices to accomplish broader tasks; in other words, Microservices are loosely coupled. The scope of a Microservice has small/limited functionality and is hence termed fine-grained. This means that, for example, if an application needs to keep track of customer orders, then a possible Microservice scope would keep track of just customer contact information. Methodologies such as Domain-Driven Design (DDD) are used to find the right balance for Microservices functionality. Microservices also communicate through lightweight protocols such as Hypertext Transfer Protocol Secure (HTTPS) with Representation State Transfer (REST) Application Programming Interfaces (APIs), e.g., https://domain/version/microservice/data. An overall application is built using several or many Microservices – essentially breaking the application up into pieces that can operate independently rather than as a single entity.

One of the goals for Microservices architecture is to have small self-contained teams that can develop and deploy their microservice independently. This is achieved by reducing dependencies, allowing developers to evolve their Microservices with limited user restrictions, and for additional complexity to be hidden from users. Consequently, organizations can develop software with fast growth and size and use off-the-shelf services more efficiently. Communication requirements are reduced. These benefits come at a cost to maintaining the decoupling. Interfaces need to be designed carefully and treated as public APIs. One technique used is having multiple interfaces for the same service or various versions of the same service to not disrupt existing service users. Microservices architectures make applications easier to scale and faster to develop, enabling innovation and accelerating time-to-market for new features.

Microservices stand in contrast to monolithic architectures, where all processes are tightly coupled and run as a single service. This means that the entire architecture must be scaled if one application process experiences a spike in demand. Adding or improving a monolithic application’s features becomes more complex as the code base grows. This complexity limits experimentation and makes it challenging to implement new ideas. Monolithic architectures add risk for application availability because many dependent and tightly coupled processes increase the impact of a single process failure.

In contrast, in a Microservices architecture, an application is built as independent components that run each application process as a service. These services communicate via a well-defined interface using lightweight APIs. Services are made for business capabilities, and each service performs a single function. Because they are independently run, each service can be updated, deployed, and scaled to meet the demand for specific tasks of an application.

Microservices do not compete with or replace Low/No Code solutions. Rather, Microservices and Low/No Code can be seen as complementary technologies. In contrast to Low/No Code solutions, Microservices are used when a high degree of customization is needed, e.g., Section 508 full compliance. However, Microservices and Low/No Code have areas of overlap. In fact, in some cases, Microservices are as cost-effective based on Total Cost of Ownership (TCO) as Low/No Code with Analysis of Alternatives (AoA) with similar time-to-market characteristics. A Microservices Reference Architecture is shown in Figure 1 below. Within the architecture, a front-end web application makes a REST API call via a browser to a Microservice. The Back-end Web service then handles the browser’s HTTPS request. Back-end Web service can be implemented with open-source commercial-off-the-shelf (COTS) components like Apache. The Back-end Web service then routes the request to an API Gateway, which maps the request to a particular Microservice for processing.

Figure 1 Microservices Reference Architecture

API Gateways can be implemented with open-source COTS components such as Netflix Zuul or services such as the Azure App Service. Depending on the level of reliability needed, Microservices can be run in dual-redundant mode with failover. This is true of data services for the Microservice itself. For the API Gateway to map a request to a Microservice, the Registration

Common Service is used. A Registration Common Service can be implemented with open-source COTS components like Netflix Eureka. The API Gateway also monitors the heartbeat of a Microservice and determines if a failover needs to be triggered. Microservices make use of Common Services such as:

· Directory for Authentication and Authorization can be implemented with services such as Azure Active Directory.

· Web Analytics for usage data can be implemented with services such as Azure Monitor.

· Serverless Computing for small, infrequently used functionality scheduled on-demand and can be implemented with services such as Amazon Web Services (AWS) Lambda.

· Secrets/Certificates for connection/communication can be implemented with services such as Azure Key Vault.

· Storage for long-term data retention can be implemented with services such as AWS S3 Glacier.

· Distributed Logging/Tracing for application debugging can be implemented with services such as Azure Monitor or Amazon MQ or open-source COTS such as ActiveMQ and Elasticsearch, Logstash, and Kibana (ELK) stack.

· Artificial Intelligence / Machine Learning (AI/ML) for metadata tagging and other functionality can be implemented with services such as AWS ML.

· Messaging between Microservices and Common Services can be implemented with services such as Azure Service Bus.

· Agile Management to manage development projects/programs and can be implemented with services such as Jira or Azure DevOps.

· Continuous Integration / Continuous Delivery (CI/CD) to automate release and deployment and can be implemented with services such as AWS Pipeline.

· Containers for faster deployment and resource efficiency and can be implemented with services such as Azure Kubernetes Service (AKS).

Centennial Technologies Inc. has applied Microservices at the Environmental Protection Agency (EPA) and other Federal agencies. We have the experience and subject matter experts to help your organization analyze, architect, implement, develop, deploy, and operate Microservices. We can also help you tailor the implementation of Microservices to your organization’s needs with the right balance between open-source COTS, Software as a Service (SaaS), and Platform as a Service (PaaS) to yield faster time-to-market, scalable, and resilient applications.

Point of Contact
Sidney Antommarchi
Director of Solutions
sidney.antommarchi@centennial-tech.com

Ben Marglin

Vice President of Business Development

Ben Marglin is Vice President of Business Development at Centennial Technologies, focused on developing and leading the growth strategy for Centennial. With over 25 years of experience in public sector management and technology consulting, Ben’s strengths include building strong client relationships with both existing and prospective clients, and serving as a people leader across the organization, helping to promote a strong and healthy company culture. Ben leads the growth team to identify and capture new opportunities across the business development lifecycle, working to expand Centennial’s business in the Federal and commercial space. 

Before Centennial, Ben was a Senior Vice President at Karsun Solutions, where he led client delivery for a ~$130M portfolio across several Federal civilian agencies and led a team of over 500 folks providing support to Federal clients. He spent 17 years with Booz Allen Hamilton, mainly in Federal Civilian market leadership roles where he had full P&L responsibility for a portfolio of Federal agencies, and he also spent two years in BAH’s Strategic Innovation Group (SIG) helping to lead the Digital Solutions practice area. Earlier, Ben worked for American Management Systems (AMS) providing IT and management solutions to state and local clients, and he spent three years on Capitol Hill working in the U.S. Senate.

Ben’s areas of expertise include digital strategy and transformation, acquisition, change management, and IT program management. He has a master’s degree in public policy from Duke University and a bachelor’s degree from Colby College and has professional certifications in Program Management (PMP), AWS Cloud, Agile (SAFe and ICAgile), Change Management (CMAP), ITIL, and Technology Business Management (TBM). Ben lives in Northern Virginia with his wife, son, and goldendoodle Sophie, and when he’s not doing yard work, he enjoys golf, running and biking, and following his native Boston sports teams. You can connect with him on LinkedIn or Twitter.

sunitha

Sunitha Ravi

Vice President of Operations and Delivery

Sunitha Ravi is the Vice President of Operations and Delivery at Centennial Technologies Inc. In her role, she focuses on building trusted relationships with senior federal clients while driving innovative and customer-centric solutions. Using over 26 years of experience supporting both the public and private sectors, Sunitha aligns technology with strategic business and operational goals while managing operations and technology teams to deliver excellent customer service.

Before Centennial, Sunitha was a Director at VMWare public sector and led various programs for federal clients through agile and scrum practices while meeting growth and profitability goals. Before VMWare, Sunitha held various leadership positions at Verizon, Terramark, and Tetra Tech. She managed the delivery of financial and technology solutions and served as a trusted advisor to executive and management stakeholders. She successfully led teams of over 200 staff and agency portfolios with ~$100M in annual revenue. She supported financial teams and improved the finance function by driving more efficient processes and streamlining financial reporting.

She holds a Master’s degree in environmental engineering and is an Earned Value Practitioner (EVP), Project Management Professional (PMP), and Information Technology Infrastructure Library (ITIL) certified. She lives in Ashburn, Virginia, with her husband and two daughters and enjoys traveling, spending time with friends and family, and cooking.

saishree

Saishree Shetty

Senior Director of Growth and Client Success

Saishree Shetty is the Senior Director of Growth and Client Success at Centennial Technologies. Saishree’s role is to expand our presence within the Civilian Health agencies, foster relationships with clients and potential partners, and enhance our current capabilities. She brings over two decades of experience in IT strategy, program management and delivery and business development in the federal and commercial sectors.

 

Before joining Centennial, Saishree was a Vice President of Business Development at a mid-size company and a woman-owned small business prior to that. She focused on growing accounts, increasing market presence, and capturing new business at various federal agencies. Having held several leadership positions in small and large consulting companies, Saishree brings a wealth of program management and delivery knowledge into her business development role.

 

Saishree has her Executive Leadership from Yale School of Management, Master of Science in Information Systems from Marshall University and a Bachelor of Engineering in Computer Science and Engineering. Outside of work, Saishree’s interests lie in outdoor activities, organizing social events and bringing people together. 

email us your CV at @centennial-tech.com - 17

Brad Marchand

Executive Director of Client Delivery and Customer Service

Brad Marchand is the Executive Director of Client Delivery and Customer Service at Centennial Technologies Inc. In his role, he focuses on driving excellence in customer service and building lasting partnerships with customers. Using over 30 years of experience delivering solutions in the areas of Digital Modernization, Enterprise Systems Implementation, Business Optimization, Financial Management Transformation, Business/Technology Transformation, and Shared Services.

 

Before joining Centennial, Brad was a Partner with Grant Thornton’s Public Sector practice where he led the Finance Transformation Service Line and Grant Thornton’s ERP Practice. Before Grant Thornton, Brad was a Principal at SRA, Inc., where he was a leader in Information Technology (IT) Systems Implementations, particularly in Federal Government Enterprise Resource Planning (ERP). He also has over five years of experience in the private sector at JPMorgan Chase as a Vice President specializing in Global Supply Chain implementations.

 

Brad earned his bachelor’s degree from DePauw University and is Project Management Professional (PMP) certified. He lives in Haymarket, Virginia, with his wife and two children. He coached both of his kids in baseball and basketball and now enjoys golfing and routing for all sports teams from Chicago.

Shabiha

Shabiha Yasmin

Director of Delivery and Customer Support

Shabiha Yasmin serves as the Director of Delivery and Customer Support at Centennial Technologies Inc., leveraging over 20 years of experience in the IT sector. With a process-oriented approach honed through extensive work with federal agencies such as CMS, FDA, EPA, and SSA, Shabiha excels in requirements elaboration, project definition, initialization, planning, and the successful delivery of complex technical projects. Known for her tenacity in securing stakeholder commitment to objectives, she excels in clarifying misaligned initiatives within strategic portfolios and resolving conflicts across cross-functional teams.

 

In her leadership role, Shabiha prioritizes exceeding client expectations by delivering innovative solutions, mentoring leaders, and staying abreast of emerging technologies.

 

Before joining Centennial, Shabiha served as a Program Manager at CareFirst, where she provided subject matter expertise in IT modernization, financial management, and business transformation initiatives. She focused on assembling robust and agile teams to support diverse federal agencies. Shabiha’s professional journey also includes holding leadership positions in technology divisions of esteemed organizations such as Northrop Grumman, Lockheed Martin, and CareFirst.

 

Shabiha holds a Bachelor of Business Administration with a major in Biochemistry and Botany, complemented by an MBA degree in IT and Marketing. She is a certified Project Management Professional (PMP), Certified Scrum Master (CSM), SAFE Agilist, and ITIL4 practitioner.

 

Shabiha resides in Clarksburg, Maryland, and is a proud parent of two children aged 20 and 13. Outside of work, she enjoys indulging her passions for rock music, attending concerts, embarking on hikes, exploring new destinations through travel, and engaging in various crafts.

prasad

Prasad Siddabathuni

Director of Technology

Prasad Siddabathuni is the Director of Technology at Centennial Technologies Inc. He provides invaluable technical and strategic leadership, solutions, and advisory services to our clients, partners, and internal teams.


With 25 years of experience in the technology domain, Prasad has a remarkable track record in delivering technical services and solutions across diverse IT sectors. He specializes in delivering integration, cloud, and data/AI strategies that drive enhanced process improvements and reduce costs. Prasad is adept at building and executing long-term product and service strategies across matrixed organizations, as well as in establishing and directing multinational technical and business teams. His proficiency areas include ownership and innovation, presales, architecture, transformation, delivery, M&A, integration, and field operations.


Prasad resides in Fairfax, Virginia, and enjoys traveling, playing the violin, and supporting local sports teams.

matt

Matthew Shields

Director of Delivery and Customer Support

Matthew Shields is the Director of Delivery and Customer Support at Centennial Technologies Inc. He excels in building and leading high-performing teams across multiple concurrent contracts in fast-paced, high-profile environments. With a focus on cultivating professional relationships with clients, Matt brings over 25 years of experience in federal consulting, account management, program management, contract execution, and quality management to his role at Centennial.


Before joining Centennial, Matt served as a Senior Program Manager at Halvik Corp., where he provided expert contract management, budgeting, financial management, and program management services to an Agency-level portfolio. He oversaw the efforts of multiple project managers, prioritizing the achievement of program objectives and the delivery of high-quality results while maintaining disciplined financial management practices. Before his tenure at Halvik, Matt was a Director at Evoke Consulting, where he supported Operations and Business Development, spearheading enterprise-level transformational initiatives across various government agencies.


Matt earned his bachelor’s degree from Washington College and holds certifications as a Certified Scrum Master (CSM) and Project Management Professional (PMP). He is trained in Capability Maturity Model Integration (CMMI), ISO standards, and Organizational Change Management (OCM).


A lifelong resident of Loudoun County, Virginia, Matt is passionate about adventure travel, hiking, and cycling in his leisure time. He and his wife take pride in being parents to two Eagle Scouts and are actively involved in volunteering with their sons’ troop.

ned

Ned Blackburn

Senior Director of Growth and Client Success

Ned Blackburn is the Senior Director of Growth and Client Success at Centennial Technologies Inc. In his role, he focuses on exceeding clients’ expectations through delivering innovative solutions, advising customers, and working with solution partners. Ned brings 25 years of experience in strategic account management, program management, and business development in the federal and commercial sectors to Centennial.

Before Centennial, Ned was a Director at Grant Thornton, providing subject matter expertise on IT modernization, financial management, and business transformation initiatives. He focused on building resilient and agile teams to support various federal agencies. Prior to Grant Thornton, Ned held several leadership positions in small and large businesses where he led business development, capture management, and vendor partnerships. He built and managed large teams specializing in Enterprise Resource Planning (ERP), Business Intelligence, and Data Warehousing solutions.

Ned earned his Bachelor of Business Administration from Ohio University, is a Project Management Professional (PMP), Certified Scrum Master (CSM), and ITIL4 certified. He lives in Ashburn, Virginia, with his wife and three children. He enjoys coaching little league baseball, playing golf, and cheering for Cleveland sports teams.

tony

Antonio "Tony" Hylton

Chief Strategy Officer​

Antonio “Tony” Hylton is Chief Strategy Officer for federal and state sectors at Centennial Technologies Inc. In this role, he develops service offerings, establishes strategic partnerships, and supports acquisitions. Tony brings over 30 years of public and private sector experience with business transformation, organizational change management, and innovative solutions to Centennial.

Before Centennial, Tony held various leadership positions at Verizon and managed over $100 million per quarter in sales. He guided the relationships with the National Association of State CIOs, National Association of State Technology Directors, US Conference of Mayors, and numerous state, local, and public safety agencies. Before Verizon, Tony served as Chief Information Officer (CIO) of Cook County, IL, where he led budget planning and execution, process optimizations, and technology innovation. Before Cook County, Tony held a variety of leadership positions with the Center for Digital Government (CDG), Dell-EMC, AT&T, and MCI.

Tony earned his bachelor’s degree from Northeastern University, is an accomplished Lean Six Sigma Black Belt, and Certified Scrum Master. He loves golf and watersport activities. He is a home chef with a specialty in Asian-Fusion and Japanese Cuisines.

mani

Mani Allu

Founder and Chief Executive Officer

Mani Allu is the Founder and Chief Executive Officer of Centennial Technologies Inc. With over 25 years of experience providing financial and technical solutions, Mani provides overall direction to the corporate growth strategies, differentiated capabilities, and company culture. He works directly with customers, employees, and partners daily and fosters the work environment to develop and deliver highly innovative solutions.

Before founding Centennial, Mani held leadership positions at Verizon, where he led operations and delivery of enterprise services for public and commercial sectors, supporting $240M in revenue. He focused on solutions that drove efficiency and effectiveness, including financial transformation, organizational development, business intelligence, data analytics, application and system modernization, cloud enablement, and cybersecurity. Before Verizon, Mani served as the Vice President at ADS Inc. and supported the telecommunications, financial, retail, and media sectors. He orchestrated the creation and management of service offerings, supervised partnerships, and supported mergers and acquisitions.

He earned his Master’s degree from West Virginia University and lives in Ashburn, Virginia, with his wife and kids. He enjoys tennis and supporting his home sports teams.